Searched hist:"7147573 a5ce499dec3979e6b524691d47e1288d5" (Results 1 – 3 of 3) sorted by relevance
/openbmc/linux/drivers/gpu/drm/gma500/ |
H A D | psb_drv.c | diff 7147573a5ce499dec3979e6b524691d47e1288d5 Sun Dec 02 14:55:41 CST 2012 Daniel Vetter <daniel.vetter@ffwll.ch> drm/gma500: move fbcon restore to lastclose
Doing this within the fb->destroy callback leads to a locking nightmare. And all other drm drivers that restore the fbcon do it in lastclose, too.
With this adjustments all fb->destroy callbacks optionally drop references to any gem objects used as backing storage, call drm_framebuffer_cleanup and then kfree the struct. Which nicely simplifies the locking for framebuffer unreferencing and freeing, since this doesn't require that we hold the mode_config lock. A slight exception is the vmwgfx surface backed framebuffer, it also calls drm_master_put and removes the object from a device-private framebuffer list. Both seem to have solid locking in place already.
Conclusion is that now it is no longer required to hold the mode_config lock while freeing a framebuffer.
v2: Drop the corresponding mutex_lock WARN check from drm_framebuffer_unreference.
v3: Use just the mode_config lock not modeset_lock_all, due to patch reordering.
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
H A D | framebuffer.c | diff 7147573a5ce499dec3979e6b524691d47e1288d5 Sun Dec 02 14:55:41 CST 2012 Daniel Vetter <daniel.vetter@ffwll.ch> drm/gma500: move fbcon restore to lastclose
Doing this within the fb->destroy callback leads to a locking nightmare. And all other drm drivers that restore the fbcon do it in lastclose, too.
With this adjustments all fb->destroy callbacks optionally drop references to any gem objects used as backing storage, call drm_framebuffer_cleanup and then kfree the struct. Which nicely simplifies the locking for framebuffer unreferencing and freeing, since this doesn't require that we hold the mode_config lock. A slight exception is the vmwgfx surface backed framebuffer, it also calls drm_master_put and removes the object from a device-private framebuffer list. Both seem to have solid locking in place already.
Conclusion is that now it is no longer required to hold the mode_config lock while freeing a framebuffer.
v2: Drop the corresponding mutex_lock WARN check from drm_framebuffer_unreference.
v3: Use just the mode_config lock not modeset_lock_all, due to patch reordering.
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_crtc.c | diff 7147573a5ce499dec3979e6b524691d47e1288d5 Sun Dec 02 14:55:41 CST 2012 Daniel Vetter <daniel.vetter@ffwll.ch> drm/gma500: move fbcon restore to lastclose
Doing this within the fb->destroy callback leads to a locking nightmare. And all other drm drivers that restore the fbcon do it in lastclose, too.
With this adjustments all fb->destroy callbacks optionally drop references to any gem objects used as backing storage, call drm_framebuffer_cleanup and then kfree the struct. Which nicely simplifies the locking for framebuffer unreferencing and freeing, since this doesn't require that we hold the mode_config lock. A slight exception is the vmwgfx surface backed framebuffer, it also calls drm_master_put and removes the object from a device-private framebuffer list. Both seem to have solid locking in place already.
Conclusion is that now it is no longer required to hold the mode_config lock while freeing a framebuffer.
v2: Drop the corresponding mutex_lock WARN check from drm_framebuffer_unreference.
v3: Use just the mode_config lock not modeset_lock_all, due to patch reordering.
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|