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.