<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/video/console, branch v3.2.38</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/video/console?h=v3.2.38</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/video/console?h=v3.2.38'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-09-12T02:37:24Z</updated>
<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>locking, video: Annotate vga console lock as raw</title>
<updated>2011-09-13T09:12:04Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2009-07-25T14:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6b2c1800f1d3a608af952cfbd57f8f1a71c5d9b4'/>
<id>urn:sha1:6b2c1800f1d3a608af952cfbd57f8f1a71c5d9b4</id>
<content type='text'>
The vga_lock lock can be taken in atomic context and therefore
cannot be preempted on -rt - annotate it.

In mainline this change documents the low level nature of
the lock - otherwise there's no functional difference. Lockdep
and Sparse checking will work as usual.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' into for-next</title>
<updated>2011-04-26T08:22:59Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2011-04-26T08:22:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=07f9479a40cc778bc1462ada11f95b01360ae4ff'/>
<id>urn:sha1:07f9479a40cc778bc1462ada11f95b01360ae4ff</id>
<content type='text'>
Fast-forwarded to current state of Linus' tree as there are patches to be
applied for files that didn't exist on the old branch.
</content>
</entry>
<entry>
<title>Merge branch 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6</title>
<updated>2011-04-07T19:49:17Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-04-07T19:49:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=132452ee2368cf775ccbef9746b51e3d2ba58b85'/>
<id>urn:sha1:132452ee2368cf775ccbef9746b51e3d2ba58b85</id>
<content type='text'>
* 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6:
  efifb: Add override for 11" Macbook Air 3,1
  efifb: Support overriding fields FW tells us with the DMI data.
  fb: Reduce priority of resource conflict message
  savagefb: Remove obsolete else clause in savage_setup_i2c_bus
  savagefb: Set up I2C based on chip family instead of card id
  savagefb: Replace magic register address with define
  drivers/video/bfin-lq035q1-fb.c: introduce missing kfree
  video: s3c-fb: fix checkpatch errors and warning
  efifb: support AMD Radeon HD 6490
  s3fb: fix Virge/GX2
  fbcon: Remove unused 'display *p' variable from fb_flashcursor()
  fbdev: sh_mobile_lcdcfb: fix module lock acquisition
  fbdev: sh_mobile_lcdcfb: add blanking support
  viafb: initialize margins correct
  viafb: refresh rate bug collection
  sh: mach-ap325rxa: move backlight control code
  sh: mach-ecovec24: support for main lcd backlight
</content>
</entry>
<entry>
<title>update David Miller's old email address</title>
<updated>2011-04-06T13:19:38Z</updated>
<author>
<name>Justin P. Mattock</name>
<email>justinmattock@gmail.com</email>
</author>
<published>2011-04-04T21:15:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=79add6277396b91c638f16eb2f1338badc47760d'/>
<id>urn:sha1:79add6277396b91c638f16eb2f1338badc47760d</id>
<content type='text'>
Signed-off-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23Z</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>fbcon: Remove unused 'display *p' variable from fb_flashcursor()</title>
<updated>2011-03-31T04:48:54Z</updated>
<author>
<name>Sergey Senozhatsky</name>
<email>sergey.senozhatsky@gmail.com</email>
</author>
<published>2011-03-24T20:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=62e0ff1ef2d8ea0814487f73a7de431396a1e914'/>
<id>urn:sha1:62e0ff1ef2d8ea0814487f73a7de431396a1e914</id>
<content type='text'>
Signed-off-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>fbcon: fix situation where fbcon gets deinitialised and can't reinit.</title>
<updated>2011-03-22T08:22:19Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2010-12-21T01:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32b98bf8752c5483481f77d48934aba26c967fcd'/>
<id>urn:sha1:32b98bf8752c5483481f77d48934aba26c967fcd</id>
<content type='text'>
Situation as follow:
2 GPUs + vesafb + kms.

GPU 1 is primary, vesafb binds to it as fb0
radeon loads
GPU 0 loads as fb1
GPU 1 loads, vesafb gets kicked off which causes fb0 to unbind
console, which causes the dummy console to rebind.

this means fbcon_deinit gets called, which calls fbcon_exit
since the console isn't bound anymore and we set fbcon_has_exited.

GPU 1 creates a new fb0 which is primary and we want to be console.
fbcon_fb_registered gets called sets the primary up and calls set_con2fb_map,
however as fbcon_has_exited is set nothing further ever happens.

This patch bypasses the fbcon_has_exited and checks if the console is unbound,
if its unbound it calls the fbcon_takeover which calls the vt layer to
call the fbcon_startup method and everthing works.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>fbcon: Bugfix soft cursor detection in Tile Blitting</title>
<updated>2011-03-22T07:41:08Z</updated>
<author>
<name>Henry Nestler</name>
<email>henry.nestler@gmail.com</email>
</author>
<published>2011-02-20T20:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d6244bc0ed0c52a795e6f4dcab3886daf3e74fac'/>
<id>urn:sha1:d6244bc0ed0c52a795e6f4dcab3886daf3e74fac</id>
<content type='text'>
Use mask 0x10 for "soft cursor" detection on in function tile_cursor.
(Tile Blitting Operation in framebuffer console).

The old mask 0x01 for vc_cursor_type detects CUR_NONE, CUR_LOWER_THIRD
and every second mode value as "software cursor". This hides the cursor
for these modes (cursor.mode = 0). But, only CUR_NONE or "software cursor"
should hide the cursor.
See also 0x10 in functions add_softcursor, bit_cursor and cw_cursor.

Signed-off-by: Henry Nestler &lt;henry.nestler@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>console: rename acquire/release_console_sem() to console_lock/unlock()</title>
<updated>2011-01-26T00:50:06Z</updated>
<author>
<name>Torben Hohn</name>
<email>torbenh@gmx.de</email>
</author>
<published>2011-01-25T23:07:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff'/>
<id>urn:sha1:ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff</id>
<content type='text'>
The -rt patches change the console_semaphore to console_mutex.  As a
result, a quite large chunk of the patches changes all
acquire/release_console_sem() to acquire/release_console_mutex()

This commit makes things use more neutral function names which dont make
implications about the underlying lock.

The only real change is the return value of console_trylock which is
inverted from try_acquire_console_sem()

This patch also paves the way to switching console_sem from a semaphore to
a mutex.

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]
Signed-off-by: Torben Hohn &lt;torbenh@gmx.de&gt;
Cc: Thomas Gleixner &lt;tglx@tglx.de&gt;
Cc: Greg KH &lt;gregkh@suse.de&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.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>
</entry>
</feed>
