[Intel-gfx] [PATCH 6/6] drm/i915: Use atomic state in intel_fb_initial_config.

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Feb 11 14:38:16 UTC 2016


On Mon, Feb 01, 2016 at 02:44:02PM +0100, Maarten Lankhorst wrote:
> This is another step in removing legacy state.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

Patches 2,3,4,6 lgtm.
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Though I'd still prefer some locking asserts to avoid having to go
double check all the callers.

> ---
>  drivers/gpu/drm/i915/intel_fbdev.c | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index 09840f4380f9..97a91e631915 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -406,8 +406,8 @@ retry:
>  			continue;
>  		}
>  
> -		encoder = connector->encoder;
> -		if (!encoder || WARN_ON(!encoder->crtc)) {
> +		encoder = connector->state->best_encoder;
> +		if (!encoder || WARN_ON(!connector->state->crtc)) {
>  			if (connector->force > DRM_FORCE_OFF)
>  				goto bail;
>  
> @@ -420,7 +420,7 @@ retry:
>  
>  		num_connectors_enabled++;
>  
> -		new_crtc = intel_fb_helper_crtc(fb_helper, encoder->crtc);
> +		new_crtc = intel_fb_helper_crtc(fb_helper, connector->state->crtc);
>  
>  		/*
>  		 * Make sure we're not trying to drive multiple connectors
> @@ -466,17 +466,22 @@ retry:
>  			 * usually contains. But since our current
>  			 * code puts a mode derived from the post-pfit timings
>  			 * into crtc->mode this works out correctly.
> +			 *
> +			 * This is crtc->mode and not crtc->state->mode for the
> +			 * fastboot check to work correctly. crtc_state->mode has
> +			 * I915_MODE_FLAG_INHERITED, which we clear to force check
> +			 * state.
>  			 */
>  			DRM_DEBUG_KMS("looking for current mode on connector %s\n",
>  				      connector->name);
> -			modes[i] = &encoder->crtc->mode;
> +			modes[i] = &connector->state->crtc->mode;
>  		}
>  		crtcs[i] = new_crtc;
>  
>  		DRM_DEBUG_KMS("connector %s on pipe %c [CRTC:%d]: %dx%d%s\n",
>  			      connector->name,
> -			      pipe_name(to_intel_crtc(encoder->crtc)->pipe),
> -			      encoder->crtc->base.id,
> +			      pipe_name(to_intel_crtc(connector->state->crtc)->pipe),
> +			      connector->state->crtc->base.id,
>  			      modes[i]->hdisplay, modes[i]->vdisplay,
>  			      modes[i]->flags & DRM_MODE_FLAG_INTERLACE ? "i" :"");
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list