[Intel-gfx] [PATCH v4 0/6] Check pixel clock when setting mode

Kahola, Mika mika.kahola at intel.com
Thu Feb 11 12:36:25 UTC 2016


> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter at ffwll.ch] On Behalf Of Daniel
> Vetter
> Sent: Thursday, February 11, 2016 11:21 AM
> To: Kahola, Mika <mika.kahola at intel.com>
> Cc: intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH v4 0/6] Check pixel clock when setting mode
> 
> On Tue, Feb 02, 2016 at 03:16:37PM +0200, Mika Kahola wrote:
> > From EDID we can read and request higher pixel clock than our HW can
> > support. This set of patches add 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. For example for Cherryview
> >
> > 'cvt 2560 1600 60' gives
> >
> > # 2560x1600 59.99 Hz (CVT 4.10MA) hsync: 99.46 kHz; pclk: 348.50 MHz
> > Modeline "2560x1600_60.00"  348.50  2560 2760 3032 3504  1600 1603
> > 1609 1658 -hsync +vsync
> >
> > where pixel clock 348.50 MHz is higher than the supported 304 MHz.
> >
> > The missing mode validity checks for DisplayPort, HDMI, DP-MST, SDVO,
> CRT, and TV.
> >
> > V2:
> > - The maximum DOT clock frequency is added to debugfs
> i915_frequency_info.
> > - max dotclock cached in dev_priv structure
> > - moved computation of max dotclock to 'intel_display.c'
> >
> > V3:
> > - intel_update_max_dotclk() renamed as intel_compute_max_dotclk()
> > - for GEN9 and above the max dotclock frequency is equal to CD clock
> >   frequency
> > - for older generations the dot clock frequency is limited to 90% of the
> >   CD clock frequency
> > - For Cherryview the dot clock is limited to 95% of CD clock frequency
> > - for GEN2/3 the maximum dot clock frequency is limited to 90% of the
> >   2X CD clock frequency as we have on option to use double wide mode
> > - cleanup
> >
> > V4:
> > - renaming of max_dotclk as max_dotclk_freq in dev_priv (i915_drv.h)
> >   caused changes to all patches in my series even though some of them has
> >   been r-b'd by Ville
> > - for consistency the max_pixclk variable is renamed as max_dotclk
> throughout
> >   the whole series
> >
> > Mika Kahola (6):
> >   drm/i915: DisplayPort pixel clock check
> >   drm/i915: HDMI pixel clock check
> >   drm/i915: DisplayPort-MST pixel clock check
> >   drm/i915: SDVO pixel clock check
> >   drm/i915: CRT pixel clock check
> >   drm/i915: TV pixel clock check
> 
> Note that the title of your series is wrong I think - mode_valid is _only_ called
> at probe time, to filter the list of modes userspace can see.
> Userspace can still try to set a mode not in that list which would be above
> that dotclk. From a quick look around I don't see that addressed anywhere.
> 
Indeed, the title is a bit misleading as the mode is checked at probe time. 

> If that's true then I think we also need an igt which exercises this code by
> trying to set a dotclock that's way too high (but for a resolution that the
> display actually supports).
Let's put this on my to-do list

Cheers,
Mika

> -Daniel
> 
> 
> >
> >  drivers/gpu/drm/i915/intel_crt.c    | 4 ++++
> >  drivers/gpu/drm/i915/intel_dp.c     | 3 ++-
> >  drivers/gpu/drm/i915/intel_dp_mst.c | 5 +++++
> >  drivers/gpu/drm/i915/intel_hdmi.c   | 8 ++++++++
> >  drivers/gpu/drm/i915/intel_sdvo.c   | 4 ++++
> >  drivers/gpu/drm/i915/intel_tv.c     | 4 ++++
> >  6 files changed, 27 insertions(+), 1 deletion(-)
> >
> > --
> > 1.9.1
> >
> > _______________________________________________
> > 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