search for: drm_fb_helper_unregister_fbi

Displaying 20 results from an estimated 40 matches for "drm_fb_helper_unregister_fbi".

2017 Nov 06
0
[PATCH] fbcon: fix NULL pointer access in nouveau_fbcon_destroy
...1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nouveau_fbcon.c b/drm/nouveau/nouveau_fbcon.c index c533d8e0..be7357bf 100644 --- a/drm/nouveau/nouveau_fbcon.c +++ b/drm/nouveau/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
2020 Feb 06
5
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...static int > nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) > { > - struct nouveau_framebuffer *nouveau_fb = nouveau_framebuffer(fbcon->helper.fb); > + struct drm_framebuffer *fb = fbcon->helper.fb; > struct nouveau_bo *nvbo; > > drm_fb_helper_unregister_fbi(&fbcon->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])...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...uveau_fbdev >>> *fbcon) >>> ? { >>> -??? struct nouveau_framebuffer *nouveau_fb = >>> nouveau_framebuffer(fbcon->helper.fb); >>> +??? struct drm_framebuffer *fb = fbcon->helper.fb; >>> ????? struct nouveau_bo *nvbo; >>> ? ????? drm_fb_helper_unregister_fbi(&fbcon->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]) { >&...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...nouveau_fbdev >>> *fbcon) >>> ? { >>> -??? struct nouveau_framebuffer *nouveau_fb = >>> nouveau_framebuffer(fbcon->helper.fb); >>> +??? struct drm_framebuffer *fb = fbcon->helper.fb; >>> ????? struct nouveau_bo *nvbo; >>> ????? drm_fb_helper_unregister_fbi(&fbcon->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]) { >>&...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...{ > >>>> - struct nouveau_framebuffer *nouveau_fb = > >>>> nouveau_framebuffer(fbcon->helper.fb); > >>>> + struct drm_framebuffer *fb = fbcon->helper.fb; > >>>> struct nouveau_bo *nvbo; > >>>> drm_fb_helper_unregister_fbi(&fbcon->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 (...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...struct nouveau_framebuffer *nouveau_fb = >>>>>>> nouveau_framebuffer(fbcon->helper.fb); >>>>>>> + struct drm_framebuffer *fb = fbcon->helper.fb; >>>>>>> struct nouveau_bo *nvbo; >>>>>>> drm_fb_helper_unregister_fbi(&fbcon->helper); >>>>>>> drm_fb_helper_fini(&fbcon->helper); >>>>>>> - if (nouveau_fb && nouveau_fb->base.obj[0]) { >>>>>>> - nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]); >>...
2018 Dec 17
0
[PATCH 4/7] drm: Move the legacy kms disable_all helper to crtc helpers
...cf..75f867d00031 100644 --- a/drivers/gpu/drm/ast/ast_fb.c +++ b/drivers/gpu/drm/ast/ast_fb.c @@ -261,7 +261,7 @@ static void ast_fbdev_destroy(struct drm_device *dev, { struct ast_framebuffer *afb = &afbdev->afb; - drm_crtc_force_disable_all(dev); + drm_helper_force_disable_all(dev); drm_fb_helper_unregister_fbi(&afbdev->helper); if (afb->obj) { diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index f660819d406e..7dabbaf033a1 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -104,37 +104,6 @@ int drm_crtc_force_disable(struct drm_crtc *crtc) ret...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...con_create(struct drm_fb_helper *helper, static int nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) { - struct nouveau_framebuffer *nouveau_fb = nouveau_framebuffer(fbcon->helper.fb); + struct drm_framebuffer *fb = fbcon->helper.fb; struct nouveau_bo *nvbo; drm_fb_helper_unregister_fbi(&fbcon->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-...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ruct drm_device *dev, struct nouveau_fbdev >> *fbcon) >> ? { >> -??? struct nouveau_framebuffer *nouveau_fb = >> nouveau_framebuffer(fbcon->helper.fb); >> +??? struct drm_framebuffer *fb = fbcon->helper.fb; >> ????? struct nouveau_bo *nvbo; >> ????? drm_fb_helper_unregister_fbi(&fbcon->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 =...
2018 Dec 13
1
[PATCH] drm/virtio: switch to generic fbdev emulation
...t_detach(vgdev, obj); -err_obj_attach: -err_obj_vmap: - virtio_gpu_gem_free_object(&obj->gem_base); - return ret; -} - -static int virtio_gpu_fbdev_destroy(struct drm_device *dev, - struct virtio_gpu_fbdev *vgfbdev) -{ - struct virtio_gpu_framebuffer *vgfb = &vgfbdev->vgfb; - - drm_fb_helper_unregister_fbi(&vgfbdev->helper); - - if (vgfb->base.obj[0]) - vgfb->base.obj[0] = NULL; - drm_fb_helper_fini(&vgfbdev->helper); - drm_framebuffer_cleanup(&vgfb->base); - - return 0; -} -static const struct drm_fb_helper_funcs virtio_gpu_fb_helper_funcs = { - .fb_probe = virtio_gpufb_c...
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
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ruct drm_device *dev, struct nouveau_fbdev >> *fbcon) >> ? { >> -??? struct nouveau_framebuffer *nouveau_fb = >> nouveau_framebuffer(fbcon->helper.fb); >> +??? struct drm_framebuffer *fb = fbcon->helper.fb; >> ????? struct nouveau_bo *nvbo; >> ? ????? drm_fb_helper_unregister_fbi(&fbcon->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...
2020 Feb 07
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...*fbcon) >>>> ?? { >>>> -??? struct nouveau_framebuffer *nouveau_fb = >>>> nouveau_framebuffer(fbcon->helper.fb); >>>> +??? struct drm_framebuffer *fb = fbcon->helper.fb; >>>> ?????? struct nouveau_bo *nvbo; >>>> ?? ????? drm_fb_helper_unregister_fbi(&fbcon->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-&gt...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...*fbcon) > >>> { > >>> - struct nouveau_framebuffer *nouveau_fb = > >>> nouveau_framebuffer(fbcon->helper.fb); > >>> + struct drm_framebuffer *fb = fbcon->helper.fb; > >>> struct nouveau_bo *nvbo; > >>> drm_fb_helper_unregister_fbi(&fbcon->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-&gt...
2018 Sep 05
0
[PATCH] bochs: convert to drm_fb_helper_fbdev_setup/teardown
...gt;fix.smem_len = size; > - > - bochs->fb.initialized = true; > - return 0; > -} > - > -static int bochs_fbdev_destroy(struct bochs_device *bochs) > -{ > - struct bochs_framebuffer *gfb = &bochs->fb.gfb; > - > - DRM_DEBUG_DRIVER("\n"); > - > - drm_fb_helper_unregister_fbi(&bochs->fb.helper); > - > - if (gfb->obj) { > - drm_gem_object_unreference_unlocked(gfb->obj); > - gfb->obj = NULL; > - } > - > - drm_framebuffer_unregister_private(&gfb->base); > - drm_framebuffer_cleanup(&gfb->base); > - > return 0;...
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...gt;>>> - struct nouveau_framebuffer *nouveau_fb = >>>>>> nouveau_framebuffer(fbcon->helper.fb); >>>>>> + struct drm_framebuffer *fb = fbcon->helper.fb; >>>>>> struct nouveau_bo *nvbo; >>>>>> drm_fb_helper_unregister_fbi(&fbcon->helper); >>>>>> drm_fb_helper_fini(&fbcon->helper); >>>>>> - if (nouveau_fb && nouveau_fb->base.obj[0]) { >>>>>> - nvbo = nouveau_gem_object(nouveau_fb->base.obj[0]); >>>>>&g...
2018 Jul 05
4
[PATCH 0/2] drm/nouveau: Fix panic on nouveau unload.
If have a couple patches I found while looking at a panic I was seeing while unloading the nouveau module. Unloading the nouveau module on my optimus notebook machine causes the system to panic. This started occuring when moving from 4.4 to 4.14. These patches make it such that the system does not panic when unloading the module. 4.14 also requires commit 34112bf4935d ("drm/nouveau/fbcon:
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...amebuffer *nouveau_fb = > >>>>>>> nouveau_framebuffer(fbcon->helper.fb); > >>>>>>> + struct drm_framebuffer *fb = fbcon->helper.fb; > >>>>>>> struct nouveau_bo *nvbo; > >>>>>>> drm_fb_helper_unregister_fbi(&fbcon->helper); > >>>>>>> drm_fb_helper_fini(&fbcon->helper); > >>>>>>> - if (nouveau_fb && nouveau_fb->base.obj[0]) { > >>>>>>> - nvbo = nouveau_gem_object(nouveau_fb->base.ob...
2019 Jul 03
0
[PATCH 5/5] drm/mgag200: Replace struct mga_fbdev with generic framebuffer emulation
..._KMS("allocated %dx%d\n", - fb->width, fb->height); - - return 0; - -err_vfree: - vfree(sysram); -err_drm_gem_object_put_unlocked: - drm_gem_object_put_unlocked(gobj); - return ret; -} - -static int mga_fbdev_destroy(struct drm_device *dev, - struct mga_fbdev *mfbdev) -{ - drm_fb_helper_unregister_fbi(&mfbdev->helper); - drm_fb_helper_fini(&mfbdev->helper); - drm_framebuffer_put(mfbdev->helper.fb); - - vfree(mfbdev->sysram); - - return 0; -} - -static const struct drm_fb_helper_funcs mga_fb_helper_funcs = { - .fb_probe = mgag200fb_create, -}; - -int mgag200_fbdev_init(struct...
2019 Jul 03
0
[PATCH 3/5] drm/ast: Replace struct ast_fbdev with generic framebuffer emulation
...;height); - - return 0; - -out: - vfree(sysram); - return ret; -} - -static const struct drm_fb_helper_funcs ast_fb_helper_funcs = { - .fb_probe = astfb_create, -}; - -static void ast_fbdev_destroy(struct drm_device *dev, - struct ast_fbdev *afbdev) -{ - drm_helper_force_disable_all(dev); - drm_fb_helper_unregister_fbi(&afbdev->helper); - - drm_fb_helper_fini(&afbdev->helper); - drm_framebuffer_put(afbdev->helper.fb); - - vfree(afbdev->sysram); -} - -int ast_fbdev_init(struct drm_device *dev) -{ - struct ast_private *ast = dev->dev_private; - struct ast_fbdev *afbdev; - int ret; - - afbdev...