On Fri, Dec 15, 2017 at 02:18:55PM +0100, Noralf Trønnes wrote: > > Den 14.12.2017 21.25, skrev Daniel Vetter: > > On Thu, Dec 14, 2017 at 08:10:06PM +0100, Noralf Trønnes wrote: > > > Add helper for initializing fbdev deferred I/O. > > > > > > The cleanup could have happened in drm_fb_helper_fini(), but that would > > > have required me to set fb_info->fbdefio to NULL in a couple of drivers > > > before they call _fini() to avoid double defio cleanup. The problem is > > > that one of those is vboxvideo which lives in Greg's staging tree. > > > So I put the cleanup in drm_fb_helper_fbdev_teardown(), not perfect > > > but not that bad either. > > > > > > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > > > --- > > > drivers/gpu/drm/drm_fb_helper.c | 53 +++++++++++++++++++++++++++++++++++++++++ > > > include/drm/drm_fb_helper.h | 6 +++++ > > > 2 files changed, 59 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > > > index 14aa83579e76..d5eeed1c7749 100644 > > > --- a/drivers/gpu/drm/drm_fb_helper.c > > > +++ b/drivers/gpu/drm/drm_fb_helper.c > > > @@ -1022,6 +1022,48 @@ void drm_fb_helper_deferred_io(struct fb_info *info, > > > } > > > EXPORT_SYMBOL(drm_fb_helper_deferred_io); > > > +/** > > > + * drm_fb_helper_defio_init - fbdev deferred I/O initialization > > > + * @fb_helper: driver-allocated fbdev helper > > > + * > > > + * This function allocates &fb_deferred_io, sets callback to > > > + * drm_fb_helper_deferred_io(), delay to 50ms and calls fb_deferred_io_init(). > > > + * drm_fb_helper_fbdev_teardown() cleans up deferred I/O. > > > + * > > > + * NOTE: A copy of &fb_ops is made and assigned to &info->fbops. This is done > > > + * because fb_deferred_io_cleanup() clears &fbops->fb_mmap and would thereby > > > + * affect other instances of that &fb_ops. > > Do we need to call this before initial_config? Or after? Should be > > documented imo. > > Indeed it should be: > > * This function allocates &fb_deferred_io, sets callback to > * drm_fb_helper_deferred_io(), delay to 50ms and calls > fb_deferred_io_init(). > * It should be called from the &drm_fb_helper_funcs->fb_probe callback. > * drm_fb_helper_fbdev_teardown() cleans up deferred I/O. Forgot this part, lgtm, Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> I think we got them all now? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel