[Intel-gfx] [RFC] drm/i915: check FDI config for 3 pipe
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Apr 19 00:27:44 CEST 2012
On Wed, 18 Apr 2012 14:25:36 -0700
Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> Three pipe can only be enabled in some cases and updated docs indicate
> a bit to control FDI B+C sharing.
>
> This patch adds a check to make sure we can support a given config with
> the existing FDI lane configuration, and tries to set the bit as
> appropriate.
>
> We may want to go further though and just totally break the link
> between our pipes, planes, PLLs, FDI lanes, transcoders, etc and the
> CRTCs we expose to userspace. We could theoretically just allocate new
> ones every mode set. That wouldn't help a whole lot though since we
> don't get full configuration changes from userspace, just a small
> window of CRTC data with no idea of what might happen next...
Ah just found a bug in reviewing my own patch here.
+ if (intel_crtc->pipe > 1) {
+ if (intel_crtc->fdi_lanes > 2)
+ I915_WRITE(SOUTH_CHICKEN1, I915_READ(SOUTH_CHICKEN1) &
+ ~FDIBC_LANE_SHARE_EN);
+ else
+ I915_WRITE(SOUTH_CHICKEN1, I915_READ(SOUTH_CHICKEN1) |
+ FDIBC_LANE_SHARE_EN);
+ }
Should be if (intel_crtc->pipe > 0) since we need to apply this when
either FDI C *or* B changes config.
I'll try, maybe it'll help with the funky 3 pipe config mode set
problem I saw.
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list