From: Daniel Vetter <daniel@ffwll.ch>
To: Sean Paul <sean@poorly.run>
Cc: Sean Paul <seanpaul@chromium.org>,
Jernej Skrabec <jernej.skrabec@siol.net>,
Neil Armstrong <narmstrong@baylibre.com>,
David Airlie <airlied@linux.ie>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Thomas Hellstrom <thellstrom@vmware.com>,
DRI Development <dri-devel@lists.freedesktop.org>,
Hans Verkuil <hverkuil@xs4all.nl>,
Jani Nikula <jani.nikula@intel.com>,
Russell King <rmk+kernel@armlinux.org.uk>,
VMware Graphics <linux-graphics-maintainer@vmware.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Fabio Estevam <fabio.estevam@nxp.com>,
Daniel Vetter <daniel.vetter@intel.com>,
Pierre-Hugues Husson <phh@phh.me>
Subject: Re: [Intel-gfx] [PATCH 02/18] drm/atomic-helper: Unexport drm_atomic_helper_best_encoder
Date: Thu, 4 Oct 2018 21:33:49 +0200 [thread overview]
Message-ID: <20181004193349.GP31561@phenom.ffwll.local> (raw)
In-Reply-To: <20181004183324.GJ72545@art_vandelay>
On Thu, Oct 04, 2018 at 02:33:24PM -0400, Sean Paul wrote:
> On Tue, Oct 02, 2018 at 03:35:10PM +0200, Daniel Vetter wrote:
> > It's the default. The exported version was kinda a transition state,
> > before we made this the default.
> >
> > To stop new atomic drivers from using it (instead of just relying on
> > the default) let's unexport it.
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > Cc: Gustavo Padovan <gustavo@padovan.org>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Sean Paul <seanpaul@chromium.org>
> > Cc: David Airlie <airlied@linux.ie>
> > Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
> > Cc: Sinclair Yeh <syeh@vmware.com>
> > Cc: Thomas Hellstrom <thellstrom@vmware.com>
> > Cc: Archit Taneja <architt@codeaurora.org>
> > Cc: Neil Armstrong <narmstrong@baylibre.com>
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Cc: Hans Verkuil <hverkuil@xs4all.nl>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Russell King <rmk+kernel@armlinux.org.uk>
> > Cc: Jernej Skrabec <jernej.skrabec@siol.net>
> > Cc: Jani Nikula <jani.nikula@intel.com>
> > Cc: Pierre-Hugues Husson <phh@phh.me>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > ---
> > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 -
> > drivers/gpu/drm/drm_atomic_helper.c | 24 +++++++----------------
> > drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 1 -
> > drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 1 -
> > drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 1 -
> > include/drm/drm_atomic_helper.h | 2 --
> > 6 files changed, 7 insertions(+), 23 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > index ac37c50d6c4b..5ac979d3450b 100644
> > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > @@ -1957,7 +1957,6 @@ static const struct drm_connector_funcs dw_hdmi_connector_funcs = {
> >
> > static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = {
> > .get_modes = dw_hdmi_connector_get_modes,
> > - .best_encoder = drm_atomic_helper_best_encoder,
> > };
> >
> > static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
> > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> > index f92b7cf4cbd7..8c93f33fe92f 100644
> > --- a/drivers/gpu/drm/drm_atomic_helper.c
> > +++ b/drivers/gpu/drm/drm_atomic_helper.c
> > @@ -92,6 +92,13 @@ drm_atomic_helper_plane_changed(struct drm_atomic_state *state,
> > }
> > }
> >
> > +static struct drm_encoder *
> > +drm_atomic_helper_best_encoder(struct drm_connector *connector)
> > +{
> > + WARN_ON(connector->encoder_ids[1]);
> > + return drm_encoder_find(connector->dev, NULL, connector->encoder_ids[0]);
> > +}
> > +
> > static int handle_conflicting_encoders(struct drm_atomic_state *state,
> > bool disable_conflicting_encoders)
> > {
> > @@ -3376,23 +3383,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc,
> > }
> > EXPORT_SYMBOL(drm_atomic_helper_page_flip_target);
> >
> > -/**
> > - * 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, NULL, connector->encoder_ids[0]);
> > -}
> > -EXPORT_SYMBOL(drm_atomic_helper_best_encoder);
> > -
> > /**
> > * DOC: atomic state reset and initialization
> > *
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> > index 723578117191..4b5378495eea 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> > @@ -274,7 +274,6 @@ static const struct drm_connector_funcs vmw_legacy_connector_funcs = {
> >
> > static const struct
> > drm_connector_helper_funcs vmw_ldu_connector_helper_funcs = {
> > - .best_encoder = drm_atomic_helper_best_encoder,
> > };
>
> Seems like you can remove this entirely, as well as the helper funcs
> registration call? Same goes for a few other drivers.
Needs a huge audit, at least in the past we've had cases where everything
started oopsing because helpers didn't check carefully whether the vtable
pointer was NULL or not.
Heck even this patch here blew up on amdgpu at first.
So good idea, but maybe not in this patch here :-)
-Daniel
> > /*
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> > index ad0de7f0cd60..4c68ad6f3605 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> > @@ -389,7 +389,6 @@ static const struct drm_connector_funcs vmw_sou_connector_funcs = {
> >
> > static const struct
> > drm_connector_helper_funcs vmw_sou_connector_helper_funcs = {
> > - .best_encoder = drm_atomic_helper_best_encoder,
> > };
> >
> >
> > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> > index f30e839f7bfd..e28bb08114a5 100644
> > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> > @@ -1037,7 +1037,6 @@ static const struct drm_connector_funcs vmw_stdu_connector_funcs = {
> >
> > static const struct
> > drm_connector_helper_funcs vmw_stdu_connector_helper_funcs = {
> > - .best_encoder = drm_atomic_helper_best_encoder,
> > };
> >
> >
> > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
> > index 657af7b39379..e60c4f0f8827 100644
> > --- a/include/drm/drm_atomic_helper.h
> > +++ b/include/drm/drm_atomic_helper.h
> > @@ -144,8 +144,6 @@ int drm_atomic_helper_page_flip_target(
> > uint32_t flags,
> > uint32_t target,
> > struct drm_modeset_acquire_ctx *ctx);
> > -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.19.0.rc2
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Sean Paul, Software Engineer, Google / Chromium OS
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
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
next prev parent reply other threads:[~2018-10-04 19:33 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-02 13:35 [PATCH 00/18] atomic helper cleanups Daniel Vetter
2018-10-02 13:35 ` [PATCH 01/18] drm/amdgpu: Remove default best_encoder hook from DC Daniel Vetter
2018-10-02 13:35 ` [PATCH 02/18] drm/atomic-helper: Unexport drm_atomic_helper_best_encoder Daniel Vetter
2018-10-02 13:53 ` Laurent Pinchart
2018-10-03 9:08 ` Daniel Vetter
2018-10-04 17:13 ` Laurent Pinchart
2018-10-04 18:33 ` Sean Paul
2018-10-04 19:33 ` Daniel Vetter [this message]
2018-10-02 13:35 ` [PATCH 03/18] drm: Extract drm_atomic_state_helper.[hc] Daniel Vetter
2018-10-02 15:40 ` Ville Syrjälä
2018-10-03 9:10 ` Daniel Vetter
2018-10-02 13:35 ` [PATCH 04/18] drm/vmwgfx: Remove confused comment from vmw_du_connector_atomic_set_property Daniel Vetter
2018-10-02 15:15 ` Ville Syrjälä
2018-10-02 16:36 ` [Intel-gfx] " Thomas Hellstrom
2018-10-02 17:02 ` Ville Syrjälä
2018-10-04 20:03 ` [Intel-gfx] " Daniel Vetter
2018-10-02 13:35 ` [PATCH 05/18] drm/vmwgfx: Don't look at state->allow_modeset Daniel Vetter
2018-10-02 13:35 ` [PATCH 06/18] drm/atomic: Improve docs for drm_atomic_state->allow_modeset Daniel Vetter
2018-10-02 15:40 ` Ville Syrjälä
2018-10-02 13:35 ` [PATCH 07/18] drm/vmwgfx: Add FIXME comments for customer page_flip handlers Daniel Vetter
2018-10-02 16:49 ` Thomas Hellstrom
2018-10-03 9:11 ` Daniel Vetter
2018-10-02 13:35 ` [PATCH 08/18] drm/arcpgu: Drop transitional hooks Daniel Vetter
2018-10-02 15:34 ` Ville Syrjälä
2018-10-03 9:20 ` [Intel-gfx] " Daniel Vetter
2018-10-02 13:35 ` [PATCH 09/18] drm/atmel: " Daniel Vetter
2018-10-02 13:35 ` Daniel Vetter
2018-10-02 15:34 ` [Intel-gfx] " Ville Syrjälä
2018-10-02 15:34 ` Ville Syrjälä
2018-10-02 13:35 ` [PATCH 10/18] drm/arcpgu: Use drm_atomic_helper_shutdown Daniel Vetter
2018-10-02 15:39 ` Ville Syrjälä
2018-10-03 9:16 ` [PATCH 11/18] drm/msm: " Daniel Vetter
2018-10-03 13:01 ` Ville Syrjälä
2018-10-03 9:17 ` [PATCH 12/18] drm/sti: " Daniel Vetter
2018-10-03 13:07 ` Ville Syrjälä
2018-10-03 9:18 ` [PATCH 13/18] drm/vc4: " Daniel Vetter
2018-10-03 9:18 ` [PATCH 14/18] drm/zte: " Daniel Vetter
2018-10-03 13:08 ` Ville Syrjälä
2018-10-03 9:18 ` [PATCH 15/18] drm: Remove transitional helpers Daniel Vetter
2018-10-03 13:11 ` [Intel-gfx] " Ville Syrjälä
2018-10-03 9:18 ` [PATCH 16/18] drm/vmwgfx: Fix vmw_du_cursor_plane_atomic_check Daniel Vetter
2018-10-03 13:12 ` Ville Syrjälä
2018-10-03 9:18 ` [PATCH 17/18] drm: Unexport drm_plane_helper_check_update Daniel Vetter
2018-10-04 20:30 ` Ville Syrjälä
2018-10-03 9:18 ` [PATCH 18/18] drm: Unexport primary plane helpers Daniel Vetter
2018-10-03 13:15 ` Ville Syrjälä
2018-10-03 13:08 ` [PATCH 13/18] drm/vc4: Use drm_atomic_helper_shutdown Ville Syrjälä
2018-10-03 20:31 ` Eric Anholt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181004193349.GP31561@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=airlied@linux.ie \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=fabio.estevam@nxp.com \
--cc=hverkuil@xs4all.nl \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=jernej.skrabec@siol.net \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-graphics-maintainer@vmware.com \
--cc=narmstrong@baylibre.com \
--cc=phh@phh.me \
--cc=rmk+kernel@armlinux.org.uk \
--cc=sean@poorly.run \
--cc=seanpaul@chromium.org \
--cc=thellstrom@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.