<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/video, branch v3.2.38</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/video?h=v3.2.38</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/video?h=v3.2.38'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-01-16T01:13:18Z</updated>
<entry>
<title>video: mxsfb: fix crash when unblanking the display</title>
<updated>2013-01-16T01:13:18Z</updated>
<author>
<name>Lothar Waßmann</name>
<email>LW@KARO-electronics.de</email>
</author>
<published>2012-11-22T12:49:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c69aab88b3a960f9d41a8d2c467eb61f613cbea7'/>
<id>urn:sha1:c69aab88b3a960f9d41a8d2c467eb61f613cbea7</id>
<content type='text'>
commit 6c1ecba8d84841277d68140ef485335d5be28485 upstream.

The VDCTRL4 register does not provide the MXS SET/CLR/TOGGLE feature.
The write in mxsfb_disable_controller() sets the data_cnt for the LCD
DMA to 0 which obviously means the max. count for the LCD DMA and
leads to overwriting arbitrary memory when the display is unblanked.

Signed-off-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Acked-by: Juergen Beisert &lt;jbe@pengutronix.de&gt;
Tested-by: Lauri Hintsala &lt;lauri.hintsala@bluegiga.net&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>video/udlfb: fix line counting in fb_write</title>
<updated>2012-10-30T23:26:40Z</updated>
<author>
<name>Alexander Holler</name>
<email>holler@ahsoftware.de</email>
</author>
<published>2012-08-14T07:11:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c03970223182c35eeff66d4ff319bf2d97f4efc3'/>
<id>urn:sha1:c03970223182c35eeff66d4ff319bf2d97f4efc3</id>
<content type='text'>
commit b8c4321f3d194469007f5f5f2b34ec278c264a04 upstream.

Line 0 and 1 were both written to line 0 (on the display) and all subsequent
lines had an offset of -1. The result was that the last line on the display
was never overwritten by writes to /dev/fbN.

Signed-off-by: Alexander Holler &lt;holler@ahsoftware.de&gt;
Acked-by: Bernie Thompson &lt;bernie@plugable.com&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>viafb: don't touch clock state on OLPC XO-1.5</title>
<updated>2012-10-30T23:26:36Z</updated>
<author>
<name>Daniel Drake</name>
<email>dsd@laptop.org</email>
</author>
<published>2012-09-04T15:45:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b02e6bf9f503004c22206de09589d52fcc5a5db'/>
<id>urn:sha1:0b02e6bf9f503004c22206de09589d52fcc5a5db</id>
<content type='text'>
commit 012a1211845eab69a5488d59eb87d24cc518c627 upstream.

As detailed in the thread titled "viafb PLL/clock tweaking causes XO-1.5
instability," enabling or disabling the IGA1/IGA2 clocks causes occasional
stability problems during suspend/resume cycles on this platform.

This is rather odd, as the documentation suggests that clocks have two
states (on/off) and the default (stable) configuration is configured to
enable the clock only when it is needed. However, explicitly enabling *or*
disabling the clock triggers this system instability, suggesting that there
is a 3rd state at play here.

Leaving the clock enable/disable registers alone solves this problem.
This fixes spurious reboots during suspend/resume behaviour introduced by
commit b692a63a.

Signed-off-by: Daniel Drake &lt;dsd@laptop.org&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>OMAPFB: fix framebuffer console colors</title>
<updated>2012-09-19T14:04:31Z</updated>
<author>
<name>Grazvydas Ignotas</name>
<email>notasas@gmail.com</email>
</author>
<published>2012-08-21T06:09:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3fd4e8f0ecd916f761459f0dc7174940ce3a0b99'/>
<id>urn:sha1:3fd4e8f0ecd916f761459f0dc7174940ce3a0b99</id>
<content type='text'>
commit c1c52848cef52e157468b8879fc3cae23b6f3a99 upstream.

omapfb does not currently set pseudo palette correctly for color depths
above 16bpp, making red text invisible, command like
  echo -e '\e[0;31mRED' &gt; /dev/tty1
will display nothing on framebuffer console in 24bpp mode.
This is because temporary variable is declared incorrectly, fix it.

Signed-off-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>fbcon: fix race condition between console lock and cursor timer (v1.1)</title>
<updated>2012-09-12T02:37:24Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-08-21T06:29:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=94fb24693f5fff6ddbbfe2efd93be7f24e47e669'/>
<id>urn:sha1:94fb24693f5fff6ddbbfe2efd93be7f24e47e669</id>
<content type='text'>
commit d8636a2717bb3da2a7ce2154bf08de90bb8c87b0 upstream.

So we've had a fair few reports of fbcon handover breakage between
efi/vesafb and i915 surface recently, so I dedicated a couple of
days to finding the problem.

Essentially the last thing we saw was the conflicting framebuffer
message and that was all.

So after much tracing with direct netconsole writes (printks
under console_lock not so useful), I think I found the race.

Thread A (driver load)    Thread B (timer thread)
  unbind_con_driver -&gt;              |
  bind_con_driver -&gt;                |
  vc-&gt;vc_sw-&gt;con_deinit -&gt;          |
  fbcon_deinit -&gt;                   |
  console_lock()                    |
      |                             |
      |                       fbcon_flashcursor timer fires
      |                       console_lock() &lt;- blocked for A
      |
      |
fbcon_del_cursor_timer -&gt;
  del_timer_sync
  (BOOM)

Of course because all of this is under the console lock,
we never see anything, also since we also just unbound the active
console guess what we never see anything.

Hopefully this fixes the problem for anyone seeing vesafb-&gt;kms
driver handoff.

v1.1: add comment suggestion from Alan.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>video/smscufx: fix line counting in fb_write</title>
<updated>2012-08-09T23:24:51Z</updated>
<author>
<name>Alexander Holler</name>
<email>holler@ahsoftware.de</email>
</author>
<published>2012-04-20T22:11:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=efb6d7d667e9b142c7608666da2c7dd4d6bbbee3'/>
<id>urn:sha1:efb6d7d667e9b142c7608666da2c7dd4d6bbbee3</id>
<content type='text'>
commit 2fe2d9f47cfe1a3e66e7d087368b3d7155b04c15 upstream.

Line 0 and 1 were both written to line 0 (on the display) and all subsequent
lines had an offset of -1. The result was that the last line on the display
was never overwritten by writes to /dev/fbN.

The origin of this bug seems to have been udlfb.

Signed-off-by: Alexander Holler &lt;holler@ahsoftware.de&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: VENC: fix NULL pointer dereference in DSS2 VENC sysfs debug attr on OMAP4</title>
<updated>2012-05-30T23:43:55Z</updated>
<author>
<name>Danny Kukawka</name>
<email>danny.kukawka@bisect.de</email>
</author>
<published>2012-01-24T15:44:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=17077ca132499585780b4adb099bf1a071638cd3'/>
<id>urn:sha1:17077ca132499585780b4adb099bf1a071638cd3</id>
<content type='text'>
commit cc1d3e032df53d83d0ca4d537d8eb67eb5b3e808 upstream.

Commit ba02fa37de80bea10d706f39f076dd848348320a disabled the
venc driver registration on OMAP4. Since the driver never gets
probed/initialised your get a dereferenceed NULL pointer if you
try to get info from /sys/kernel/debug/omapdss/venc

Return info message about disabled venc if venc_dump_regs() gets called.

Signed-off-by: Danny Kukawka &lt;danny.kukawka@bisect.de&gt;
Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>video:uvesafb: Fix oops that uvesafb try to execute NX-protected page</title>
<updated>2012-04-22T22:31:01Z</updated>
<author>
<name>Wang YanQing</name>
<email>udknight@gmail.com</email>
</author>
<published>2012-04-01T00:54:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=27d6262dcbb408f320bd8b284bd094706a9b12b2'/>
<id>urn:sha1:27d6262dcbb408f320bd8b284bd094706a9b12b2</id>
<content type='text'>
commit b78f29ca0516266431688c5eb42d39ce42ec039a upstream.

This patch fix the oops below that catched in my machine

