Re: matroxfb returning incorrect fix.smem_len?
flat view
From: Ville Syrjälä <syrjala@sci.fi>
Date: 2007-03-01 16:58:35
On Thu, Mar 01, 2007 at 08:47:34AM -0800, Ian Romanick wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Geert Uytterhoeven wrote:quoted
On Wed, 28 Feb 2007, Ian Romanick wrote:quoted
While doing some work on the pci-rework branch of X.org, I noticed something strange. matroxfb correctly detects that my card has 16MiB, but fix.smem_len is only 8MiB. I looked around the matroxfb code and some of the other driver's code, and I believe that matroxfb is incorrectly setting fix.smem_len. Matroxfb sets fix.smem_len to (total_memory_size - memory_used_by_current_mode). Other drivers, such as nvidiafb do not do this.Did matroxfb detect a dual-head capable card?I did some more digging on this yesterday. It seems that ydstorg.bytes is always zero, so what I originally thought was the problem is not the problem. Looking at the logs, it looks like it is detecting my card as dual-head, but it's not. The weird thing is that I added a printk in matroxfb_update_fix to show what smem_len is begin set to. Before I start X, it prints 16MiB twice. As soon as X starts, it prints 8MiB and returns that value to the X server. I'm not quite sure what to make of that.
IIRC someone using DirectFB noticed something similar. I didn't bother investigating it much though. Also matroxfb will never report > 16MB. We have a patch in DirectFB to fix that but IIRC it was not accepted into matroxfb because the matroxfb accel code can't actually handle it. -- Ville Syrjälä syrjala@sci.fi http://www.sci.fi/~syrjala/ ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV