Re: [Bugme-new] [Bug 8232] New: Creator3D Framebuffer (sparc64) on Sbus/UPA workstation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Miller a écrit :
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Mar 2007 03:34:25 -0800

On Mon, 19 Mar 2007 03:19:31 -0700 bugme-daemon@xxxxxxxxxxxxxxxxxxx wrote:

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

           Summary: Creator3D Framebuffer (sparc64) on Sbus/UPA workstation
    Kernel Version: ALL 2.6
            Status: NEW
          Severity: normal
             Owner: jsimmons@xxxxxxxxxxxxx
         Submitter: mt1@xxxxxxxxxxx


Most recent kernel where this bug did *NOT* occur: 2.4.34.1
Distribution: Debian/testing
Hardware Environment: U1E/170 with Creator3D (UPA), U2 with creator3D
Software Environment: debian without X on U1E, debian with Xorg on U2
Problem Description: Console is white foreground and blanck background by
default. Sometimes, the screen is cut like this :

N | N | N | N
--+---+---+---
N | G | G | G
--+---+---+---
N | W | W | W
--+---+---+---
N | G | G | G


where N is a 'normal' console, 'G' a 'like grey' console (black and white pixels
like snow), and 'W' a white console (many white pixels). I have tested some
differents Creator3D fb and this trouble only occurs on Sbus/UPA workstation. On
a U60 (PCI/UPA), I never see it.

When I launch Xorg, problem goes away.

A quick audit found that we're using the ->dac_rev value before
setting it properly.  One difference between the older creator
cards and the newer ones is the DAC, so perhaps this was the
bug.

Can you test the following patch?  Thanks.  I'll fire up some of
my older systems to see if I can reproduce this one.

commit 2c4f1add7dd2747cd79c220c24e1dbc3dc4a315f
Author: David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Mar 26 16:10:52 2007 -0700

    [FFB]: Initialize dac_rev before using it.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

diff --git a/drivers/video/ffb.c b/drivers/video/ffb.c
index 15854ae..3c01f45 100644
--- a/drivers/video/ffb.c
+++ b/drivers/video/ffb.c
@@ -948,8 +948,9 @@ static int ffb_init_one(struct of_device *op)
 	if ((upa_readl(&fbc->ucsr) & FFB_UCSR_ALL_ERRORS) != 0)
 		upa_writel(FFB_UCSR_ALL_ERRORS, &fbc->ucsr);
- ffb_switch_from_graph(&all->par);
-
+	/* Determine the DAC revision, we must do this before calling
+	 * ffb_switch_from_graph().
+	 */
 	dac = all->par.dac;
 	upa_writel(0x8000, &dac->type);
 	all->par.dac_rev = upa_readl(&dac->value) >> 0x1c;
@@ -960,6 +961,8 @@ static int ffb_init_one(struct of_device *op)
 	if (all->par.flags & FFB_FLAG_AFB)
 		all->par.dac_rev = 10;
+ ffb_switch_from_graph(&all->par);
+
 	/* Unblank it just to be sure.  When there are multiple
 	 * FFB/AFB cards in the system, or it is not the OBP
 	 * chosen console, it will have video outputs off in

	Hello,

Bad news... This patch doesn't work for 2.6.21.3 and my U2 with creator3D UPA freamebuffer...

	Regards,

	JKB
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux