On Mon, 18 Oct 2010 22:37:43 +0200 Arnd Bergmann arnd@arndb.de wrote:
On Monday 18 October 2010 22:30:17 Arnd Bergmann wrote:
I don't think the code path you patch here actually gets used, since intel_lvds_init gets called by intel_setup_outputs only for mobile devices.
FWIW, the patch below does work.
Arnd
--- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -5311,6 +5311,9 @@ static void intel_setup_outputs(struct drm_device *dev) if (IS_MOBILE(dev) && !IS_I830(dev)) intel_lvds_init(dev);
I915_WRITE(PFIT_CONTROL, 0);
I915_WRITE(LVDS, 0);
- if (HAS_PCH_SPLIT(dev)) { dpd_is_edp = intel_dpd_is_edp(dev);
Oh of course, I was thinking the output functions did detection, but we short circuit it before that.
So we should probably do it in setup_outputs or init_display once we've figured out there's no LVDS. It's cool that the panel fitter still has an effect even on non-LVDS platforms though, maybe we really should treat it as a part of the CRTC rather than the LVDS encoder after all.