[Intel-gfx] [PATCH v2 09/27] drm/i915: Assign a new pll from the crtc check function.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Mon Jun 8 01:22:22 PDT 2015


Hey,

Op 04-06-15 om 14:47 schreef Maarten Lankhorst:
> <snip>
> @@ -12505,53 +12515,37 @@ static void update_scanline_offset(struct intel_crtc *crtc)
>  		crtc->scanline_offset = 1;
>  }
>  
> -static int intel_modeset_setup_plls(struct drm_atomic_state *state)
> +static void intel_modeset_clear_plls(struct drm_atomic_state *state)
>  {
>  	struct drm_device *dev = state->dev;
>  	struct drm_i915_private *dev_priv = to_i915(dev);
> -	unsigned clear_pipes = 0;
> +	struct intel_shared_dpll_config *shared_dpll = NULL;
>  	struct intel_crtc *intel_crtc;
>  	struct intel_crtc_state *intel_crtc_state;
>  	struct drm_crtc *crtc;
>  	struct drm_crtc_state *crtc_state;
> -	int ret = 0;
>  	int i;
>  
>  	if (!dev_priv->display.crtc_compute_clock)
> -		return 0;
> +		return;
>  
>  	for_each_crtc_in_state(state, crtc, crtc_state, i) {
> +		int dpll;
> +
>  		intel_crtc = to_intel_crtc(crtc);
>  		intel_crtc_state = to_intel_crtc_state(crtc_state);
> +		dpll = intel_crtc_state->shared_dpll;
>
Oops, this is slightly incorrect. This needs to be:

+		dpll = to_intel_crtc_state(crtc->state)->shared_dpll;

Or we could clear the crtc_mask on the wrong pll, which would mess up our tracking.

~Maarten



More information about the Intel-gfx mailing list