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

Mika Kahola mika.kahola at intel.com
Fri Aug 21 04:52:54 PDT 2015


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!

-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
> 




More information about the Intel-gfx mailing list