System hangs after detecting radeondrm

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

System hangs after detecting radeondrm

Kaashif Hymabaccus-2
Hello

I have a sparc64 machine with no real graphics card, only the onboard
Mach64 framebuffer. I found an ATI Radeon 9200 and decided to see if
it works, then I could run X, test some graphical ports, etc.

My problem is that with the GPU connected, the system hangs completely
and is unresponsive to breaks in the serial line or any form of
input. I do not have a Sun keyboard, only a USB keyboard connected to
a PCI USB card (which works with no problem).

The card itself works fine on an amd64 machine I have, and I did
preemptively install the radeondrm-firmware package on the
sparc64. The machine boots up fine if I disable the radeondrm device
in the kernel.

This is an unusual setup so I wouldn't be surprised if someone told me
that it can't work for some reason. The real problem I have is that it
just hangs and seems a bit hard to debug, so I'd appreciate some
advice on how to track down the issue myself.

Here is the full output on the serial line:

Connected to /dev/cuaU0 (speed 9600)

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz), No Keyboard
OpenBoot 3.11, 512 MB memory installed, Serial #1653024.
Ethernet address 8:0:20:19:39:20, Host ID: 80193920.



                                                                     
ok boot
Boot device: disk:a  File and args:
OpenBSD IEEE 1275 Bootblock 1.4
..>> OpenBSD BOOT 1.9
Trying bsd...
Booting /pci@1f,0/pci@1,1/ide@3/disk@0,0:a/bsd
8491696@0x1000000+3408@0x18192b0+200624@0x1c00000+3993680@0x1c30fb0
symbols @ 0xfef18400 165+565992+375599 start=0x1000000
[ using 942784 bytes of bsd ELF symbol table ]
console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.3-beta (GENERIC) #461: Thu Mar  8 23:11:47 MST 2018
    [hidden email]:/usr/src/sys/arch/sparc64/compile/GENERIC
real mem = 536870912 (512MB)
avail mem = 512303104 (488MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi (rev 1.3) @ 269.808 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
psycho0 at mainbus0 addr 0xfffc4000: SUNW,sabre, impl 0, version 0, ign 7c0
psycho0: bus range 0-2, PCI bus 0
psycho0: dvma map c0000000-dfffffff
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 "Sun Simba" rev 0x11
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003 ivec 0x25
"SUNW,pll" at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0: console
sabtty1 at sab0 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ivec 0x22: polled
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff not configured
audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-722003 ivec 0x23 ivec 0x24: nvaddrs 0
audio0 at audioce0
hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:19:39:20
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
machfb0 at pci1 dev 2 function 0 "ATI Mach64" rev 0x9a
machfb0: ATY,GT-B, 1152x900
wsdisplay0 at machfb0 mux 1
wsdisplay0: screen 0 added (std, sun emulation)
pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 0x7e0 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <IC35L120AVV207-0>
wd0: 16-sector PIO, LBA48, 117800MB, 241254720 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <LITE-ON, DVDRW SOHW-1693S, KS0A> ATAPI 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 "Sun Simba" rev 0x11
pci2 at ppb1 bus 2
ohci0 at pci2 dev 1 function 0 "NEC USB" rev 0x41: ivec 0x7d0, version 1.0
ohci1 at pci2 dev 1 function 1 "NEC USB" rev 0x41: ivec 0x7d1, version 1.0
ehci0 at pci2 dev 1 function 2 "NEC USB" rev 0x02: ivec 0x7d2
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
radeondrm0 at pci2 dev 3 function 0 "ATI Radeon 9200 PRO" rev 0x01
drm0 at radeondrm0
radeondrm0: ivec 0x7d8

[This is where it hangs forever]

Reply | Threaded
Open this post in threaded view
|

Re: System hangs after detecting radeondrm

Jonathan Gray-11
On Sun, Mar 11, 2018 at 12:15:11AM +0000, Kaashif Hymabaccus wrote:

> Hello
>
> I have a sparc64 machine with no real graphics card, only the onboard
> Mach64 framebuffer. I found an ATI Radeon 9200 and decided to see if
> it works, then I could run X, test some graphical ports, etc.
>
> My problem is that with the GPU connected, the system hangs completely
> and is unresponsive to breaks in the serial line or any form of
> input. I do not have a Sun keyboard, only a USB keyboard connected to
> a PCI USB card (which works with no problem).
>
> The card itself works fine on an amd64 machine I have, and I did
> preemptively install the radeondrm-firmware package on the
> sparc64. The machine boots up fine if I disable the radeondrm device
> in the kernel.
>
> This is an unusual setup so I wouldn't be surprised if someone told me
> that it can't work for some reason. The real problem I have is that it
> just hangs and seems a bit hard to debug, so I'd appreciate some
> advice on how to track down the issue myself.

The radeondrm code is designed to take over the console on sparc64.
But the console will only get setup if you have a card with the sun/apple
fcode in the pci option rom.

It may be possible to use a different type of card but it is entirely
possible that path doesn't work at the moment.

radeon cards from sun with fcode

xvr-100 (0x1002:0x5159 pci rv100)
xvr-300 (0x1002:0x5b64 pcie rv380)

>
> Here is the full output on the serial line:
>
> Connected to /dev/cuaU0 (speed 9600)
>
> Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz), No Keyboard
> OpenBoot 3.11, 512 MB memory installed, Serial #1653024.
> Ethernet address 8:0:20:19:39:20, Host ID: 80193920.
>
>
>
>                                                                      
> ok boot
> Boot device: disk:a  File and args:
> OpenBSD IEEE 1275 Bootblock 1.4
> ..>> OpenBSD BOOT 1.9
> Trying bsd...
> Booting /pci@1f,0/pci@1,1/ide@3/disk@0,0:a/bsd
> 8491696@0x1000000+3408@0x18192b0+200624@0x1c00000+3993680@0x1c30fb0
> symbols @ 0xfef18400 165+565992+375599 start=0x1000000
> [ using 942784 bytes of bsd ELF symbol table ]
> console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> The Regents of the University of California.  All rights reserved.
> Copyright (c) 1995-2018 OpenBSD. All rights reserved.  https://www.OpenBSD.org
>
> OpenBSD 6.3-beta (GENERIC) #461: Thu Mar  8 23:11:47 MST 2018
>     [hidden email]:/usr/src/sys/arch/sparc64/compile/GENERIC
> real mem = 536870912 (512MB)
> avail mem = 512303104 (488MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root: Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz)
> cpu0 at mainbus0: SUNW,UltraSPARC-IIi (rev 1.3) @ 269.808 MHz
> cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
> psycho0 at mainbus0 addr 0xfffc4000: SUNW,sabre, impl 0, version 0, ign 7c0
> psycho0: bus range 0-2, PCI bus 0
> psycho0: dvma map c0000000-dfffffff
> pci0 at psycho0
> ppb0 at pci0 dev 1 function 1 "Sun Simba" rev 0x11
> pci1 at ppb0 bus 1
> ebus0 at pci1 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
> auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
> power0 at ebus0 addr 724000-724003 ivec 0x25
> "SUNW,pll" at ebus0 addr 504000-504002 not configured
> sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
> sabtty0 at sab0 port 0: console
> sabtty1 at sab0 port 1
> comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
> comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
> wsmouse0 at comms0 mux 0
> lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ivec 0x22: polled
> clock1 at ebus0 addr 0-1fff: mk48t59
> "flashprom" at ebus0 addr 0-fffff not configured
> audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-722003 ivec 0x23 ivec 0x24: nvaddrs 0
> audio0 at audioce0
> hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:19:39:20
> nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
> machfb0 at pci1 dev 2 function 0 "ATI Mach64" rev 0x9a
> machfb0: ATY,GT-B, 1152x900
> wsdisplay0 at machfb0 mux 1
> wsdisplay0: screen 0 added (std, sun emulation)
> pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
> pciide0: using ivec 0x7e0 for native-PCI interrupt
> wd0 at pciide0 channel 0 drive 0: <IC35L120AVV207-0>
> wd0: 16-sector PIO, LBA48, 117800MB, 241254720 sectors
> wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
> atapiscsi0 at pciide0 channel 1 drive 0
> scsibus1 at atapiscsi0: 2 targets
> cd0 at scsibus1 targ 0 lun 0: <LITE-ON, DVDRW SOHW-1693S, KS0A> ATAPI 5/cdrom removable
> cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
> ppb1 at pci0 dev 1 function 0 "Sun Simba" rev 0x11
> pci2 at ppb1 bus 2
> ohci0 at pci2 dev 1 function 0 "NEC USB" rev 0x41: ivec 0x7d0, version 1.0
> ohci1 at pci2 dev 1 function 1 "NEC USB" rev 0x41: ivec 0x7d1, version 1.0
> ehci0 at pci2 dev 1 function 2 "NEC USB" rev 0x02: ivec 0x7d2
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
> radeondrm0 at pci2 dev 3 function 0 "ATI Radeon 9200 PRO" rev 0x01
> drm0 at radeondrm0
> radeondrm0: ivec 0x7d8
>
> [This is where it hangs forever]
>

Reply | Threaded
Open this post in threaded view
|

Re: System hangs after detecting radeondrm

Kaashif Hymabaccus-2
On Sun, Mar 11, 2018 at 11:46:54AM +1100, Jonathan Gray wrote:
>
> radeon cards from sun with fcode
>
> xvr-100 (0x1002:0x5159 pci rv100)
> xvr-300 (0x1002:0x5b64 pcie rv380)
>

I have heard of people changing the PCI option ROM in their Radeon
cards to work on Suns, but only for e.g. the Radeon 7000. That only
works because the XVR-100 is already actually a Radeon 7000, I
suppose.

I guess I'll try to find a cheap XVR-100 on eBay.

Thanks for the help.

Reply | Threaded
Open this post in threaded view
|

Re: System hangs after detecting radeondrm

Kaashif Hymabaccus-2
I now have an XVR-100 and have set it up as the output device in
OpenBoot, but I have another problem. I have compiled a kernel from
current source with DEBUG and DRMDEBUG for some more info, maybe
someone knows how to fix this.

Without the debug options, the last thing I see is "BIOS signature
incorrect 0 0", then it hangs. With the debug options, I get a bit
more, here is the relevant stuff:

[...]
root on wd0a (46ab5a9032bd6120.a) swap on wd0b dump on wd0b
drm: initializing kernel modesetting (RV100 0x1002:0x5159 0x1002:0x0908).
BIOS signature incorrect 0 0
drm: Using generic clock info
drm: VRAM: 128M 0x0000000008000000 - 0x000000000FFFFFFF (64M used)
drm: GTT: 512M 0x0000000010000000 - 0x000000002FFFFFFF
drm: Detected VRAM RAM=128M, BAR=128M
drm: RAM width 64bits DDR
[TTM] Zone  kernel: Available graphics memory: 262144 kiB
[TTM] Initializing pool allocator
drm: radeon: 64M of VRAM memory ready
drm: radeon: 512M of GTT memory ready.
drm: GART: num cpu pages 65536, num gpu pages 131072
drm: PCI GART of 512M enabled (table at 0x00000000C0048000).
drm: WB disabled
drm: fence driver on ring 0 use gpu addr 0x0000000010000000 and cpu addr 0x0x400095b0000
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
[drm:pid0:drm_irq_install] irq=-1
[drm:pid0:r100_irq_process] HPD2
drm: radeon: irq initialized.
[drm:pid0:r100_cp_init_microcode]
drm: Loading R100 Microcode
drm: radeon: ring at 0x0000000010002000
[...]

Then it hangs, unresponsive. Does anyone have any idea what's going on
here? It seems to work if I either disable radeonfb and radeondrm in
UKC or if I just uninstall the firmware package (so the kernel stops
trying to initialize stuff before it gets to the problem). But at that
point, using the onboard machfb would give me the same features, so
there's not much point.

I hope this is not an issue with the OpenBoot version or the ROM on
the XVR-100, since I don't think there's anywhere to legally get those
any more.

Full boot until hang (with the XVR-100) below:

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz), No Keyboard
OpenBoot 3.11, 512 MB memory installed, Serial #1653024.
Ethernet address 8:0:20:19:39:20, Host ID: 80193920.



Rebooting with command: boot bsd.drmdebug                            
Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a  File and args: bsd.drmdebug
OpenBSD IEEE 1275 Bootblock 1.4
..>> OpenBSD BOOT 1.9
Booting /pci@1f,0/pci@1,1/ide@3/disk@0,0:a/bsd.drmdebug
8595576@0x1000000+6024@0x1832878+194936@0x1c00000+3999368@0x1c2f978
symbols @ 0xfef16400 165+570792+378541 start=0x1000000
[ using 950528 bytes of bsd ELF symbol table ]
console is /pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.3 (DEBUG) #1: Sat Mar 24 23:20:38 GMT 2018
    [hidden email]:/home/kaashif/src/sys/arch/sparc64/compile/DEBUG
