On 3/3/2014 2:31 AM, Mark Kettenis wrote:
drm: initializing kernel modesetting (RS690 0x1002:0x791E 0x1458:0xD000).
radeondrm0: VRAM: 128M 0x0000000078000000 - 0x000000007FFFFFFF (128M used)
radeondrm0: GTT: 512M 0x0000000080000000 - 0x000000009FFFFFFF
drm: PCIE GART of 512M enabled (table at 0x00000000052B1000).
error: [drm:pid0:r100_ring_test] *ERROR* radeon: ring test failed
(scratch(0x15E4)=0xCAFEDEAD)
error: [drm:pid0:r100_cp_init] *ERROR* radeon: cp isn't working (-22).
error: [drm:pid0:rs690_startup] *ERROR* failed initializing CP (-22).
error: [drm:pid0:rs690_init] *ERROR* Disabling GPU acceleration
error: [drm:pid0:r100_cp_fini] *ERROR* Wait for CP idle timeout,
shutting down CP.
error: [drm:pid0:r100_gui_wait_for_idle] *ERROR* radeon: wait for empty
RBBM fifo failed ! Bad things might happen.
error: [drm:pid0:r100_cp_disable] *ERROR* Failed to wait GUI idle while
programming pipes. Bad things might happen.
drm: radeon: cp finalized
Nothing bad is likely to happen beyond your graphics hardware not
working. That said, I think you're hitting a bug in radeondrm(4).
Can you try building a kernel with the following diff?
Index: radeon_gart.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/radeon/radeon_gart.c,v
retrieving revision 1.4
diff -u -p -r1.4 radeon_gart.c
--- radeon_gart.c 9 Feb 2014 23:57:04 -0000 1.4
+++ radeon_gart.c 3 Mar 2014 10:20:45 -0000
@@ -75,8 +75,8 @@ int radeon_gart_table_ram_alloc(struct r
flags |= BUS_DMA_NOCACHE;
}
#endif
- dmah = drm_dmamem_alloc(rdev->dmat, rdev->gart.table_size, 0,
- 1, rdev->gart.table_size, flags, 0);
+ dmah = drm_dmamem_alloc(rdev->dmat, rdev->gart.table_size,
+ rdev->gart.table_size, 1, rdev->gart.table_size, flags, 0);
if (dmah == NULL) {
return -ENOMEM;
}
Thank you, Mark.
I applied the patch and compiled and installed the new kernel, but no
joy. The only change I could detect in the dmesg is the position of the
PCIE GART table.
OpenBSD 5.5 (GENERIC) #1: Mon Mar 3 08:40:18 PST 2014
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 1995309056 (1902MB)
avail mem = 1933684736 (1844MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf0100 (52 entries)
bios0: vendor Award Software International, Inc. version "F5" date
07/27/2007
bios0: Gigabyte Technology Co., Ltd. GA-MA69VM-S2
acpi0 at bios0: rev 0
acpi0: sleep states S0 S1 S4 S5
acpi0: tables DSDT FACP SSDT MCFG APIC
acpi0: wakeup devices USB0(S3) USB1(S3) USB2(S3) USB3(S3) USB4(S3)
USB5(S3) SBAZ(S4) P2P_(S5) PCE2(S4) PCE3(S4) PCE4(S4) PCE5(S4) PCE6(S4)
PCE7(S4) PCE8(S4) PS2M(S5) [...]
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 Processor 3200+, 2004.84 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,SVM,EAPICSP,AMCR8
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 200MHz
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 21, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 3 (P2P_)
acpiprt2 at acpi0: bus 2 (PCE2)
acpiprt3 at acpi0: bus -1 (PCE3)
acpiprt4 at acpi0: bus -1 (PCE4)
acpiprt5 at acpi0: bus -1 (PCE5)
acpiprt6 at acpi0: bus -1 (PCE6)
acpiprt7 at acpi0: bus -1 (PCE7)
acpiprt8 at acpi0: bus -1 (PCE8)
acpiprt9 at acpi0: bus 1 (AGP_)
acpicpu0 at acpi0: PSS
acpibtn0 at acpi0: PWRB
cpu0: PowerNow! K8 2004 MHz: speeds: 2000 1800 1000 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "ATI RS690 Host" rev 0x00
ppb0 at pci0 dev 1 function 0 "ATI RS690 PCIE" rev 0x00
pci1 at ppb0 bus 1
radeondrm0 at pci1 dev 5 function 0 "ATI Radeon X1250" rev 0x00
drm0 at radeondrm0
radeondrm0: msi
ppb1 at pci0 dev 2 function 0 "ATI RS690M PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
em0 at pci2 dev 0 function 0 "Intel 82572EI" rev 0x06: apic 2 int 18,
address 00:1b:21:00:6e:c2
ahci0 at pci0 dev 18 function 0 "ATI SB600 SATA" rev 0x00: apic 2 int
22, AHCI 1.1
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD2500JD-41H, 21.0> SCSI3
0/direct fixed t10.ATA_WDC_WD2500JD-41HBC0_WD-WMAL72832761
sd0: 238474MB, 512 bytes/sector, 488395055 sectors
ohci0 at pci0 dev 19 function 0 "ATI SB600 USB" rev 0x00: apic 2 int 16,
version 1.0, legacy support
ohci1 at pci0 dev 19 function 1 "ATI SB600 USB" rev 0x00: apic 2 int 17,
version 1.0, legacy support
ohci2 at pci0 dev 19 function 2 "ATI SB600 USB" rev 0x00: apic 2 int 18,
version 1.0, legacy support
ohci3 at pci0 dev 19 function 3 "ATI SB600 USB" rev 0x00: apic 2 int 17,
version 1.0, legacy support
ohci4 at pci0 dev 19 function 4 "ATI SB600 USB" rev 0x00: apic 2 int 18,
version 1.0, legacy support
ehci0 at pci0 dev 19 function 5 "ATI SB600 USB2" rev 0x00: apic 2 int 19
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "ATI EHCI root hub" rev 2.00/1.00 addr 1
piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x14: SMI
iic0 at piixpm0
iic0: addr 0x2e 00=00 01=00 02=80 03=00 04=a1 05=07 06=00 07=00 words
00=00ff 01=00ff 02=80ff 03=00ff 04=a1ff 05=07ff 06=00ff 07=00ff
spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-6400CL5
spdmem1 at iic0 addr 0x51: 1GB DDR2 SDRAM non-parity PC2-6400CL5
pciide0 at pci0 dev 20 function 1 "ATI SB600 IDE" rev 0x00: DMA, channel
0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <TEAC, CD-224E-N, 1.AA> ATAPI 5/cdrom
removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2
azalia0 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 2
int 16
azalia0: codecs: Realtek ALC888
audio0 at azalia0
pcib0 at pci0 dev 20 function 3 "ATI SB600 ISA" rev 0x00
ppb2 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
pci3 at ppb2 bus 3
re0 at pci3 dev 15 function 0 "Realtek 8169SC" rev 0x10: RTL8169/8110SCd
(0x1800), apic 2 int 23, address 00:1d:7d:93:5b:94
rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2
pchb1 at pci0 dev 24 function 0 "AMD AMD64 0Fh HyperTransport" rev 0x00
pchb2 at pci0 dev 24 function 1 "AMD AMD64 0Fh Address Map" rev 0x00
pchb3 at pci0 dev 24 function 2 "AMD AMD64 0Fh DRAM Cfg" rev 0x00
kate0 at pci0 dev 24 function 3 "AMD AMD64 0Fh Misc Cfg" rev 0x00: core
rev DH-F2
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "ATI OHCI root hub" rev 1.00/1.00 addr 1
usb2 at ohci1: USB revision 1.0
uhub2 at usb2 "ATI OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci2: USB revision 1.0
uhub3 at usb3 "ATI OHCI root hub" rev 1.00/1.00 addr 1
usb4 at ohci3: USB revision 1.0
uhub4 at usb4 "ATI OHCI root hub" rev 1.00/1.00 addr 1
usb5 at ohci4: USB revision 1.0
uhub5 at usb5 "ATI OHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
it0 at isa0 port 0x2e/2: IT8716F rev 0, EC port 0x228
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (94c944f1736d57c6.a) swap on sd0b dump on sd0b
drm: initializing kernel modesetting (RS690 0x1002:0x791E 0x1458:0xD000).
radeondrm0: VRAM: 128M 0x0000000078000000 - 0x000000007FFFFFFF (128M used)
radeondrm0: GTT: 512M 0x0000000080000000 - 0x000000009FFFFFFF
drm: PCIE GART of 512M enabled (table at 0x0000000005300000).
error: [drm:pid0:r100_ring_test] *ERROR* radeon: ring test failed
(scratch(0x15E4)=0xCAFEDEAD)
error: [drm:pid0:r100_cp_init] *ERROR* radeon: cp isn't working (-22).
error: [drm:pid0:rs690_startup] *ERROR* failed initializing CP (-22).
error: [drm:pid0:rs690_init] *ERROR* Disabling GPU acceleration
error: [drm:pid0:r100_cp_fini] *ERROR* Wait for CP idle timeout,
shutting down CP.
error: [drm:pid0:r100_gui_wait_for_idle] *ERROR* radeon: wait for empty
RBBM fifo failed ! Bad things might happen.
error: [drm:pid0:r100_cp_disable] *ERROR* Failed to wait GUI idle while
programming pipes. Bad things might happen.
drm: radeon: cp finalized
No connectors reported connected with modes
Cannot find any crtc or sizes - going 1024x768
radeondrm0: 1024x768
wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
wsdisplay0: screen 1-5 added (std, vt100 emulation)