Re: Problems with mach64 on NetBSD/sparc64

Marc Aurele La France <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <[email protected]>
On Tue, 4 Oct 2005, Michael wrote:

>>> Second - the driver seems to either ignore the BusID parameter.
>>> Log excerpt:
>>> (--) PCI: (1:2:0) ATI Technologies Inc 3D Rage Pro 215GP rev 92, Mem @
>>> 0xe100000 0/24, 0xe2000000/12, I/O @ 0xffffff00/8, BIOS @ 0xe1020000/17
>>> (--) PCI: (2:1:0) ATI Technologies Inc Rage XL rev 39, Mem
>>> @0x11000000/24, 0x12 000000/12, I/O @ 0xffffff00/8, BIOS @ 0x12020000/17

>>> That's the onboard Rage Pro and a Sun PGX64 in a Sun Ultra 5

>>> The Device section in XF86Config:
>>> Section "Device"
>>>        ### Available Driver options are:-
>>>        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
>>>        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
>>>        ### [arg]: arg optional
>>>        #Option     "accel"                     # [<bool>]
>>>        #Option     "crt_display"               # [<bool>]
>>>        #Option     "composite_sync"            # [<bool>]
>>>        #Option     "hw_cursor"                 # [<bool>]
>>>        #Option     "mmio_cache"                # [<bool>]
>>>        #Option     "test_mmio_cache"           # [<bool>]
>>>        #Option     "panel_display"             # [<bool>]
>>>        #Option     "probe_clocks"              # [<bool>]
>>>        #Option     "reference_clock"           # <freq>
>>>        #Option     "shadow_fb"                 # [<bool>]
>>>        #Option     "sw_cursor"                 # [<bool>]
>>>        Identifier  "Card0"
>>>        Driver      "ati"
>>>        VendorName  "ATI"
>>>        BoardName   "3D Rage Pro 215GP"
>>>        ChipSet     "ati"
>>>        ChipId      0x4750
>>>        ChipRev     0x5c
>>>        BusID       "PCI:1:2:0"
>>> EndSection

>>> but XFree fails with this:
>>> (II) ATI:  Candidate "Device" section "Card0".
>>> (II) ATI:  Unshared PCI/AGP Mach64 in slot 1:2:0 detected.

>>> Fatal server error:
>>> xf86MapVidMem: could not mmap screen [s=2000,a=12000000] (Invalid
>>> argument)

>>> So it tries to map PCI resources belonging to the Rage XL while the
>>> Device section clearly says it should use the onboard Rage Pro. Even if
>>> it's only probing it shouldn't fail here since the device it's supposed
>>> to use is definitely usable - with the Rage XL removed it works as
>>> expected.

>> I'd need to see a log of this.

> The log and config are attached.

ATIProbe() tries to mmap() every adapter of interest in the system so that it 
can probe them.  This happens before the driver even looks at XF86Config 
information (which might not exist).

But that's not the real issue here.  The problem is that wscons on 
NetBSD/sparc64 does not consider secondary adapters as part of the console. 
This means that multi-head cannot work as this port is currently coded.

I would venture to guess that a different file descriptor is needed for every 
adapter in the system.  Another possibility is to convert the NetBSD/sparc64 
to use the common layer's domain scheme, essentially translating every mmap() 
request into one of /dev/mem.

Either way, there's work to be done in this port's os-support layer.

The only work-around is to remove the XL.  It won't work anyway, at least not 
under NetBSD/sparc64 as things currently stand.

Marc.

+----------------------------------+-----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310           |
|  Academic Information and        |  fax:    1-780-492-1729           |
|    Communications Technologies   |  email:  [email protected]          |
|  352 General Services Building   +-----------------------------------+
|  University of Alberta           |                                   |
|  Edmonton, Alberta               |     Standard disclaimers apply    |
|  T6G 2H1                         |                                   |
|  CANADA                          |                                   |
+----------------------------------+-----------------------------------+
XFree86 developer and VP.  ATI driver and X server internals.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.