[PATCH 6/9] drm/i915: Fix PCH SSC reference clock settings

Chris Wilson chris at chris-wilson.co.uk
Wed Sep 28 02:09:13 PDT 2011


On Tue, 27 Sep 2011 11:03:43 -0700, Keith Packard <keithp at keithp.com> wrote:
Non-text part: multipart/signed
> On Tue, 27 Sep 2011 17:47:10 +0100, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> > On Mon, 26 Sep 2011 23:11:43 -0700, Keith Packard <keithp at keithp.com> wrote:
> > > The PCH refclk settings are global, so we need to look at all of the
> > > encoders, not just the current encoder when deciding how to configure
> > > it. Also, handle systems with more than one panel (any combination of
> > > PCH/non-PCH eDP and LVDS).
> > 
> > As I read it, this sets the refclk not on the active configuration, but
> > on all the hardware detected for the system whether enabled or not.
> 
> Correct. We cannot randomly turn ref clocks on/off without also
> disconnecting them from the PLLs that they drive.
> 
> What we could do is figure out which of the two clocks need to be
> enabled and modify the mode set code to turn them on when needed before
> setting the mode, and then turn them off after, when they aren't
> needed. This would leave them off until needed, which might be nice?
> 
> This will make changing the driver to not disable the panel at startup
> time harder; we'll need to switch the panel to the non-SSC reference,
> turn the SSC reference off, reconfigure it and then switch the panel
> back to the SSC reference. That's a project for a future change though.

My understanding was that we could not enable SSC at all if we had a VGA,
DVI/HDMI or TV output; DP may or may not work with SSC.

The patch says that we will want to enable SSC if we have an SSC capbable
LVDS or eDP, which is certainly true. And that we can always do so if we
remember to set a magic bit in refclk to prevent non-SSC capable outputs
from being upset. I have not seen anything to support that last statement,
but, then again, I have not seen anything that actually explains what CK505
is!

Having said that, this is an obvious improvement over the current
situation in that we do choose correctly in more circumstances and we do
not reprogram the refclk whilst active.

As an incremental improvement [in my understanding ;-]:
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list