2009/6/2 Andrew Morton <a...@linux-foundation.org>:
> On Sat, 30 May 2009 13:58:33 +0200
> Krzysztof Helt <krzysztof...@poczta.fm> wrote:
>
>> The intelfb driver sets color map depending on currently active pipe. 
>> However, if an LVDS
>> display is attached (like in laptop) the active pipe variable is never set. 
>> The default value is
>> PIPE_A and can be wrong.
>> Set up the pipe variable during driver initialization after hardware state 
>> was read.
>>
>> Also, the detection of the active display (and hence the pipe) is wrong. The 
>> pipes are assigned
>> to so called planes. Both pipes are always enabled on my laptop but only one 
>> plane is enabled
>> (the plane A for the CRT or the plane B for the LVDS). Change active pipe 
>> detection code
>> to take into account a status of the plane assigned to each pipe.
>>
>> The problem is visible in the 8 bpp mode if colors above 15 are used. The 
>> first 16 color
>> entries are displayed correctly.
>>
>> The graphics chip description is here (G45 vol. 3):
>> http://intellinuxgraphics.org/documentation.html
>>
>> Signed-off-by: Krzysztof Helt <krzysztof...@wp.pl>
>>
>> ---
>> The second version of the fix to this problem. Now, it is much more 
>> sophisticated
>> based on the knowledge gained from documentation available at 
>> http://intellinuxgraphics.org/.
>>
>> It does not change a default behaviour (assumed pipe A) for all cases except 
>> the case that only
>> the plane assigned to the pipe B is active. It is enough to fix the issue 
>> for me.
>
> I queued this.
>
>> Please test it.
>
> But it would great be Dean and/or Michal were to be able to test it, please.
>

Thanks for the patch.

Unfortunately I did not get to testing the patch yet.

According to the description it is supposed to resolve some confusion
over what pipe is enabled or not.

X server reports the pipes connected as follows:
(II) intel(0):   Pipe A is on
(II) intel(0):   Display plane A is now enabled and connected to pipe A.
(II) intel(0):   Pipe B is off
(II) intel(0):   Display plane B is now disabled and connected to pipe A.
(II) intel(0):   Output VGA is connected to pipe none
(II) intel(0):   Output TMDS-1 is connected to pipe A
(II) intel(0):   Output TV is connected to pipe none

However, I also get this warning before the outputs are listed:
(WW) intel(0): Couldn't detect panel mode.  Disabling panel

Is this a configuration that would likely be affected by the issue
fixed here or do I have a different problem?

I am currently not using intelfb because last time I tried it produced
even worse results than efifb (which does suffer from the wrong colors
as well).

Thanks

Michal

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to