Re: [PATCH v2 5/6] drm/atomic: Add drm_atomic_helper_best_encoder()

From: Daniel Vetter
Date: Wed May 11 2016 - 12:55:37 EST


On Wed, May 11, 2016 at 06:09:21PM +0200, Noralf Trønnes wrote:
> Add (struct drm_connector_helper_funcs *)->best_encoder callback helper
> for connectors that support exactly 1 encoder, statically determined at
> driver init time.
>
> Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx>

Applied to drm-misc, thanks.
-Daniel

> ---
> drivers/gpu/drm/drm_atomic_helper.c | 17 +++++++++++++++++
> include/drm/drm_atomic_helper.h | 2 ++
> 2 files changed, 19 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 46a3201..43a0b3d 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -2483,6 +2483,23 @@ backoff:
> EXPORT_SYMBOL(drm_atomic_helper_connector_dpms);
>
> /**
> + * drm_atomic_helper_best_encoder - Helper for &drm_connector_helper_funcs
> + * ->best_encoder callback
> + * @connector: Connector control structure
> + *
> + * This is a &drm_connector_helper_funcs ->best_encoder callback helper for
> + * connectors that support exactly 1 encoder, statically determined at driver
> + * init time.
> + */
> +struct drm_encoder *
> +drm_atomic_helper_best_encoder(struct drm_connector *connector)
> +{
> + WARN_ON(connector->encoder_ids[1]);
> + return drm_encoder_find(connector->dev, connector->encoder_ids[0]);
> +}
> +EXPORT_SYMBOL(drm_atomic_helper_best_encoder);
> +
> +/**
> * DOC: atomic state reset and initialization
> *
> * Both the drm core and the atomic helpers assume that there is always the full
> diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
> index 0364287..ccca709 100644
> --- a/include/drm/drm_atomic_helper.h
> +++ b/include/drm/drm_atomic_helper.h
> @@ -110,6 +110,8 @@ int drm_atomic_helper_page_flip(struct drm_crtc *crtc,
> uint32_t flags);
> int drm_atomic_helper_connector_dpms(struct drm_connector *connector,
> int mode);
> +struct drm_encoder *
> +drm_atomic_helper_best_encoder(struct drm_connector *connector);
>
> /* default implementations for state handling */
> void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc);
> --
> 2.8.2
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch