matroxfb returning incorrect fix.smem_len?

4 messages, 3 authors, 2007-03-01 · open the first message on its own page

matroxfb returning incorrect fix.smem_len?

From: Ian Romanick <hidden>
Date: 2007-02-28 19:26:57

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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.

If folks agree that matroxfb is in error, I'll submit a patch.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFF5dYQX1gOwKyEAw8RAivuAJ45rPETrNtVJ7/OXSV/YZbMsKSslACfcB07
200urWC85ITtG6RZf32X8po=
=DG82
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
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

Re: matroxfb returning incorrect fix.smem_len?

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2007-03-01 13:21:43

On Wed, 28 Feb 2007, Ian Romanick wrote:
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?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

-------------------------------------------------------------------------
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

Re: matroxfb returning incorrect fix.smem_len?

From: Ian Romanick <hidden>
Date: 2007-03-01 16:52:01

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Geert Uytterhoeven wrote:
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFF5wOlX1gOwKyEAw8RAv7bAJ9Jmxr+zWINCNCEP9s9HKgpr7/bGACcCg1j
PvYS3AtO0J7ssotSB/xgjO0=
=MXBE
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
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

Re: matroxfb returning incorrect fix.smem_len?

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help