[   81.560602] uvesafb: NVIDIA Corporation, GT216 Board - 0696a290, Chip Rev   , OEM: NVIDIA, VBE v3.0
[   81.609384] uvesafb: protected mode interface info at c000:d350
[   81.609388] uvesafb: pmi: set display start = c00cd3b3, set palette = c00cd40e
[   81.609390] uvesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
[   81.614558] uvesafb: VBIOS/hardware doesn't support DDC transfers
[   81.614562] uvesafb: no monitor limits have been set, default refresh rate will be used
[   81.614994] uvesafb: scrolling: ypan using protected mode interface, yres_virtual=4915
[   81.744147] kernel tried to execute NX-protected page - exploit attempt? (uid: 0)
[   81.744153] BUG: unable to handle kernel paging request at c00cd3b3
[   81.744159] IP: [&lt;c00cd3b3&gt;] 0xc00cd3b2
[   81.744167] *pdpt = 00000000016d6001 *pde = 0000000001c7b067 *pte = 80000000000cd163
[   81.744171] Oops: 0011 [#1] SMP
[   81.744174] Modules linked in: uvesafb(+) cfbcopyarea cfbimgblt cfbfillrect
[   81.744178]
[   81.744181] Pid: 3497, comm: modprobe Not tainted 3.3.0-rc4NX+ #71 Acer            Aspire 4741                    /Aspire 4741
[   81.744185] EIP: 0060:[&lt;c00cd3b3&gt;] EFLAGS: 00010246 CPU: 0
[   81.744187] EIP is at 0xc00cd3b3
[   81.744189] EAX: 00004f07 EBX: 00000000 ECX: 00000000 EDX: 00000000
[   81.744191] ESI: f763f000 EDI: f763f6e8 EBP: f57f3a0c ESP: f57f3a00
[   81.744192]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[   81.744195] Process modprobe (pid: 3497, ti=f57f2000 task=f748c600 task.ti=f57f2000)
[   81.744196] Stack:
[   81.744197]  f82512c5 f759341c 00000000 f57f3a30 c124a9bc 00000001 00000001 000001e0
[   81.744202]  f8251280 f763f000 f7593400 00000000 f57f3a40 c12598dd f5c0c000 00000000
[   81.744206]  f57f3b10 c1255efe c125a21a 00000006 f763f09c 00000000 c1c6cb60 f7593400
[   81.744210] Call Trace:
[   81.744215]  [&lt;f82512c5&gt;] ? uvesafb_pan_display+0x45/0x60 [uvesafb]
[   81.744222]  [&lt;c124a9bc&gt;] fb_pan_display+0x10c/0x160
[   81.744226]  [&lt;f8251280&gt;] ? uvesafb_vbe_find_mode+0x180/0x180 [uvesafb]
[   81.744230]  [&lt;c12598dd&gt;] bit_update_start+0x1d/0x50
[   81.744232]  [&lt;c1255efe&gt;] fbcon_switch+0x39e/0x550
[   81.744235]  [&lt;c125a21a&gt;] ? bit_cursor+0x4ea/0x560
[   81.744240]  [&lt;c129b6cb&gt;] redraw_screen+0x12b/0x220
[   81.744245]  [&lt;c128843b&gt;] ? tty_do_resize+0x3b/0xc0
[   81.744247]  [&lt;c129ef42&gt;] vc_do_resize+0x3d2/0x3e0
[   81.744250]  [&lt;c129efb4&gt;] vc_resize+0x14/0x20
[   81.744253]  [&lt;c12586bd&gt;] fbcon_init+0x29d/0x500
[   81.744255]  [&lt;c12984c4&gt;] ? set_inverse_trans_unicode+0xe4/0x110
[   81.744258]  [&lt;c129b378&gt;] visual_init+0xb8/0x150
[   81.744261]  [&lt;c129c16c&gt;] bind_con_driver+0x16c/0x360
[   81.744264]  [&lt;c129b47e&gt;] ? register_con_driver+0x6e/0x190
[   81.744267]  [&lt;c129c3a1&gt;] take_over_console+0x41/0x50
[   81.744269]  [&lt;c1257b7a&gt;] fbcon_takeover+0x6a/0xd0
[   81.744272]  [&lt;c12594b8&gt;] fbcon_event_notify+0x758/0x790
[   81.744277]  [&lt;c10929e2&gt;] notifier_call_chain+0x42/0xb0
[   81.744280]  [&lt;c1092d30&gt;] __blocking_notifier_call_chain+0x60/0x90
[   81.744283]  [&lt;c1092d7a&gt;] blocking_notifier_call_chain+0x1a/0x20
[   81.744285]  [&lt;c124a5a1&gt;] fb_notifier_call_chain+0x11/0x20
[   81.744288]  [&lt;c124b759&gt;] register_framebuffer+0x1d9/0x2b0
[   81.744293]  [&lt;c1061c73&gt;] ? ioremap_wc+0x33/0x40
[   81.744298]  [&lt;f82537c6&gt;] uvesafb_probe+0xaba/0xc40 [uvesafb]
[   81.744302]  [&lt;c12bb81f&gt;] platform_drv_probe+0xf/0x20
[   81.744306]  [&lt;c12ba558&gt;] driver_probe_device+0x68/0x170
[   81.744309]  [&lt;c12ba731&gt;] __device_attach+0x41/0x50
[   81.744313]  [&lt;c12b9088&gt;] bus_for_each_drv+0x48/0x70
[   81.744316]  [&lt;c12ba7f3&gt;] device_attach+0x83/0xa0
[   81.744319]  [&lt;c12ba6f0&gt;] ? __driver_attach+0x90/0x90
[   81.744321]  [&lt;c12b991f&gt;] bus_probe_device+0x6f/0x90
[   81.744324]  [&lt;c12b8a45&gt;] device_add+0x5e5/0x680
[   81.744329]  [&lt;c122a1a3&gt;] ? kvasprintf+0x43/0x60
[   81.744332]  [&lt;c121e6e4&gt;] ? kobject_set_name_vargs+0x64/0x70
[   81.744335]  [&lt;c121e6e4&gt;] ? kobject_set_name_vargs+0x64/0x70
[   81.744339]  [&lt;c12bbe9f&gt;] platform_device_add+0xff/0x1b0
[   81.744343]  [&lt;f8252906&gt;] uvesafb_init+0x50/0x9b [uvesafb]
[   81.744346]  [&lt;c100111f&gt;] do_one_initcall+0x2f/0x170
[   81.744350]  [&lt;f82528b6&gt;] ? uvesafb_is_valid_mode+0x66/0x66 [uvesafb]
[   81.744355]  [&lt;c10c6994&gt;] sys_init_module+0xf4/0x1410
[   81.744359]  [&lt;c1157fc0&gt;] ? vfsmount_lock_local_unlock_cpu+0x30/0x30
[   81.744363]  [&lt;c144cb10&gt;] sysenter_do_call+0x12/0x36
[   81.744365] Code: f5 00 00 00 32 f6 66 8b da 66 d1 e3 66 ba d4 03 8a e3 b0 1c 66 ef b0 1e 66 ef 8a e7 b0 1d 66 ef b0 1f 66 ef e8 fa 00 00 00 61 c3 &lt;60&gt; e8 c8 00 00 00 66 8b f3 66 8b da 66 ba d4 03 b0 0c 8a e5 66
[   81.744388] EIP: [&lt;c00cd3b3&gt;] 0xc00cd3b3 SS:ESP 0068:f57f3a00
[   81.744391] CR2: 00000000c00cd3b3
[   81.744393] ---[ end trace 18b2c87c925b54d6 ]---

Signed-off-by: Wang YanQing &lt;udknight@gmail.com&gt;
Cc: Michal Januszewski &lt;spock@gentoo.org&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>backlight: fix typo in tosa_lcd.c</title>
<updated>2012-04-02T16:53:06Z</updated>
<author>
<name>Masanari Iida</name>
<email>standby24x7@gmail.com</email>
</author>
<published>2012-03-28T21:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2cbfe1645597e81c6f6af0b5245ab67cac6db027'/>
<id>urn:sha1:2cbfe1645597e81c6f6af0b5245ab67cac6db027</id>
<content type='text'>
commit 8da00edc1069f01c34510fa405dc15d96c090a3f upstream.

Fix typo in drivers/video/backlight/tosa_lcd.c
"tosa_lcd_reume" should be "tosa_lcd_resume".

Signed-off-by: Masanari Iida &lt;standby24x7@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>udlfb: remove sysfs framebuffer device with USB .disconnect()</title>
<updated>2012-04-02T16:52:45Z</updated>
<author>
<name>Kay Sievers</name>
<email>kay.sievers@vrfy.org</email>
</author>
<published>2012-01-28T19:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ee7d30aab7663d796c13f3d7e8e80068f922a334'/>
<id>urn:sha1:ee7d30aab7663d796c13f3d7e8e80068f922a334</id>
<content type='text'>
commit ce880cb860f36694d2cdebfac9e6ae18176fe4c4 upstream.

The USB graphics card driver delays the unregistering of the framebuffer
device to a workqueue, which breaks the userspace visible remove uevent
sequence. Recent userspace tools started to support USB graphics card
hotplug out-of-the-box and rely on proper events sent by the kernel.

The framebuffer device is a direct child of the USB interface which is
removed immediately after the USB .disconnect() callback. But the fb device
in /sys stays around until its final cleanup, at a time where all the parent
devices have been removed already.

To work around that, we remove the sysfs fb device directly in the USB
.disconnect() callback and leave only the cleanup of the internal fb
data to the delayed work.

Before:
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb0 (graphics)
 remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
 remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
 remove   /2-1.2:1.0/graphics/fb0 (graphics)

After:
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
 add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb1 (graphics)
 remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb1 (graphics)
 remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
 remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)

Tested-by: Bernie Thompson &lt;bernie@plugable.com&gt;
Acked-by: Bernie Thompson &lt;bernie@plugable.com&gt;
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
