[Intel-gfx] [PATCH 16/21 v2] drm/i915: Ensure setting up scalers into staged crtc_state

Matt Roper matthew.d.roper at intel.com
Wed Mar 25 10:21:36 PDT 2015


On Fri, Mar 20, 2015 at 05:04:37PM -0700, Chandra Konduru wrote:
> From intel_atomic_check, call intel_atomic_setup_scalers() to
> assign scalers based on staged scaling requests. Fail the
> transaction if setup returns error.
> 
> Setting up of scalers should be moved to atomic crtc check  once
> atomic crtc is ready.
> 
> v2:
> -updated parameter passing to setup_scalers (me)
> 
> Signed-off-by: Chandra Konduru <chandra.konduru at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_atomic.c |   11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
> index 407516a..73e94c4 100644
> --- a/drivers/gpu/drm/i915/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/intel_atomic.c
> @@ -48,6 +48,8 @@ int intel_atomic_check(struct drm_device *dev,
>  	int ncrtcs = dev->mode_config.num_crtc;
>  	int nconnectors = dev->mode_config.num_connector;
>  	enum pipe nuclear_pipe = INVALID_PIPE;
> +	struct intel_crtc *nuclear_crtc = NULL;
> +	struct intel_crtc_state *crtc_state = NULL;
>  	int ret;
>  	int i;
>  	bool not_nuclear = false;
> @@ -78,6 +80,10 @@ int intel_atomic_check(struct drm_device *dev,
>  		struct intel_crtc *crtc = to_intel_crtc(state->crtcs[i]);
>  		if (crtc && crtc->pipe != nuclear_pipe)
>  			not_nuclear = true;
> +		if (crtc && crtc->pipe == nuclear_pipe) {
> +			nuclear_crtc = crtc;
> +			crtc_state = to_intel_crtc_state(state->crtc_states[i]);
> +		}
>  	}
>  	for (i = 0; i < nconnectors; i++)
>  		if (state->connectors[i] != NULL)
> @@ -92,6 +98,11 @@ int intel_atomic_check(struct drm_device *dev,
>  	if (ret)
>  		return ret;
>  
> +	/* FIXME: move to crtc atomic check function once it is ready */

We can go ahead and add the crtc's atomic_check now.
drm_atomic_helper_check_planes() will call it if we setup the function
pointer.


Matt

> +	ret = intel_atomic_setup_scalers(dev, nuclear_crtc, crtc_state);
> +	if (ret)
> +		return ret;
> +
>  	return ret;
>  }
>  
> -- 
> 1.7.9.5
> 

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795


More information about the Intel-gfx mailing list