[Intel-gfx] Questions on display pipes on 835GM

Daniel Vetter daniel at ffwll.ch
Sat Oct 5 21:39:04 CEST 2013


Hi Thomas,

btw I've just read through your dvo code again and I think we can fix this
easier. If I read your enable hack correctly then we need to have the dpll
running and the DVO port on. The problem now is that in the dvo ->modeset
callback this is explicitly _not_ the case.

This is not a big issue when there's only one pipe in use, but it wreaks
havoc when more than one pipe is in use. So we need to move all that code
somewhere else.

Now if you follow the callchains around the dvo->dpms callbacks the DVO
port and DPLL are always enabled at that point in time, so I think we
should be able to fix this all by moving the modeset code around to that
place.

Let me work a bit on a patch and see whether it helps my X30, too.

Cheers, Daniel
On Sat, Oct 5, 2013 at 9:24 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Sat, Oct 5, 2013 at 6:47 PM, Thomas Richter <thor at math.tu-berlin.de> wrote:
>>
>>> The CRT port can only be driven by pipe A, so I think that explains why
>>> your hacks may go bad when a CRT monitor is used.
>>
>>
>> Understood, this makes sense. Thus, DVO would then be at pipe B. How is this
>> switch made, and where? There need to be a register somewhere that tells the
>> i835 which signal goes where.
>
> If the intel_connector->base.encoder pointer is non-NULL, then you can
> get at the pipe throught
> to_intel_crtc(intel_connector->base.encoder->crtc)->pipe. If this
> pointer doesn't exist then the dvo chip shouldn't be in use at the
> moment.
>
> For intel_encoder you can chase
> to_intel_crtc(intel_encoder->base.crtc)->pipe, but you first need to
> check the crtc pointer for non-NULL.
>
> btw you can check whether pipe B works without a 2nd display
> potentially wreaking havoc (so should be simpler to debug) with:
>
> xrandr --output LVDS --crtc 1 --auto
>
> Cheers, Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list