<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/video/intelfb/intelfbhw.h, branch v3.2.7</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>intelfb: fix setting of active pipe with LVDS displays</title>
<updated>2009-12-16T15:20:05+00:00</updated>
<author>
<name>Krzysztof Helt</name>
<email>krzysztof.h1@wp.pl</email>
</author>
<published>2009-12-16T00:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cfbd646fe060f70fe6618be2f9c25f739c067e29'/>
<id>cfbd646fe060f70fe6618be2f9c25f739c067e29</id>
<content type='text'>
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

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13285

Signed-off-by: Krzysztof Helt &lt;krzysztof.h1@wp.pl&gt;
Cc: Michal Suchanek &lt;hramrach@centrum.cz&gt;
Cc: Dean Menezes &lt;samanddeanus@yahoo.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13285

Signed-off-by: Krzysztof Helt &lt;krzysztof.h1@wp.pl&gt;
Cc: Michal Suchanek &lt;hramrach@centrum.cz&gt;
Cc: Dean Menezes &lt;samanddeanus@yahoo.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Intel FB: more interlaced mode support</title>
<updated>2007-10-16T16:43:20+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2007-10-16T08:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=394d3af7ba9e67d630c1c6d2ac1d9c11b318b73e'/>
<id>394d3af7ba9e67d630c1c6d2ac1d9c11b318b73e</id>
<content type='text'>
Intel FB: allow odd- and even-field-first in interlaced modes, and
proper sync to vertical retrace

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intel FB: allow odd- and even-field-first in interlaced modes, and
proper sync to vertical retrace

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Intel FB: obvious changes and corrections</title>
<updated>2007-10-16T16:43:19+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2007-10-16T08:29:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ee5618f4937dcbff15e504663d81a7adb3d849bf'/>
<id>ee5618f4937dcbff15e504663d81a7adb3d849bf</id>
<content type='text'>
Intel FB: obvious changes and corrections

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intel FB: obvious changes and corrections

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Intel FB: whitespace, bracket and other clean-ups</title>
<updated>2007-10-16T16:43:19+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2007-10-16T08:29:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=689c9568f54747c13f287ae53956281e7cd810fa'/>
<id>689c9568f54747c13f287ae53956281e7cd810fa</id>
<content type='text'>
Intel FB: whitespace, bracket and other clean-ups

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intel FB: whitespace, bracket and other clean-ups

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;sylvain.meyer@worldonline.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Intel FB: support for interlaced video modes</title>
<updated>2007-10-16T16:43:18+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2007-10-16T08:29:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=10b98368a0a94b015c1a596b7a02eff447a65226'/>
<id>10b98368a0a94b015c1a596b7a02eff447a65226</id>
<content type='text'>
Intel framebuffer now supports interlaced video modes.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intel framebuffer now supports interlaced video modes.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Cc: "Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intelfb: add preliminary i2c support</title>
<updated>2006-07-03T09:03:10+00:00</updated>
<author>
<name>Dennis Munsie</name>
<email>dmunsie@cecropia.com</email>
</author>
<published>2006-06-20T18:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=82c10f07c2d7baf6f280f206f9067a4715777962'/>
<id>82c10f07c2d7baf6f280f206f9067a4715777962</id>
<content type='text'>
[02/07] intelfb: add GPIO registers.

Signed-off-by: Dennis Munsie &lt;dmunsie@cecropia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[02/07] intelfb: add GPIO registers.

Signed-off-by: Dennis Munsie &lt;dmunsie@cecropia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intelfb: add vsync interrupt support</title>
<updated>2006-07-03T08:59:46+00:00</updated>
<author>
<name>Eric Hustvedt</name>
<email>ehustvedt@cecropia.com</email>
</author>
<published>2006-06-20T18:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=37bced38b3d09c3de7c871790eddde81a3ce57cb'/>
<id>37bced38b3d09c3de7c871790eddde81a3ce57cb</id>
<content type='text'>
[04/05] intelfb: implement FBIO_WAITFORVSYNC ioctl

