Message ID | 1465510495-30302-4-git-send-email-matthew.d.roper@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Op 10-06-16 om 00:14 schreef Matt Roper: > It's possible to have a non-zero plane mask and still wind up with a > total data rate of zero. There are two cases where this can happen: > > * planes are active (from the KMS point of view), but are > all fully clipped (positioned offscreen) > * the only active plane on a CRTC is the cursor (which is handled > independently and not counted into the general data rate computations > > These are both valid display setups (although unusual), so we need to > drop the WARN(). Is there a testcase that triggers this warn? Something for kms_universal_planes perhaps? Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Testcase: kms_universal_planes.cursor-only-pipe-* (will reply here as a patch)
On Mon, Jun 13, 2016 at 11:33:50AM +0200, Maarten Lankhorst wrote: > Op 10-06-16 om 00:14 schreef Matt Roper: > > It's possible to have a non-zero plane mask and still wind up with a > > total data rate of zero. There are two cases where this can happen: > > > > * planes are active (from the KMS point of view), but are > > all fully clipped (positioned offscreen) > > * the only active plane on a CRTC is the cursor (which is handled > > independently and not counted into the general data rate computations > > > > These are both valid display setups (although unusual), so we need to > > drop the WARN(). > Is there a testcase that triggers this warn? Something for > kms_universal_planes perhaps? I do have the start of a new IGT testcase that generates hundreds of random display configurations (for the purposes of searching for watermark corner cases); that test triggers this WARN(), but I haven't posted it yet. But having extra subtests in the universal plane test sounds good too; thanks! Matt > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Testcase: kms_universal_planes.cursor-only-pipe-* (will reply here as a patch)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index ba08639..2bd089e 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3107,8 +3107,6 @@ skl_get_total_relative_data_rate(struct intel_crtc_state *intel_cstate) total_data_rate += intel_cstate->wm.skl.plane_y_data_rate[id]; } - WARN_ON(cstate->plane_mask && total_data_rate == 0); - return total_data_rate; }
It's possible to have a non-zero plane mask and still wind up with a total data rate of zero. There are two cases where this can happen: * planes are active (from the KMS point of view), but are all fully clipped (positioned offscreen) * the only active plane on a CRTC is the cursor (which is handled independently and not counted into the general data rate computations These are both valid display setups (although unusual), so we need to drop the WARN(). Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- drivers/gpu/drm/i915/intel_pm.c | 2 -- 1 file changed, 2 deletions(-)