Re: [PATCH v5 4/4] drm/i915: DVO pixel clock check

Daniel Vetter
2015-08-26T08:29:50Z

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@intel.com>
> >
> > Reviewed-by: Ville Syrjälä <ville.syrjala@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@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation