[Intel-gfx] [PATCH 3/3] drm/i915: Fix checking of pixel multiplier on SDVOX

Daniel Vetter daniel at ffwll.ch
Sun Jun 9 23:49:08 CEST 2013


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



More information about the Intel-gfx mailing list