On Wed, May 25, 2016 at 11:15:35AM +0300, Jani Nikula wrote:
> On Tue, 24 May 2016, ville.syrj...@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrj...@linux.intel.com>
> >
> > Reject the modeset if the requested dotclock exceeds the maximum allowed
> > by the hardware. So far we've only checked this on gen2/3 while also
> > handling the double wide vs. single wide pipe selection. Extend the
> > check to all platforms since we have the max dotclock correctly
> > populated now across the board.
> >
> > Testcase: igt/kms_invalid_dotclock
> > Cc: Mika Kahola <mika.kah...@intel.com>
> > Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> Seems good. Maybe we have bugs open about this?
> 
> Reviewed-by: Jani Nikula <jani.nik...@intel.com>

Pushed to dinq. Thanks for the review.

> 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 18 +++++++++---------
> >  1 file changed, 9 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 1e5138497e6a..adb489508f25 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -6510,10 +6510,10 @@ static int intel_crtc_compute_config(struct 
> > intel_crtc *crtc,
> >     struct drm_device *dev = crtc->base.dev;
> >     struct drm_i915_private *dev_priv = dev->dev_private;
> >     const struct drm_display_mode *adjusted_mode = 
> > &pipe_config->base.adjusted_mode;
> > +   int clock_limit = dev_priv->max_dotclk_freq;
> >  
> > -   /* FIXME should check pixel clock limits on all platforms */
> >     if (INTEL_INFO(dev)->gen < 4) {
> > -           int clock_limit = dev_priv->max_cdclk_freq * 9 / 10;
> > +           clock_limit = dev_priv->max_cdclk_freq * 9 / 10;
> >  
> >             /*
> >              * Enable double wide mode when the dot clock
> > @@ -6521,16 +6521,16 @@ static int intel_crtc_compute_config(struct 
> > intel_crtc *crtc,
> >              */
> >             if (intel_crtc_supports_double_wide(crtc) &&
> >                 adjusted_mode->crtc_clock > clock_limit) {
> > -                   clock_limit *= 2;
> > +                   clock_limit = dev_priv->max_dotclk_freq;
> >                     pipe_config->double_wide = true;
> >             }
> > +   }
> >  
> > -           if (adjusted_mode->crtc_clock > clock_limit) {
> > -                   DRM_DEBUG_KMS("requested pixel clock (%d kHz) too high 
> > (max: %d kHz, double wide: %s)\n",
> > -                                 adjusted_mode->crtc_clock, clock_limit,
> > -                                 yesno(pipe_config->double_wide));
> > -                   return -EINVAL;
> > -           }
> > +   if (adjusted_mode->crtc_clock > clock_limit) {
> > +           DRM_DEBUG_KMS("requested pixel clock (%d kHz) too high (max: %d 
> > kHz, double wide: %s)\n",
> > +                         adjusted_mode->crtc_clock, clock_limit,
> > +                         yesno(pipe_config->double_wide));
> > +           return -EINVAL;
> >     }
> >  
> >     /*
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center

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

Reply via email to