On Sun, Jun 9, 2013 at 11:18 PM, Daniel Vetter <daniel at ffwll.ch> wrote: > On Sun, Jun 9, 2013 at 11:01 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote: >> On Sun, Jun 09, 2013 at 09:48:11PM +0200, Daniel Vetter wrote: >>> On Sun, Jun 9, 2013 at 7:23 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote: >>> > The pixel multiplier is only stored in SDVOX on i915g/i915gm, so we need >>> > to use the value retreived from the card for pipe_config and restrict >>> > the cross check to i915g/i915gm. >>> > >>> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> >>> >>> Failing this cross check was a fallout from the incosistent ordering >>> of the get_pipe_config vs. encoder->get_config calls in setup_hw_state >>> vs. modeset_check_state. It should be fixed in latest dinq, at least >>> it seemed to on my g33 and i915g. >> >> It is not fixed as of: >> >> commit 22e407d749a418b4bb4cc93ef76e0429a9f83c82 >> Author: Ville Syrj?l? <ville.syrjala at linux.intel.com> >> Date: Fri Jun 7 18:52:24 2013 +0300 >> >> drm/i915: Make g4x_fixup_plane() operational again > > Hm, indeed something seems to be amiss. I'll check this out, since > it's supposed to work ... dunno what I've missed in testing :( Ok, I seem to be especially dense today. So the failure I've seen beforehand on my g33 was just a stale version of my private branch. I've retested both my private stuff branch and latest -nightly, and they both seem to work. But since you're on a pch_split platform the pixel_mutliplier for the crtc get_pipe_config function is wrong, so you'll hit the WARN. Either grab my stuff branch (which has real pixel mutliplier readout support for pch-split platform as the patch on the top), or just disable the WARN for now with the below patch. Unfortunately the tip patch on stuff needs quite a bit of the shared dpll infrastructure, so I think we should shut up the WARN for now. I'll submit a real patch tomorrow ... Cheers, Daniel diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 67710e1..cf9dc6d 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -1362,6 +1362,10 @@ static void intel_sdvo_get_config(struct intel_encoder *encoder, encoder_pixel_multiplier = 4; break; } + + if(HAS_PCH_SPLIT(dev)) + return; /* no pixel mutlierplier readout support yet */ + WARN(encoder_pixel_multiplier != pipe_config->pixel_multiplier, "SDVO pixel multiplier mismatch, port: %i, encoder: %i\n", pipe_config->pixel_multiplier, encoder_pixel_multiplier); -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch