Displaying 20 results from an estimated 34 matches for "nouveau_vma_del".
2020 Feb 06
0
[PATCH 2/4] drm/nouveau: Move struct nouveau_framebuffer.vma to struct nouveau_fbdev
...chan->vmm, &fb->vma);
+		ret = nouveau_vma_new(nvbo, chan->vmm, &fbcon->vma);
 		if (ret) {
 			NV_ERROR(drm, "failed to map fb into chan: %d\n", ret);
 			chan = NULL;
@@ -400,7 +400,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
 
 out_unlock:
 	if (chan)
-		nouveau_vma_del(&fb->vma);
+		nouveau_vma_del(&fbcon->vma);
 	nouveau_bo_unmap(fb->nvbo);
 out_unpin:
 	nouveau_bo_unpin(fb->nvbo);
@@ -419,7 +419,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
 	drm_fb_helper_fini(&fbcon->helper);
 
 	if (nouveau_fb &...
2020 Feb 06
5
[PATCH 0/4] drm/nouveau: Remove struct nouveau_framebuffer
All fields in struct nouveau_framebuffer appear to be obsolete. The
data structure can be replaced by struct drm_framebuffer entirely.
Patch 1 removes several unused fields from struct nouveau_framebuffer.
Patch 2 moves the field vma to struct nouveau_fbdev. The information
in vma is only relevant for fbdev emulation, and as such he field is
only used there.
Patch 3 removes nvbo from struct
2018 Jun 18
4
[PATCH 0/4] drm/nouveau: Replace {un/reference} with {put, get} functions
This patch set replaces functions named {un,reference} by their
{put,get} counterparts. Affected data types are struct drm_connector,
struct drm_framebuffer, struct drm_gem_object, and struct drm_device.
With the reference-counting functions being named {put,get}, the DRM
interface is more aligned to Linux kernel nameing standard. The patch
set does not change driver-internal interfaces.
Thomas
2017 Nov 06
0
[PATCH] fbcon: fix NULL pointer access in nouveau_fbcon_destroy
...eau/nouveau_fbcon.c
@@ -429,7 +429,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
 	drm_fb_helper_unregister_fbi(&fbcon->helper);
 	drm_fb_helper_fini(&fbcon->helper);
 
-	if (nouveau_fb->nvbo) {
+	if (nouveau_fb && nouveau_fb->nvbo) {
 		nouveau_vma_del(&nouveau_fb->vma);
 		nouveau_bo_unmap(nouveau_fb->nvbo);
 		nouveau_bo_unpin(nouveau_fb->nvbo);
-- 
2.14.2
2018 Jun 18
0
[PATCH 2/4] drm/nouveau: Replace drm_framebuffer_{un/reference} with put, get functions
...drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index 85c1f10bc2b6..844498c4267c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -429,7 +429,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
 		nouveau_vma_del(&nouveau_fb->vma);
 		nouveau_bo_unmap(nouveau_fb->nvbo);
 		nouveau_bo_unpin(nouveau_fb->nvbo);
-		drm_framebuffer_unreference(&nouveau_fb->base);
+		drm_framebuffer_put(&nouveau_fb->base);
 	}
 
 	return 0;
-- 
2.14.4
2020 Aug 27
0
5.8.4: WARNING at drivers/gpu/drm/nouveau/nvif/vmm.c:68
...0000000(0000) GS:ffff9ea0ced80000(0000) knlGS:0000000000000000
[Thu Aug 27 15:40:48 2020] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Thu Aug 27 15:40:48 2020] CR2: 00007fb2f154a5ca CR3: 00000003f623e003 CR4: 00000000001606e0
[Thu Aug 27 15:40:48 2020] Call Trace:
[Thu Aug 27 15:40:48 2020]  nouveau_vma_del+0x73/0xc0
[Thu Aug 27 15:40:48 2020]  nouveau_gem_object_delete_work+0x31/0x60
[Thu Aug 27 15:40:48 2020]  nouveau_cli_work+0xc7/0x120
[Thu Aug 27 15:40:48 2020]  process_one_work+0x185/0x2d0
[Thu Aug 27 15:40:48 2020]  worker_thread+0x4b/0x390
[Thu Aug 27 15:40:48 2020]  ? process_one_work+0x2d0/0...
2020 Feb 06
5
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...->helper);
>   	drm_fb_helper_fini(&fbcon->helper);
>   
> -	if (nouveau_fb && nouveau_fb->base.obj[0]) {
> -		nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]);
> +	if (fb && fb->obj[0]) {
> +		nvbo = nouveau_gem_object(fb->obj[0]);
>   		nouveau_vma_del(&fbcon->vma);
>   		nouveau_bo_unmap(nvbo);
>   		nouveau_bo_unpin(nvbo);
> -		drm_framebuffer_put(&nouveau_fb->base);
> +		drm_framebuffer_put(fb);
>   	}
>   
>   	return 0;
>
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...resizeing without swapping buffers */
-	NV_INFO(drm, "allocated %dx%d fb: 0x%llx, bo %p\n",
-		fb->width, fb->height, nvbo->offset, nvbo);
-
-	if (dev_is_pci(dev->dev))
-		vga_switcheroo_client_fb_set(to_pci_dev(dev->dev), info);
-
-	return 0;
-
-out_unlock:
-	if (chan)
-		nouveau_vma_del(&fbcon->vma);
-	nouveau_bo_unmap(nvbo);
-out_unpin:
-	nouveau_bo_unpin(nvbo);
-out_unref:
-	nouveau_bo_ref(NULL, &nvbo);
-out:
-	return ret;
-}
-
-static int
-nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
-{
-	struct drm_framebuffer *fb = fbcon->helper.fb;...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...-               fb->width, fb->height, nvbo->offset, nvbo);
> -
> -       if (dev_is_pci(dev->dev))
> -               vga_switcheroo_client_fb_set(to_pci_dev(dev->dev), info);
> -
> -       return 0;
> -
> -out_unlock:
> -       if (chan)
> -               nouveau_vma_del(&fbcon->vma);
> -       nouveau_bo_unmap(nvbo);
> -out_unpin:
> -       nouveau_bo_unpin(nvbo);
> -out_unref:
> -       nouveau_bo_ref(NULL, &nvbo);
> -out:
> -       return ret;
> -}
> -
> -static int
> -nouveau_fbcon_destroy(struct drm_device *dev, stru...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...t;height, nvbo->offset, nvbo);
>> -
>> -       if (dev_is_pci(dev->dev))
>> -               vga_switcheroo_client_fb_set(to_pci_dev(dev->dev), info);
>> -
>> -       return 0;
>> -
>> -out_unlock:
>> -       if (chan)
>> -               nouveau_vma_del(&fbcon->vma);
>> -       nouveau_bo_unmap(nvbo);
>> -out_unpin:
>> -       nouveau_bo_unpin(nvbo);
>> -out_unref:
>> -       nouveau_bo_ref(NULL, &nvbo);
>> -out:
>> -       return ret;
>> -}
>> -
>> -static int
>> -nouvea...
2020 Nov 20
0
nouveau: WARNING: CPU: 0 PID: 20957 at drivers/gpu/drm/nouveau/nvif/vmm.c:71
...: ffff888102fa9308
[15561.391697] FS:  0000000000000000(0000) GS:ffff88841ec00000(0000) knlGS:0000000000000000
[15561.391698] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[15561.391700] CR2: 00007fd692058000 CR3: 0000000003c10002 CR4: 00000000001706f0
[15561.391701] Call Trace:
[15561.391729]  nouveau_vma_del+0x58/0xa0 [nouveau]
[15561.391755]  nouveau_gem_object_delete_work+0x26/0x40 [nouveau]
[15561.391782]  nouveau_cli_work+0x76/0x120 [nouveau]
[15561.391786]  ? __schedule+0x35c/0x770
[15561.391790]  process_one_work+0x1f5/0x3c0
[15561.391792]  ? process_one_work+0x3c0/0x3c0
[15561.391794]  worker_th...
2018 Jun 18
0
[PATCH 3/4] drm/nouveau: Replace drm_gem_object_unreference_unlocked with put function
...rm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index e2211bb2cf79..e67a471331b5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -139,7 +139,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
 	if (chan->ntfy) {
 		nouveau_vma_del(&chan->ntfy_vma);
 		nouveau_bo_unpin(chan->ntfy);
-		drm_gem_object_unreference_unlocked(&chan->ntfy->gem);
+		drm_gem_object_put_unlocked(&chan->ntfy->gem);
 	}
 
 	if (chan->heap.block_size)
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...er);
>>>  ? -??? if (nouveau_fb && nouveau_fb->base.obj[0]) {
>>> -??????? nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]);
>>> +??? if (fb && fb->obj[0]) {
>>> +??????? nvbo = nouveau_gem_object(fb->obj[0]);
>>>  ????????? nouveau_vma_del(&fbcon->vma);
>>>  ????????? nouveau_bo_unmap(nvbo);
>>>  ????????? nouveau_bo_unpin(nvbo);
>>> -??????? drm_framebuffer_put(&nouveau_fb->base);
>>> +??????? drm_framebuffer_put(fb);
>>>  ????? }
>>>  ? ????? return 0;
>>>...
2020 Feb 06
0
[PATCH 3/4] drm/nouveau: Remove field nvbo from struct nouveau_framebuffer
...se.width, fb->base.height, fb->nvbo->bo.offset, nvbo);
+		fb->base.width, fb->base.height, nvbo->bo.offset, nvbo);
 
 	vga_switcheroo_client_fb_set(dev->pdev, info);
 	return 0;
@@ -401,11 +401,11 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
 out_unlock:
 	if (chan)
 		nouveau_vma_del(&fbcon->vma);
-	nouveau_bo_unmap(fb->nvbo);
+	nouveau_bo_unmap(nvbo);
 out_unpin:
-	nouveau_bo_unpin(fb->nvbo);
+	nouveau_bo_unpin(nvbo);
 out_unref:
-	nouveau_bo_ref(NULL, &fb->nvbo);
+	nouveau_bo_ref(NULL, &nvbo);
 out:
 	return ret;
 }
@@ -414,14 +414,16 @@ static int
 no...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...helper);
>>> -??? if (nouveau_fb && nouveau_fb->base.obj[0]) {
>>> -??????? nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]);
>>> +??? if (fb && fb->obj[0]) {
>>> +??????? nvbo = nouveau_gem_object(fb->obj[0]);
>>> ????????? nouveau_vma_del(&fbcon->vma);
>>> ????????? nouveau_bo_unmap(nvbo);
>>> ????????? nouveau_bo_unpin(nvbo);
>>> -??????? drm_framebuffer_put(&nouveau_fb->base);
>>> +??????? drm_framebuffer_put(fb);
>>> ????? }
>>> ????? return 0;
>>>
>&...
2023 Jan 10
1
[PATCH v2] drm/nouveau: Remove file nouveau_fbcon.c
...resizeing without swapping buffers */
-	NV_INFO(drm, "allocated %dx%d fb: 0x%llx, bo %p\n",
-		fb->width, fb->height, nvbo->offset, nvbo);
-
-	if (dev_is_pci(dev->dev))
-		vga_switcheroo_client_fb_set(to_pci_dev(dev->dev), info);
-
-	return 0;
-
-out_unlock:
-	if (chan)
-		nouveau_vma_del(&fbcon->vma);
-	nouveau_bo_unmap(nvbo);
-out_unpin:
-	nouveau_bo_unpin(nvbo);
-out_unref:
-	nouveau_bo_ref(NULL, &nvbo);
-out:
-	return ret;
-}
-
-static int
-nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
-{
-	struct drm_framebuffer *fb = fbcon->helper.fb;...
2020 Oct 20
0
RIP: 0010:g84_gr_tlb_flush+0x2eb/0x300
...x130 [nouveau]
Oct 20 08:44:13 vostrodell kernel: [55669.832045]  ? sched_clock+0x5/0x10
Oct 20 08:44:13 vostrodell kernel: [55669.832048]  ? sched_clock_cpu+0xc/0xb0
Oct 20 08:44:13 vostrodell kernel: [55669.832068]
nvif_vmm_put+0x5c/0x80 [nouveau]
Oct 20 08:44:13 vostrodell kernel: [55669.832101]
nouveau_vma_del+0x78/0xc0 [nouveau]
Oct 20 08:44:13 vostrodell kernel: [55669.832135]
nouveau_gem_object_delete_work+0x36/0x60 [nouveau]
Oct 20 08:44:13 vostrodell kernel: [55669.832168]
nouveau_cli_work+0xc9/0x120 [nouveau]
Oct 20 08:44:13 vostrodell kernel: [55669.832171]  process_one_work+0x1ad/0x370
Oct 20 08:...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...u_fb && nouveau_fb->base.obj[0]) {
> >>>> -        nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]);
> >>>> +    if (fb && fb->obj[0]) {
> >>>> +        nvbo = nouveau_gem_object(fb->obj[0]);
> >>>>            nouveau_vma_del(&fbcon->vma);
> >>>>            nouveau_bo_unmap(nvbo);
> >>>>            nouveau_bo_unpin(nvbo);
> >>>> -        drm_framebuffer_put(&nouveau_fb->base);
> >>>> +        drm_framebuffer_put(fb);
> >>>>        }...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t;base.obj[0]) {
>>>>>>> -        nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]);
>>>>>>> +    if (fb && fb->obj[0]) {
>>>>>>> +        nvbo = nouveau_gem_object(fb->obj[0]);
>>>>>>>             nouveau_vma_del(&fbcon->vma);
>>>>>>>             nouveau_bo_unmap(nvbo);
>>>>>>>             nouveau_bo_unpin(nvbo);
>>>>>>> -        drm_framebuffer_put(&nouveau_fb->base);
>>>>>>> +        drm_framebuffer_put(fb);...
2019 Jun 21
0
[PATCH v2 06/18] drm/nouveau: use embedded gem object
...rm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index c3fd5dd39ed9..94387e62b338 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -139,7 +139,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
 	if (chan->ntfy) {
 		nouveau_vma_del(&chan->ntfy_vma);
 		nouveau_bo_unpin(chan->ntfy);
-		drm_gem_object_put_unlocked(&chan->ntfy->gem);
+		drm_gem_object_put_unlocked(&chan->ntfy->bo.base);
 	}
 
 	if (chan->heap.block_size)
@@ -345,7 +345,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)...