[Intel-gfx] [PATCH v5 4/4] drm/i915: DVO pixel clock check

Daniel Vetter daniel at ffwll.ch
Wed Aug 26 01:29:46 PDT 2015


On Fri, Aug 21, 2015 at 02:52:54PM +0300, Mika Kahola wrote:
> On Fri, 2015-08-21 at 13:58 +0300, Ville Syrjälä wrote:
> > On Tue, Aug 18, 2015 at 02:37:02PM +0300, Mika Kahola wrote:
> > > It is possible the we request to have a mode that has
> > > higher pixel clock than our HW can support. This patch
> > > checks if requested pixel clock is lower than the one
> > > supported by the HW. The requested mode is discarded
> > > if we cannot support the requested pixel clock.
> > > 
> > > This patch applies to DVO.
> > > 
> > > V2:
> > > - removed computation for max pixel clock
> > > 
> > > V3:
> > > - cleanup by removing unnecessary lines
> > > 
> > > V4:
> > > - clock check against max dotclock moved inside 'if (fixed_mode)'
> > > 
> > > V5:
> > > - dot clock check against fixed_mode clock when available
> > > 
> > > Signed-off-by: Mika Kahola <mika.kahola at intel.com>
> > 
> > Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> Thanks Ville for the reviews!

Merged entire series, thanks.
-Daniel

> 
> -Mika-
> 
> > > ---
> > >  drivers/gpu/drm/i915/intel_dvo.c | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
> > > index dc532bb..c80fe1f 100644
> > > --- a/drivers/gpu/drm/i915/intel_dvo.c
> > > +++ b/drivers/gpu/drm/i915/intel_dvo.c
> > > @@ -201,6 +201,8 @@ intel_dvo_mode_valid(struct drm_connector *connector,
> > >  		     struct drm_display_mode *mode)
> > >  {
> > >  	struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
> > > +	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> > > +	int target_clock = mode->clock;
> > >  
> > >  	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
> > >  		return MODE_NO_DBLESCAN;
> > > @@ -212,8 +214,13 @@ intel_dvo_mode_valid(struct drm_connector *connector,
> > >  			return MODE_PANEL;
> > >  		if (mode->vdisplay > intel_dvo->panel_fixed_mode->vdisplay)
> > >  			return MODE_PANEL;
> > > +
> > > +		target_clock = intel_dvo->panel_fixed_mode->clock;
> > >  	}
> > >  
> > > +	if (target_clock > max_dotclk)
> > > +		return MODE_CLOCK_HIGH;
> > > +
> > >  	return intel_dvo->dev.dev_ops->mode_valid(&intel_dvo->dev, mode);
> > >  }
> > >  
> > > -- 
> > > 1.9.1
> > > 
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list