search for: nvif_object_dtor

Displaying 14 results from an estimated 14 matches for "nvif_object_dtor".

2023 May 26
1
[PATCH v2] drm/nouveau: bring back blit subchannel for pre nv50 GPUs
...s/gpu/drm/nouveau/nouveau_chan.c > +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c > @@ -90,6 +90,7 @@ nouveau_channel_del(struct nouveau_channel **pchan) > if (cli) > nouveau_svmm_part(chan->vmm->svmm, chan->inst); > > + nvif_object_dtor(&chan->blit); > nvif_object_dtor(&chan->nvsw); > nvif_object_dtor(&chan->gart); > nvif_object_dtor(&chan->vram); > diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.h b/drivers/gpu/drm/nouveau/nouveau_chan.h &gt...
2023 May 26
2
[PATCH v2] drm/nouveau: bring back blit subchannel for pre nv50 GPUs
...ouveau/nouveau_chan.c index e648ecd0c1a0..3dfbc374478e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -90,6 +90,7 @@ nouveau_channel_del(struct nouveau_channel **pchan) if (cli) nouveau_svmm_part(chan->vmm->svmm, chan->inst); + nvif_object_dtor(&chan->blit); nvif_object_dtor(&chan->nvsw); nvif_object_dtor(&chan->gart); nvif_object_dtor(&chan->vram); diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.h b/drivers/gpu/drm/nouveau/nouveau_chan.h index e06a8ffed31a..bad7466bd0d5 100644 --- a/drivers/gpu/drm/...
2023 May 15
0
[PATCH] drm/nouveau: bring back blit subchannel for pre nv50 GPUs
...ouveau/nouveau_chan.c index e648ecd0c1a0..3dfbc374478e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -90,6 +90,7 @@ nouveau_channel_del(struct nouveau_channel **pchan) if (cli) nouveau_svmm_part(chan->vmm->svmm, chan->inst); + nvif_object_dtor(&chan->blit); nvif_object_dtor(&chan->nvsw); nvif_object_dtor(&chan->gart); nvif_object_dtor(&chan->vram); diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.h b/drivers/gpu/drm/nouveau/nouveau_chan.h index e06a8ffed31a..bad7466bd0d5 100644 --- a/drivers/gpu/drm/...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...au_drm *drm = nouveau_drm(dev); - struct nouveau_fbdev *fbcon = drm->fbcon; - if (fbcon && drm->channel) { - console_lock(); - if (fbcon->helper.info) - fbcon->helper.info->flags |= FBINFO_HWACCEL_DISABLED; - console_unlock(); - nouveau_channel_idle(drm->channel); - nvif_object_dtor(&fbcon->twod); - nvif_object_dtor(&fbcon->blit); - nvif_object_dtor(&fbcon->gdi); - nvif_object_dtor(&fbcon->patt); - nvif_object_dtor(&fbcon->rop); - nvif_object_dtor(&fbcon->clip); - nvif_object_dtor(&fbcon->surf2d); - } -} - -static void -no...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...el) { > - console_lock(); > - if (fbcon->helper.info) > - fbcon->helper.info->flags |= FBINFO_HWACCEL_DISABLED; > - console_unlock(); > - nouveau_channel_idle(drm->channel); > - nvif_object_dtor(&fbcon->twod); > - nvif_object_dtor(&fbcon->blit); > - nvif_object_dtor(&fbcon->gdi); > - nvif_object_dtor(&fbcon->patt); > - nvif_object_dtor(&fbcon->rop); > - nvif_object_dtor(&...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...console_lock(); >> - if (fbcon->helper.info) >> - fbcon->helper.info->flags |= FBINFO_HWACCEL_DISABLED; >> - console_unlock(); >> - nouveau_channel_idle(drm->channel); >> - nvif_object_dtor(&fbcon->twod); >> - nvif_object_dtor(&fbcon->blit); >> - nvif_object_dtor(&fbcon->gdi); >> - nvif_object_dtor(&fbcon->patt); >> - nvif_object_dtor(&fbcon->rop); >> -...
2023 Jan 10
1
[PATCH v2] drm/nouveau: Remove file nouveau_fbcon.c
...au_drm *drm = nouveau_drm(dev); - struct nouveau_fbdev *fbcon = drm->fbcon; - if (fbcon && drm->channel) { - console_lock(); - if (fbcon->helper.info) - fbcon->helper.info->flags |= FBINFO_HWACCEL_DISABLED; - console_unlock(); - nouveau_channel_idle(drm->channel); - nvif_object_dtor(&fbcon->twod); - nvif_object_dtor(&fbcon->blit); - nvif_object_dtor(&fbcon->gdi); - nvif_object_dtor(&fbcon->patt); - nvif_object_dtor(&fbcon->rop); - nvif_object_dtor(&fbcon->clip); - nvif_object_dtor(&fbcon->surf2d); - } -} - -static void -no...
2024 May 24
1
[PATCH v3] drm/nouveau/nvif: Avoid build error due to potential integer overflows
...args); @@ -276,7 +281,15 @@ nvif_object_ctor(struct nvif_object *parent, const char *name, u32 handle, object->map.size = 0; if (parent) { - if (!(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { + u32 args_size; + + if (check_add_overflow(sizeof(*args), size, &args_size)) { + nvif_object_dtor(object); + return -ENOMEM; + } + + args = kmalloc(args_size, GFP_KERNEL); + if (!args) { nvif_object_dtor(object); return -ENOMEM; } @@ -293,8 +306,7 @@ nvif_object_ctor(struct nvif_object *parent, const char *name, u32 handle, args->new.oclass = oclass; memcpy(args->n...
2024 May 18
1
[PATCH v2] drm/nouveau/nvif: Avoid build error due to potential integer overflows
...args); @@ -276,7 +280,14 @@ nvif_object_ctor(struct nvif_object *parent, const char *name, u32 handle, object->map.size = 0; if (parent) { - if (!(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { + u32 args_size; + + if (check_add_overflow(sizeof(*args), size, &args_size)) { + nvif_object_dtor(object); + return -ENOMEM; + } + + if (!(args = kmalloc(args_size, GFP_KERNEL))) { nvif_object_dtor(object); return -ENOMEM; } @@ -293,8 +304,7 @@ nvif_object_ctor(struct nvif_object *parent, const char *name, u32 handle, args->new.oclass = oclass; memcpy(args->new.data...
2024 May 18
1
[PATCH] drm/nouveau/nvif: Avoid build error due to potential integer overflows
...ck; @@ -276,7 +277,8 @@ nvif_object_ctor(struct nvif_object *parent, const char *name, u32 handle, object->map.size = 0; if (parent) { - if (!(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { + if (size > INT_MAX || + !(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { nvif_object_dtor(object); return -ENOMEM; } -- 2.39.2
2024 Aug 08
0
[bug report] drm/nouveau: use GEM references instead of TTMs
...2804 static void 2805 nv50_display_destroy(struct drm_device *dev) 2806 { 2807 struct nv50_disp *disp = nv50_disp(dev); 2808 2809 nv50_audio_component_fini(nouveau_drm(dev)); 2810 2811 nvif_object_unmap(&disp->caps); 2812 nvif_object_dtor(&disp->caps); 2813 nv50_core_del(&disp->core); 2814 2815 nouveau_bo_unmap(disp->sync); 2816 if (disp->sync) ^^^^^^^^^^ Check for NULL 2817 nouveau_bo_unpin(disp->sync); --> 2818 nouv...
2020 Oct 23
0
kvm+nouveau induced lockdep gripe
...nvkm_udevice_fini+0x23/0x70 [nouveau] [ 70.135927] nvkm_object_fini+0xb8/0x210 [nouveau] [ 70.135951] nvkm_object_fini+0x73/0x210 [nouveau] [ 70.135974] nvkm_ioctl_del+0x7e/0xa0 [nouveau] [ 70.135997] nvkm_ioctl+0x10a/0x240 [nouveau] [ 70.136019] nvif_object_dtor+0x4a/0x60 [nouveau] [ 70.136040] nvif_client_dtor+0xe/0x40 [nouveau] [ 70.136085] nouveau_cli_fini+0x7a/0x90 [nouveau] [ 70.136128] nouveau_drm_postclose+0xaa/0xe0 [nouveau] [ 70.136150] drm_file_free.part.7+0x273/0x2c0 [drm] [ 70.136165] drm_release+0x6...
2024 May 18
1
[PATCH] drm/nouveau/nvif: Avoid build error due to potential integer overflows
...f_object *parent, const char *name, u32 handle, > object->map.size = 0; > > if (parent) { > - if (!(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { > + if (size > INT_MAX || > + !(args = kmalloc(sizeof(*args) + size, GFP_KERNEL))) { Same. CJ > nvif_object_dtor(object); > return -ENOMEM; > }
2020 Oct 24
1
kvm+nouveau induced lockdep gripe
...+0x23/0x70 [nouveau] > [ 70.135927] nvkm_object_fini+0xb8/0x210 [nouveau] > [ 70.135951] nvkm_object_fini+0x73/0x210 [nouveau] > [ 70.135974] nvkm_ioctl_del+0x7e/0xa0 [nouveau] > [ 70.135997] nvkm_ioctl+0x10a/0x240 [nouveau] > [ 70.136019] nvif_object_dtor+0x4a/0x60 [nouveau] > [ 70.136040] nvif_client_dtor+0xe/0x40 [nouveau] > [ 70.136085] nouveau_cli_fini+0x7a/0x90 [nouveau] > [ 70.136128] nouveau_drm_postclose+0xaa/0xe0 [nouveau] > [ 70.136150] drm_file_free.part.7+0x273/0x2c0 [drm] > [ 70.13616...