Fwd: X.org PCI changes breaks support for Silicon Motion SM720 Lynx3DM card?

Richard Schwarting aquarichy at gmail.com
Tue Dec 2 01:41:43 PST 2008

Thanks for the responses.

== Silicon Motion from git ==

Yes Francisco, I've tried the latest code from
git://anongit.freedesktop.org/xorg/driver/xf86-video-siliconmotion and
that led to what I thought was the same error, since I was still left
with a blank screen, but now I see that it is differently.

Having just recompiled that driver, I get the following when running:
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Dec  2 00:24:54 2008
(==) Using config file: "/etc/X11/xorg.conf"
error setting MTRR (base = 0x14200000, size = 0x00800000, type = 1)
Invalid argument (22)
error setting MTRR (base = 0x14200000, size = 0x00800000, type = 1)
Invalid argument (22)
error setting MTRR (base = 0x14200000, size = 0x00800000, type = 1)
Invalid argument (22)

Of course, I should perhaps try the recent git silicon motion driver
with the current Xorg server in git, so I'm leaving that to set up

note: The vesa driver doesn't work with this card for me either right now.

== MTRR error context ==

For some added context, that error "error setting MTRR" appears to
come from the function "pci_device_linux_sysfs_map_range(...)" from
libpciaccess's linux_sysfs.c which appears to get called as a method
"map_range" of a structure of struct pci_system_methods

I think this would be the map_range that's being called in
libpciaccess's pci_device_map_range in the lines:
err = (*pci_sys->methods->map_range)(dev,
I'll try to verify that tomorrow.

== Xorg.0.log ==

For the Xorg.0.log from a run with the Xorg server packaged in Ubuntu
8.10 and the current Silicon Motion driver from git, I've attached it

== Random Thoughts ==

Since I think this is the same issue I encountered with Fedora 9 at
the start of the summer, I'm wondering whether I'm the only Linux user
left using this particular card or whether the others are just
avoiding the current X (or whether my system is in a faulty
configuration) :D

On Mon, Dec 1, 2008 at 02:37, Francisco Jerez <currojerez at gmail.com> wrote:
>> Hello.
>> I have a Silicon Motion SM720 Lynx3DM card which X in Ubuntu 8.10 (and
>> Fedora 9) will not start on.  The log seems fine but ends with:
>>  AddScreen/ScreenInit failed for driver 0
>> The issue it experience seems to have been introduced by changes to X
>> to use libpciaccess.
>> Using GDB, and modified source littered with print statements, I see
>> that it is failing like so:
>> Xorg's dix/main.c's main() calls AddScreen(), which calls (*pfnInit)(...)
>> pfnInit points to Silicon Motion's smi_driver.c's SMI_ScreenInit.
>> SMI_ScreenInit calls SMI_MapMem().
>> SMI_MapMem calls libpciaccess's common_interface.c's pci_device_map_range().
>> It finds that the range that wants mapping is already mapped, and
>> everything falls apart.
>> The only other time pci_device_map_range() is called (and indeed for
>> the same region) is earlier when
>> dix.main.c's main() calls InitOutput(),
>> InitOutput() called xf86Screen[0]->PreInit(...).
>> PreInit pointed to Silicon Motion's smi_driver.c's SMI_PreInit()
>> and SMI_PreInit calls SMI_MapMem (which maps the same region as later
>> via pci_device_map_range()).
>> So, I'm going to try and find out what the correct behaviour should be
>> to fix it, but any hints would be gratefully appreciated.
>> I've filed bug #18816
>> (https://bugs.freedesktop.org/show_bug.cgi?id=18816) with regard to
>> this.
>> Cheers,
>>  Richard Schwarting.
>> _______________________________________________
>> xorg mailing list
>> xorg at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/xorg
> Hi,
> Have you tried the driver version from the git repository? I think I
> fixed this issue on commit c0447d33c82829248e642b3156fd9a3c0d0eb709.
> Thanks.
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg

More information about the xorg mailing list