<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/video/console/vgacon.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-07-27T04:34:18Z</updated>
<entry>
<title>vgacon.c: add cond reschedule points in vgacon_do_font_op</title>
<updated>2013-07-27T04:34:18Z</updated>
<author>
<name>Marcelo Tosatti</name>
</author>
<published>2013-06-20T21:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=809feb1735e5f4210ba455108ca91cb55b7b8610'/>
<id>urn:sha1:809feb1735e5f4210ba455108ca91cb55b7b8610</id>
<content type='text'>
commit 7e6d72c15ff4cc0c27573901bb05f9eddbd71ed4 upstream.

Booting a 64-vcpu KVM guest, with CONFIG_PREEMPT_VOLUNTARY,
can result in a soft lockup:

BUG: soft lockup - CPU#41 stuck for 67s! [setfont:1505]
 RIP: 0010:[&lt;ffffffff812c48da&gt;]
[&lt;ffffffff812c48da&gt;] vgacon_do_font_op.clone.0+0x1ba/0x550

This is due to the 8192 (cmapsz) IO operations taking longer than expected
due to lock contention in QEMU.

Add conditional resched points in between writes allowing other tasks to
execute.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
[bwh: Backported to 3.2: add #include &lt;linux/sched.h&gt;, already present
 upstream]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>vgacon/vt: clear buffer attributes when we load a 512 character font (v2)</title>
<updated>2013-03-06T03:23:50Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2013-01-24T04:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=154184713475e6a077724f0db41b0a921008512d'/>
<id>urn:sha1:154184713475e6a077724f0db41b0a921008512d</id>
<content type='text'>
commit 2a2483072393b27f4336ab068a1f48ca19ff1c1e upstream.

When we switch from 256-&gt;512 byte font rendering mode, it means the
current contents of the screen is being reinterpreted. The bit that holds
the high bit of the 9-bit font, may have been previously set, and thus
the new font misrenders.

The problem case we see is grub2 writes spaces with the bit set, so it
ends up with data like 0x820, which gets reinterpreted into 0x120 char
which the font translates into G with a circumflex. This flashes up on
screen at boot and is quite ugly.

A current side effect of this patch though is that any rendering on the
screen changes color to a slightly darker color, but at least the screen
no longer corrupts.

v2: as suggested by hpa, always clear the attribute space, whether we
are are going to or from 512 chars.

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>
</author>
<published>2009-07-25T14:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>video: fix some comments in drivers/video/console/vgacon.c</title>
<updated>2011-01-25T06:10:21Z</updated>
<author>
<name>Amerigo Wang</name>
</author>
<published>2011-01-19T06:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63b1dd07fa378f2683ad03e543c36ec76f489364'/>
<id>urn:sha1:63b1dd07fa378f2683ad03e543c36ec76f489364</id>
<content type='text'>
Now vgacon_scrollback_startup() uses slab, not bootmem,
the comment above it is obsolete, so does __init_refok.

Signed-off-by: WANG Cong &lt;amwang@redhat.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>vgacon: check for efi machine</title>
<updated>2011-01-13T16:03:12Z</updated>
<author>
<name>Yannick Heneault</name>
</author>
<published>2011-01-13T01:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=554ec37aca8f5fbe4d70df462d7032aaa5d95ae9'/>
<id>urn:sha1:554ec37aca8f5fbe4d70df462d7032aaa5d95ae9</id>
<content type='text'>
It seems there is a small problem of VGA palette corruption on EFI
machine.  When the kernel initializes the architecture, it checks if the
machine is a EFI machine and assumes that a VGA console can exist.

When it initializes the console in vgacon_startup it checks if it can
really use the VGA console.  I think this is where a check is missing.
Currently, the function can fail if a VESA boot mode is detected but not if
a EFI boot mode was used.

Thus vgacon_startup() doesn't fail and initialize the video card for a real
VGA mode.  This function changes the first 16entries of the VGA palette.

When the efifb driver kicks in, the palette is not restored to default
ramp value, thus the 16 first entry remain in a modified state.  The
following patch prevent this corruption.

Signed-off-by: Yannick Heneault &lt;yheneaul@matrox.com&gt;
Cc: Dave Airlie &lt;airlied@linux.ie&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.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>
</entry>
<entry>
<title>BKL: remove extraneous #include &lt;smp_lock.h&gt;</title>
<updated>2010-11-17T16:59:32Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2010-11-17T15:26:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=451a3c24b0135bce54542009b5fde43846c7cf67'/>
<id>urn:sha1:451a3c24b0135bce54542009b5fde43846c7cf67</id>
<content type='text'>
The big kernel lock has been removed from all these files at some point,
leaving only the #include.

Remove this too as a cleanup.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>tty: fix console_sem lock order</title>
<updated>2010-08-10T20:47:43Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2010-06-01T20:53:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83ceb67d7dfe6aedf0e47dd6887b7b3c753542b2'/>
<id>urn:sha1:83ceb67d7dfe6aedf0e47dd6887b7b3c753542b2</id>
<content type='text'>
vgacon_do_font_op releases and reacquires the BTM while holding
console_sem. This violates the rule that BTM has to be the
outer lock whenever we hold both.

There does not seem to be any reason to give up the BTM here,
so just stop doing that.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tty: replace BKL with a new tty_lock</title>
<updated>2010-08-10T20:47:43Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2010-06-01T20:53:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec79d6056de58511d8e46d9ae59d3878f958dc3e'/>
<id>urn:sha1:ec79d6056de58511d8e46d9ae59d3878f958dc3e</id>
<content type='text'>
As a preparation for replacing the big kernel lock
in the TTY layer, wrap all the callers in new
macros tty_lock, tty_lock_nested and tty_unlock.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>console/vgacon.c: mark file-local symbol static</title>
<updated>2010-03-06T19:26:46Z</updated>
<author>
<name>Thiago Farina</name>
</author>
<published>2010-03-05T21:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6aed359df4d82c38145d95957b741f0b08d24074'/>
<id>urn:sha1:6aed359df4d82c38145d95957b741f0b08d24074</id>
<content type='text'>
warning: symbol 'vgacon_text_mode_force' was not declared. Should it be static?

Signed-off-by: Thiago Farina &lt;tfransosi@gmail.com&gt;
Acked-by: Matthew Garrett &lt;mjg@redhat.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>
</entry>
<entry>
<title>vgacon: Add support for setting the default cursor state</title>
<updated>2009-11-13T23:55:02Z</updated>
<author>
<name>Matthew Garrett</name>
</author>
<published>2009-11-13T19:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b434a680a29424856e0f40199daa9f65963c7cb4'/>
<id>urn:sha1:b434a680a29424856e0f40199daa9f65963c7cb4</id>
<content type='text'>
Pass the vga cursor state to the vt layer, ensuring that we don't hide
the cursor when the bootloader has deliberately disabled it.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
LKML-Reference: &lt;1258142222-16092-3-git-send-email-mjg@redhat.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
</feed>
