public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2 14/14] drm/i915/skl: Do not allow scaling when crtc is disabled.
Date: Tue, 3 Nov 2015 12:40:32 +0200	[thread overview]
Message-ID: <20151103104032.GQ4437@intel.com> (raw)
In-Reply-To: <5638873D.4030503@linux.intel.com>

On Tue, Nov 03, 2015 at 11:06:53AM +0100, Maarten Lankhorst wrote:
> Op 03-11-15 om 10:09 schreef Ville Syrjälä:
> > On Tue, Nov 03, 2015 at 08:31:53AM +0100, 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.
> > Mm. We want to do scaling checks and whatnot during DPMS. So this should
> > check .enabled, no?
> Not sure what the right decision would be here..
> 
>      * skl max scale is lower of:
>      *    close to 3 but not 3, -1 is for that purpose
>      *            or
>      *    cdclk/crtc_clock
> 
> So when multiple pipes are enabled potentially 3x scaling is allowed, but if you dpms them all off
> cdclk might get set to 0. This means a previous valid amount of scaling might suddenly become invalid.
> 
> Maybe the fix is keeping 2 cdclk's, one for scaling and one for setting.

I think we should keep around the min required cdclk in the crtc state.
And we recalculate that one every time anything changes. Then we can
just compare it against the current cdclk after plane/crtc states have
otherwise been computed to see if we need to change the current cdclk.

> 
> This probably needs to be addressed in patch 3/14 then, so that one needs more love.
> 
> I will resend patch 3, 4, 5 and 14 as a separate series. The other patches from this series will still work with some easily fixed rejects.
> >> Also remove handling a null crtc_state, with all transitional helpers
> >> gone this can no longer happen.
> > What about the !intel_crtc check, how is that supposed to happen?
> When fb == NULL. :)
> >> 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 304e1028c9a4..7e2caeef9a11 100644
> >> --- a/drivers/gpu/drm/i915/intel_display.c
> >> +++ b/drivers/gpu/drm/i915/intel_display.c
> >> @@ -13671,7 +13671,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)
> >>  		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

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-11-03 10:40 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-03  7:31 [PATCH v2 00/14] Kill off intel_crtc->atomic, rework Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 01/14] drm/i915: Use passed plane state for sprite planes, v3 Maarten Lankhorst
2015-11-03  9:22   ` Ville Syrjälä
2015-11-03 10:26     ` Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 02/14] drm/i915: Extend DSL readout fix to BDW and SKL Maarten Lankhorst
2015-11-03  9:23   ` Ville Syrjälä
2015-11-03 11:32     ` Jani Nikula
2015-11-03 12:44       ` Maarten Lankhorst
2015-11-05 16:33         ` Jesse Barnes
2015-11-06  9:47           ` Jani Nikula
2015-11-03  7:31 ` [PATCH v2 03/14] drm/i915: Do not acquire crtc state to check clock during modeset, v2 Maarten Lankhorst
2015-11-03 10:09   ` Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 04/14] drm/i915: Handle cdclk limits on broadwell Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 05/14] drm/i915/bxt: Use the bypass frequency if there are no active pipes Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 06/14] drm/i915: Update watermark related members in the crtc_state, v2 Maarten Lankhorst
2015-11-09 14:48   ` Ander Conselvan De Oliveira
2015-11-09 16:10     ` Maarten Lankhorst
2015-11-09 16:20       ` Ville Syrjälä
2015-11-03  7:31 ` [PATCH v2 07/14] drm/i915: Kill off intel_crtc->atomic.wait_vblank Maarten Lankhorst
2015-11-09 15:08   ` Ander Conselvan De Oliveira
2015-11-03  7:31 ` [PATCH v2 08/14] drm/i915: Remove intel_crtc->atomic.disable_ips Maarten Lankhorst
2015-11-09 15:28   ` Ander Conselvan De Oliveira
2015-11-03  7:31 ` [PATCH v2 09/14] drm/i915: Remove atomic.pre_disable_primary Maarten Lankhorst
2015-11-10 11:29   ` Ander Conselvan De Oliveira
2015-11-03  7:31 ` [PATCH v2 10/14] drm/i915: Remove update_sprite_watermarks Maarten Lankhorst
2015-11-03 16:58   ` Matt Roper
2015-11-03  7:31 ` [PATCH v2 11/14] drm/i915: Remove some post-commit members from intel_crtc->atomic Maarten Lankhorst
2015-11-10 12:31   ` Ander Conselvan De Oliveira
2015-11-03  7:31 ` [PATCH v2 12/14] drm/i915: Nuke fbc " Maarten Lankhorst
2015-11-10 13:21   ` Ander Conselvan De Oliveira
2015-11-03  7:31 ` [PATCH v2 13/14] drm/i915/skl: Update watermarks before the crtc is disabled Maarten Lankhorst
2015-11-03  7:31 ` [PATCH v2 14/14] drm/i915/skl: Do not allow scaling when " Maarten Lankhorst
2015-11-03  9:09   ` Ville Syrjälä
2015-11-03 10:06     ` Maarten Lankhorst
2015-11-03 10:40       ` Ville Syrjälä [this message]
2015-11-03 12:00         ` Maarten Lankhorst
2015-11-03 13:11           ` Ville Syrjälä
2015-11-17 13:59             ` Maarten Lankhorst
2015-11-17 14:19               ` Ville Syrjälä

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=20151103104032.GQ4437@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --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