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
> > ---
> > 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 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel