On Fri, Sep 8, 2017 at 6:33 PM, Daniel Vetter <daniel@xxxxxxxx> wrote: > Hi Noralf, > > On Fri, Sep 08, 2017 at 05:07:19PM +0200, Noralf Trønnes wrote: >> This adds device unplug support to drm_fb_helper, drm_fb_cma_helper >> (fbdev) and tinydrm. >> >> There are several changes in this version: >> >> I've used Daniel's idea of protecting drm_device.unplugged with srcu to >> provide race free drm_dev_unplug(). >> >> The fbdev helper unplug patch has become very small with Daniel's help. >> Ref is now taken and dropped in the existing helpers, so I could drop >> drm_fb_helper_simple_init(). >> >> I has annoyed me that fbdev is restored in drm_driver.last_close even if >> fbdev isn't used. I've added a patch to fix that. This means I can drop >> calling drm_atomic_helper_shutdown() in tinydrm_unregister(), since I >> now can easily disable the pipeline from userspace by just closing the >> users. Disabled pipeline means balanced regulator_enable/disable. >> >> The 'Embed drm_device in tinydrm_device' patch has gained >> drm_driver.release functions after a discussion with Laurent. My >> previous version relied on obscure freeing in tinydrm_release(). >> This means that I didn't retain the ack's. >> >> Laurent also caught an ugly devm_kmalloc() in >> tinydrm_display_pipe_init() that I've fixed. > > I'm practically packing for my 2 weeks of conference travel already, so > only very cursory read of the initial patches for core&fb-helpers. I think > this looks really splendid now. > > But I won't have time for review for the next few week, would be good if > you could drag some others into this discussions. Iirc there's recently > been a few different people interested in udl (even some patches I think), > they might be able to help out with testing&review. > > Also, would be great if you can submit this to intel-gfx on the next > round, so that our CI can pick it up and give it a solid beating. Touching > critical core paths like in patch 1 is always a bit scary. While reviewing xen-front's hotunplug handling I just realized this never landed. Can you pls resend and nag me to review it properly? I'd really like to get the drm_dev_unplug stuff sorted out better. Thanks, Daniel > > Thanks, Daniel > >> >> Noralf. >> >> Noralf Trønnes (11): >> drm: Use srcu to protect drm_device.unplugged >> drm/fb-helper: Support device unplug >> drm/fb-helper: Ensure driver module is pinned in fb_open() >> drm/fb-helper: Don't restore if fbdev is not in use >> drm/fb-cma-helper: Make struct drm_fbdev_cma public >> drm/fb-cma-helper: Support device unplug >> drm/tinydrm: Drop driver registered message >> drm/tinydrm: Embed drm_device in tinydrm_device >> drm/tinydrm: Support device unplug in core >> drm/tinydrm/mi0283qt: Let the display pipe handle power >> drm/tinydrm: Support device unplug in drivers >> >> drivers/gpu/drm/drm_drv.c | 54 +++++++++-- >> drivers/gpu/drm/drm_fb_cma_helper.c | 13 +-- >> drivers/gpu/drm/drm_fb_helper.c | 108 ++++++++++++++++++++-- >> drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 135 +++++++++++++++++++--------- >> drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 28 +++--- >> drivers/gpu/drm/tinydrm/mi0283qt.c | 81 +++++------------ >> drivers/gpu/drm/tinydrm/mipi-dbi.c | 58 +++++++++--- >> drivers/gpu/drm/tinydrm/repaper.c | 62 ++++++++----- >> drivers/gpu/drm/tinydrm/st7586.c | 54 ++++++----- >> include/drm/drm_device.h | 9 +- >> include/drm/drm_drv.h | 15 +++- >> include/drm/drm_fb_cma_helper.h | 11 ++- >> include/drm/drm_fb_helper.h | 28 ++++++ >> include/drm/tinydrm/mipi-dbi.h | 1 + >> include/drm/tinydrm/tinydrm.h | 10 ++- >> 15 files changed, 469 insertions(+), 198 deletions(-) >> >> -- >> 2.7.4 >> > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel