From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v3 6/7] drm/atomic: Clean up steal_encoder, v2.
Date: Fri, 4 Mar 2016 15:27:08 +0200 [thread overview]
Message-ID: <20160304132708.GS10446@intel.com> (raw)
In-Reply-To: <1456996662-8704-7-git-send-email-maarten.lankhorst@linux.intel.com>
On Thu, Mar 03, 2016 at 10:17:41AM +0100, Maarten Lankhorst wrote:
> Now that only encoders can be stolen that are part of the state
> steal_encoder no longer needs to inspect all connectors,
> just those that are part of the atomic state.
>
> Changes since v1:
> - Change return value to void, can no longer fail.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/drm_atomic_helper.c | 25 +++++--------------------
> 1 file changed, 5 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index bb60148c5c8d..2395201eb7ab 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -227,25 +227,18 @@ set_best_encoder(struct drm_atomic_state *state,
> conn_state->best_encoder = encoder;
> }
>
> -static int
> +static void
> steal_encoder(struct drm_atomic_state *state,
> struct drm_encoder *encoder)
> {
> struct drm_crtc_state *crtc_state;
> struct drm_connector *connector;
> struct drm_connector_state *connector_state;
> + int i;
>
> - drm_for_each_connector(connector, state->dev) {
> + for_each_connector_in_state(state, connector, connector_state, i) {
> struct drm_crtc *encoder_crtc;
>
> - if (connector->state->best_encoder != encoder)
> - continue;
> -
> - connector_state = drm_atomic_get_connector_state(state,
> - connector);
> - if (IS_ERR(connector_state))
> - return PTR_ERR(connector_state);
> -
> if (connector_state->best_encoder != encoder)
> continue;
>
> @@ -260,10 +253,8 @@ steal_encoder(struct drm_atomic_state *state,
> crtc_state = drm_atomic_get_existing_crtc_state(state, encoder_crtc);
> crtc_state->connectors_changed = true;
>
> - return 0;
> + return;
I was wondering if we should add some kind of sanity check here (or
maybe better do it afterwards across the entire device state?) to
make sure the same encoder didn't end up used multiple times?
Anyway, patch is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> }
> -
> - return 0;
> }
>
> static int
> @@ -343,13 +334,7 @@ update_connector_routing(struct drm_atomic_state *state,
> return 0;
> }
>
> - ret = steal_encoder(state, new_encoder);
> - if (ret) {
> - DRM_DEBUG_ATOMIC("Encoder stealing failed for [CONNECTOR:%d:%s]\n",
> - connector->base.id,
> - connector->name);
> - return ret;
> - }
> + steal_encoder(state, new_encoder);
>
> if (WARN_ON(!connector_state->crtc))
> return -EINVAL;
> --
> 2.1.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-03-04 13:27 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-03 9:17 [PATCH v3 0/7] drm/atomic: Fix encoder stealing, v3 Maarten Lankhorst
2016-03-03 9:17 ` [PATCH v3 1/7] drm/atomic: Clean up update_output_state Maarten Lankhorst
2016-03-03 9:17 ` [PATCH v3 2/7] drm/atomic: Pass connector and state to update_connector_routing Maarten Lankhorst
2016-03-03 9:17 ` [PATCH v3 3/7] drm/atomic: Always call steal_encoder, v2 Maarten Lankhorst
2016-03-03 9:17 ` [PATCH v3 4/7] drm/atomic: Handle encoder stealing from set_config better Maarten Lankhorst
2016-03-03 9:17 ` [PATCH v3 5/7] drm/atomic: Handle encoder assignment conflicts in a separate check, v3 Maarten Lankhorst
2016-03-04 13:24 ` Ville Syrjälä
2016-03-03 9:17 ` [PATCH v3 6/7] drm/atomic: Clean up steal_encoder, v2 Maarten Lankhorst
2016-03-03 9:41 ` [Intel-gfx] " kbuild test robot
2016-03-04 13:27 ` Ville Syrjälä [this message]
2016-03-03 9:17 ` [PATCH v3 7/7] drm/atomic: Clean up update_connector_routing Maarten Lankhorst
2016-03-04 13:29 ` [Intel-gfx] " Ville Syrjälä
2016-03-08 12:20 ` Daniel Vetter
2016-03-03 9:25 ` ✗ Fi.CI.BAT: failure for drm/atomic: Fix encoder stealing, v3 Patchwork
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=20160304132708.GS10446@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox