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.
_______________________________________________
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel

Reply via email to