The (unofficial) FBIO_WAITFORVSYNC ioctl is implemented by sleeping on the appropriate waitqueue, as defined in my earlier patch. Currently, only display 0 (aka pipe A) is supported.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[04/05] intelfb: implement FBIO_WAITFORVSYNC ioctl

The (unofficial) FBIO_WAITFORVSYNC ioctl is implemented by sleeping on the appropriate waitqueue, as defined in my earlier patch. Currently, only display 0 (aka pipe A) is supported.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intelfb: add vsync interrupt support</title>
<updated>2006-07-03T08:59:46+00:00</updated>
<author>
<name>Eric Hustvedt</name>
<email>ehustvedt@cecropia.com</email>
</author>
<published>2006-06-20T18:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7649757bd900bc900adcd95ab08903cdc28342fa'/>
<id>7649757bd900bc900adcd95ab08903cdc28342fa</id>
<content type='text'>
[03/05] intelfb: Implement basic interrupt handling

Functions have been added to enable and disable interrupts using the MMIO registers. Currently only pipe A vsync interrupts are enabled.
A generalized vsync accounting struct is defined, with the intent that it can encapsulate per-pipe vsync related info in the future. Currently a single instance is hard-coded.
The interrupt service routine currently only looks for vsync interrupts on pipe A, and increments a counter and wakes up anyone waiting on it.

This implementation is heavily influenced by similar implementations in the atyfb and matroxfb drivers.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[03/05] intelfb: Implement basic interrupt handling

Functions have been added to enable and disable interrupts using the MMIO registers. Currently only pipe A vsync interrupts are enabled.
A generalized vsync accounting struct is defined, with the intent that it can encapsulate per-pipe vsync related info in the future. Currently a single instance is hard-coded.
The interrupt service routine currently only looks for vsync interrupts on pipe A, and increments a counter and wakes up anyone waiting on it.

This implementation is heavily influenced by similar implementations in the atyfb and matroxfb drivers.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intelfb: add vsync interrupt support</title>
<updated>2006-07-03T08:59:46+00:00</updated>
<author>
<name>Eric Hustvedt</name>
<email>ehustvedt@cecropia.com</email>
</author>
<published>2006-06-20T18:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9a5f019b1a9ea6a75ba36d7c312ff069006ed479'/>
<id>9a5f019b1a9ea6a75ba36d7c312ff069006ed479</id>
<content type='text'>
[02/05] intelfb: Add interrupt related register definitions

Add constants for accessing HWSTAM, IER, IIR, and IMR registers.
Add constants for interrupt types supported by the 8xx and 9xx chipsets.
The registers are also stored in the hwstate struct and dumped in the debug routine.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[02/05] intelfb: Add interrupt related register definitions

Add constants for accessing HWSTAM, IER, IIR, and IMR registers.
Add constants for interrupt types supported by the 8xx and 9xx chipsets.
The registers are also stored in the hwstate struct and dumped in the debug routine.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>intelfb: add vsync interrupt support</title>
<updated>2006-07-03T08:59:46+00:00</updated>
<author>
<name>Eric Hustvedt</name>
<email>ehustvedt@cecropia.com</email>
</author>
<published>2006-06-20T18:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3ce6fb4358bce6aced489f798138795163ad3f7c'/>
<id>3ce6fb4358bce6aced489f798138795163ad3f7c</id>
<content type='text'>
[01/05] intelfb: Add 16-bit register access macros

This patch adds macros to read and write two-byte MMIO registers. The interrupt-related registers are all word-sized, rather than long-sized.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[01/05] intelfb: Add 16-bit register access macros

This patch adds macros to read and write two-byte MMIO registers. The interrupt-related registers are all word-sized, rather than long-sized.

Signed-off-by: Eric Hustvedt &lt;ehustvedt@cecropia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