real mem = 536870912 (512MB)
avail mem = 512081920 (488MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz)
cpu0 at mainbus0: SUNW,UltraSPARC-IIi (rev 1.3) @ 269.803 MHz
cpu0: physical 16K instruction (32 b/l), 16K data (32 b/l), 256K external (64 b/l)
psycho0 at mainbus0 addr 0xfffc4000: SUNW,sabre, impl 0, version 0, ign 7c0
psycho0: bus range 0-2, PCI bus 0
psycho0: dvma map c0000000-dfffffff
pci0 at psycho0
ppb0 at pci0 dev 1 function 1 "Sun Simba" rev 0x11
pci1 at ppb0 bus 1
ebus0 at pci1 dev 1 function 0 "Sun PCIO EBus2" rev 0x01
auxio0 at ebus0 addr 726000-726003, 728000-728003, 72a000-72a003, 72c000-72c003, 72f000-72f003
power0 at ebus0 addr 724000-724003 ivec 0x25
"SUNW,pll" at ebus0 addr 504000-504002 not configured
sab0 at ebus0 addr 400000-40007f ivec 0x2b: rev 3.2
sabtty0 at sab0 port 0: console
sabtty1 at sab0 port 1
comkbd0 at ebus0 addr 3083f8-3083ff ivec 0x29: no keyboard
comms0 at ebus0 addr 3062f8-3062ff ivec 0x2a
wsmouse0 at comms0 mux 0
lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d, 700000-70000f ivec 0x22: polled
"fdthree" at ebus0 addr 3023f0-3023f7, 706000-70600f, 720000-720003 ivec 0x27 not configured
clock1 at ebus0 addr 0-1fff: mk48t59
"flashprom" at ebus0 addr 0-fffff not configured
audioce0 at ebus0 addr 200000-2000ff, 702000-70200f, 704000-70400f, 722000-722003 ivec 0x23 ivec 0x24: nvaddrs 0
audio0 at audioce0
hme0 at pci1 dev 1 function 1 "Sun HME" rev 0x01: ivec 0x7e1, address 08:00:20:19:39:20
nsphy0 at hme0 phy 1: DP83840 10/100 PHY, rev. 1
machfb0 at pci1 dev 2 function 0 "ATI Mach64" rev 0x9a
machfb0: ATY,GT-B, 1152x900
wsdisplay0 at machfb0 mux 1
wsdisplay0: screen 0 added (std, sun emulation)
pciide0 at pci1 dev 3 function 0 "CMD Technology PCI0646" rev 0x03: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using ivec 0x7e0 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <IC35L120AVV207-0>
wd0: 16-sector PIO, LBA48, 117800MB, 241254720 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <LITE-ON, DVDRW SOHW-1693S, KS0A> ATAPI 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
ppb1 at pci0 dev 1 function 0 "Sun Simba" rev 0x11
pci2 at ppb1 bus 2
ohci0 at pci2 dev 1 function 0 "NEC USB" rev 0x41: ivec 0x7d0, version 1.0
ohci1 at pci2 dev 1 function 1 "NEC USB" rev 0x41: ivec 0x7d1, version 1.0
ehci0 at pci2 dev 1 function 2 "NEC USB" rev 0x02: ivec 0x7d2
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
radeondrm0 at pci2 dev 3 function 0 "ATI Radeon VE" rev 0x00[drm:pid0:radeondrm_attach_kms] PCI card detected

drm0 at radeondrm0
radeondrm0: ivec 0x7d8
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "NEC OHCI root hub" rev 1.00/1.00 addr 1
usb2 at ohci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "NEC OHCI root hub" rev 1.00/1.00 addr 1
uhidev0 at uhub2 port 2 configuration 1 interface 0 "Logitech USB-PS/2 Optical Mouse" rev 2.00/27.20 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 8 buttons, Z and W dir
wsmouse1 at ums0 mux 0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0
root on wd0a (46ab5a9032bd6120.a) swap on wd0b dump on wd0b
drm: initializing kernel modesetting (RV100 0x1002:0x5159 0x1002:0x0908).
BIOS signature incorrect 0 0
drm: Using generic clock info
drm: VRAM: 128M 0x0000000008000000 - 0x000000000FFFFFFF (64M used)
drm: GTT: 512M 0x0000000010000000 - 0x000000002FFFFFFF
drm: Detected VRAM RAM=128M, BAR=128M
drm: RAM width 64bits DDR
[TTM] Zone  kernel: Available graphics memory: 262144 kiB
[TTM] Initializing pool allocator
drm: radeon: 64M of VRAM memory ready
drm: radeon: 512M of GTT memory ready.
drm: GART: num cpu pages 65536, num gpu pages 131072
drm: PCI GART of 512M enabled (table at 0x00000000C0048000).
drm: WB disabled
drm: fence driver on ring 0 use gpu addr 0x0000000010000000 and cpu addr 0x0x400095b0000
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
[drm:pid0:drm_irq_install] irq=-1
[drm:pid0:r100_irq_process] HPD2
drm: radeon: irq initialized.
[drm:pid0:r100_cp_init_microcode]
drm: Loading R100 Microcode
drm: radeon: ring at 0x0000000010002000