Bug 617687 - [2.6.34] Console font corruption on matroxfb
Summary: [2.6.34] Console font corruption on matroxfb
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 13
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-23 18:28 UTC by Jóhann B. Guðmundsson
Modified: 2010-08-07 04:20 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-08-07 04:20:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Screenshot (402.01 KB, image/png)
2010-07-23 18:28 UTC, Jóhann B. Guðmundsson
no flags Details
/var/log/messages (118.56 KB, text/plain)
2010-07-23 18:29 UTC, Jóhann B. Guðmundsson
no flags Details

Description Jóhann B. Guðmundsson 2010-07-23 18:28:35 UTC
Created attachment 434027 [details]
Screenshot

Description of problem:

Remote console display on 34.x kernels is broken. 

Remote console in IBM BladeCenter H Advanced Management Module

Version-Release number of selected component (if applicable):

Any 34.x series we currently have in koji.

How reproducible:

Always

Steps to Reproduce:
1. Start remote console in the IBM BladeCenter H Advanced Management Module
2. Boot or just switch to the blade running the 34.x kernel
3.
  
Actual results:

See attached picture

Expected results:

Display being a OK

Additional info:

Works fine with any 33.x kernels we have.

Comment 1 Jóhann B. Guðmundsson 2010-07-23 18:29:46 UTC
Created attachment 434028 [details]
/var/log/messages

Comment 2 Chuck Ebbert 2010-07-23 22:08:35 UTC
You could try pci=nocrs:

Jul 23 18:01:56 snotra kernel: PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug

Comment 3 Jóhann B. Guðmundsson 2010-07-26 08:51:41 UTC
Adding pci=nocrs did not change anything

Comment 4 Chuck Ebbert 2010-08-01 08:34:32 UTC
Font corruption with matroxfb was mentioned on LKML recently:

http://permalink.gmane.org/gmane.linux.kernel/1015771

Comment 5 Chuck Ebbert 2010-08-03 23:17:25 UTC
You should be able to blacklist matroxfb and use vesa or vga modes. We may just have to disable building the matroxfb driver entirely unless someone can figure out why it broke.

Comment 6 Chuck Ebbert 2010-08-04 10:30:23 UTC
Fix, from: http://marc.info/?l=linux-kernel&m=128086050905521&q=raw


Fix incorrect use of memcpy_toio() in matroxfb that broke in 2.6.34.

Signed-off-by: Ondrej Zary <linux>

--- linux-2.6.35-rc2/drivers/video/matrox/matroxfb_base.h
+++ linux-2.6.35-rc3/drivers/video/matrox/matroxfb_base.h
@@ -151,13 +151,13 @@ static inline void mga_writel(vaddr_t va
 static inline void mga_memcpy_toio(vaddr_t va, const void* src, int len) {
 #if defined(__alpha__) || defined(__i386__) || defined(__x86_64__)
 	/*
-	 * memcpy_toio works for us if:
+	 * iowrite32_rep works for us if:
 	 *  (1) Copies data as 32bit quantities, not byte after byte,
 	 *  (2) Performs LE ordered stores, and
 	 *  (3) It copes with unaligned source (destination is guaranteed to be page
 	 *      aligned and length is guaranteed to be multiple of 4).
 	 */
-	memcpy_toio(va.vaddr, src, len);
+	iowrite32_rep(va.vaddr, src, len >> 2);
 #else
         u_int32_t __iomem* addr = va.vaddr;

Comment 7 Chuck Ebbert 2010-08-04 12:51:11 UTC
Fix will be in 2.6.34.2-33

Comment 8 Jóhann B. Guðmundsson 2010-08-04 18:38:38 UTC
Confirmed fixed with 2.6.34.2-33 great work everyone....

Comment 9 Chuck Ebbert 2010-08-07 04:20:30 UTC
This bug never hit a released kernel, so closing it now.


Note You need to log in before you can comment on or make changes to this bug.