Re: [PATCH 11/11] drm/i915/skl: Do not allow scaling when crtc is disabled.

Daniel Vetter
2015-10-22T13:17:11Z

On Thu, Oct 22, 2015 at 01:56:36PM +0200, Maarten Lankhorst wrote:
> This fixes a warning when the crtc is turned off. In that case fb
> will be NULL, and crtc_clock will be 0. Because the crtc is no longer
> active this is not a bug, and shouldn't trigger the WARN_ON.
>
> Also remove handling a null crtc_state, with all transitional helpers
> gone this can no longer happen.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 26931d8eb7ce..6d19723419fb 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13541,7 +13541,7 @@ skl_max_scale(struct intel_crtc *intel_crtc, struct intel_crtc_state *crtc_state
> struct drm_i915_private *dev_priv;
> int crtc_clock, cdclk;
>
> - if (!intel_crtc || !crtc_state)
> + if (!intel_crtc || !crtc_state->base.active)

Never check for ->active in atomic_check functions, it might cause dpms on
to fail, which should never happen. We probably should check for
crtc_state->enabled instead.

Otoh why are we even calling the compute config stuff when the crtc is
off. Imo better to cut this out somewhere in the top level functions.
-Daniel

> return DRM_PLANE_HELPER_NO_SCALING;
>
> dev = intel_crtc->base.dev;
> --
> 2.1.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation