On Fri, Dec 15, 2017 at 02:17:49PM +0100, Noralf Trønnes wrote: > > Den 14.12.2017 20.10, skrev Noralf Trønnes: > > Promote new helpers for dealing with fbdev emulation. > > > > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > > --- > > drivers/gpu/drm/drm_fb_helper.c | 22 ++++++++++------------ > > 1 file changed, 10 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > > index 823fc8f50d85..14aa83579e76 100644 > > --- a/drivers/gpu/drm/drm_fb_helper.c > > +++ b/drivers/gpu/drm/drm_fb_helper.c > > @@ -66,19 +66,17 @@ static DEFINE_MUTEX(kernel_fb_helper_lock); > > * helper functions used by many drivers to implement the kernel mode setting > > * interfaces. > > * > > - * Initialization is done as a four-step process with drm_fb_helper_prepare(), > > - * drm_fb_helper_init(), drm_fb_helper_single_add_all_connectors() and > > - * drm_fb_helper_initial_config(). Drivers with fancier requirements than the > > - * default behaviour can override the third step with their own code. > > - * Teardown is done with drm_fb_helper_fini() after the fbdev device is > > - * unregisters using drm_fb_helper_unregister_fbi(). > > + * Setup fbdev emulation by calling drm_fb_helper_fbdev_setup() and tear it > > + * down by calling drm_fb_helper_fbdev_teardown(). > > * > > How about this for documenting when _setup() can't be used: > > * Setup fbdev emulation by calling drm_fb_helper_fbdev_setup() and tear it > * down by calling drm_fb_helper_fbdev_teardown(). > * > * Drivers that need to handle connector hotplugging (e.g. dp mst) can't use > * the setup helper and will need to do the whole four-step setup process > with > * drm_fb_helper_prepare(), drm_fb_helper_init(), > * drm_fb_helper_single_add_all_connectors(), enable hotplugging and > * drm_fb_helper_initial_config() to avoid a possible race window. lgtm, Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> on both this an the other patch that inspired this update. -Daniel > > Noralf. > > > - * At runtime drivers should restore the fbdev console by calling > > - * drm_fb_helper_restore_fbdev_mode_unlocked() from their &drm_driver.lastclose > > - * callback. They should also notify the fb helper code from updates to the > > - * output configuration by calling drm_fb_helper_hotplug_event(). For easier > > - * integration with the output polling code in drm_crtc_helper.c the modeset > > - * code provides a &drm_mode_config_funcs.output_poll_changed callback. > > + * At runtime drivers should restore the fbdev console by using > > + * drm_fb_helper_lastclose() as their &drm_driver.lastclose callback. > > + * They should also notify the fb helper code from updates to the output > > + * configuration by using drm_fb_helper_output_poll_changed() as their > > + * &drm_mode_config_funcs.output_poll_changed callback. > > + * > > + * For suspend/resume consider using drm_mode_config_helper_suspend() and > > + * drm_mode_config_helper_resume() which takes care of fbdev as well. > > * > > * All other functions exported by the fb helper library can be used to > > * implement the fbdev driver interface by the driver. > -- 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