Misc, After patching pcidevs (included below) I was able to get the kernel to recognize a Radeon HD 4850, however, attempts to run something that uses GL result in the following errors:
$ xlock -nolock -mode random -modelist allgl drmRadeonCmdBuffer: -22. Kernel failed to parse or rejected command stream. See dmesg for more info. >From dmesg: error: [drm:pid20952:r300_emit_carefully_checked_packet0] *ERROR* Register 4e4c failed check as flag=00 error: [drm:pid20952:r300_do_cp_cmdbuf] *ERROR* r300_emit_packet0 failed I found a question about a similar card here: http://marc.info/?l=openbsd-misc&m=129338059513546&w=2 The links seemed to indicate that there were some changes made to both Linux and FreeBSD, and it would appear that those changes have already been made to OpenBSD as well. Is there something else that I might be missing? The card works fine, just no acceleration. Also, I tried without RADEON_IS_MOBILITY (this isn't a laptop, but maybe it actually uses the same code), but without it, the system locks up hard and is completely unresponsive with dead video signal. Is it going to be possible to get acceleration working with this? If so, any pointers? Here is a complete dmesg: OpenBSD 4.8-stable (GENERIC.MP) #5: Wed Feb 23 23:42:51 MST 2011 r...@angmar.bradfordfamily.org:/usr/src/sys/arch/i386/compile/GENERIC.MP cpu0: Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz ("GenuineIntel" 686-class) 3.01 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM real mem = 3756552192 (3582MB) avail mem = 3685130240 (3514MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 11/18/09, BIOS32 rev. 0 @ 0xfb990, SMBIOS rev. 2.4 @ 0xf0000 (72 entries) bios0: vendor Phoenix Technologies, LTD version "ASUS P5N-E SLI ACPI BIOS Revision 1406" date 11/18/2009 bios0: ASUSTeK Computer INC. P5N-E SLI acpi0 at bios0: rev 2 acpi0: sleep states S0 S1 S3 S4 S5 acpi0: tables DSDT FACP MCFG APIC SSDT acpi0: wakeup devices HUB0(S5) XVRA(S5) XVRB(S5) XVRC(S5) XVRD(S5) UAR1(S5) PS2M(S4) PS2K(S4) USB0(S4) USB2(S4) AZAD(S5) MMAC(S5) MMCI(S5) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: apic clock running at 333MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz ("GenuineIntel" 686-class) 3.01 GHz cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 11, 24 pins ioapic0: misconfigured as apic 0, remapped to apid 4 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 3 (HUB0) acpicpu0 at acpi0 acpicpu1 at acpi0 acpitz0 at acpi0: critical temperature 75 degC acpibtn0 at acpi0: PWRB aibs0 at acpi0 aibs0: FSIF: misformed package: 3/5, assume 5 bios0: ROM list: 0xc0000/0xfa00 0xd0000/0x8000! 0xd8000/0x2000! pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 0 function 0 "NVIDIA C55 Host" rev 0xa2 "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 1 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 2 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 3 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 4 not configured "NVIDIA C55 Memory" rev 0xa2 at pci0 dev 0 function 5 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 6 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 0 function 7 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 0 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 1 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 2 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 3 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 4 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 5 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 1 function 6 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 2 function 0 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 2 function 1 not configured "NVIDIA C55 Memory" rev 0xa1 at pci0 dev 2 function 2 not configured ppb0 at pci0 dev 3 function 0 "NVIDIA C55 PCIE" rev 0xa1 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "ATI Mobility Radeon HD 4850" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) radeondrm0 at vga1: apic 4 int 16 (irq 11) drm0 at radeondrm0 azalia0 at pci1 dev 0 function 1 "ATI Radeon HD 48xx HD Audio" rev 0x00: apic 4 int 16 (irq 11) azalia0: no supported codecs azalia0: initialization failure, detaching ppb1 at pci0 dev 7 function 0 "NVIDIA C55 PCIE" rev 0xa1 pci2 at ppb1 bus 2 jmb0 at pci2 dev 0 function 0 "JMicron JMB360 SATA" rev 0x02 ahci0 at jmb0: apic 4 int 16 (irq 11), AHCI 1.0 scsibus0 at ahci0: 32 targets "NVIDIA MCP51 Host" rev 0xa2 at pci0 dev 9 function 0 not configured pcib0 at pci0 dev 10 function 0 "NVIDIA MCP51 ISA" rev 0xa3 nviic0 at pci0 dev 10 function 1 "NVIDIA MCP51 SMBus" rev 0xa3 iic0 at nviic0 iic0: addr 0x22 00=c3 01=8b 02=38 04=03 05=45 06=02 0a=3f 10=18 12=80 13=80 14=01 1a=eb 28=98 29=34 2a=27 2b=c0 2c=49 2d=90 2f=89 38=40 3a=40 40=c3 41=8b 42=38 44=03 45=45 46=02 4a=3f 50=18 52=80 53=80 54=01 5a=eb 68=98 69=34 6a=27 6b=c0 6c=49 6d=90 6f=89 78=40 7a=40 80=c3 81=8b 82=38 84=03 85=45 86=02 8a=3f 90=18 92=80 93=80 94=01 9a=eb a8=98 a9=34 aa=27 ab=c0 ac=49 ad=90 af=89 b8=40 ba=40 c0=c3 c1=8b c2=38 c4=03 c5=45 c6=02 ca=3f d0=18 d2=80 d3=80 d4=01 da=eb e8=98 e9=34 ea=27 eb=c0 ec=49 ed=90 ef=89 f8=40 fa=40 words 00=c3c3 01=8b8b 02=3838 03=0000 04=0303 05=4545 06=0202 07=0000 spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 spdmem1 at iic0 addr 0x51: 2GB DDR2 SDRAM non-parity PC2-6400CL5 iic1 at nviic0 "NVIDIA MCP51 Memory" rev 0xa3 at pci0 dev 10 function 2 not configured ohci0 at pci0 dev 11 function 0 "NVIDIA MCP51 USB" rev 0xa3: apic 4 int 20 (irq 11), version 1.0, legacy support ehci0 at pci0 dev 11 function 1 "NVIDIA MCP51 USB" rev 0xa3: apic 4 int 20 (irq 10) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1 pciide0 at pci0 dev 13 function 0 "NVIDIA MCP51 IDE" rev 0xa1: 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: <PLEXTOR, CD-R PX-240A, 1.00> ATAPI 5/cdrom removable cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 pciide0: channel 1 disabled (no drives) pciide1 at pci0 dev 14 function 0 "NVIDIA MCP51 SATA" rev 0xa1: DMA pciide1: using apic 4 int 20 (irq 11) for native-PCI interrupt wd0 at pciide1 channel 0 drive 0: <ST3500631NS> wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 6 pciide2 at pci0 dev 15 function 0 "NVIDIA MCP51 SATA" rev 0xa1: DMA pciide2: using apic 4 int 20 (irq 10) for native-PCI interrupt atapiscsi1 at pciide2 channel 0 drive 0 scsibus2 at atapiscsi1: 2 targets cd1 at scsibus2 targ 0 lun 0: <LITE-ON, DVDRW LH-20A1L, BL05> ATAPI 5/cdrom removable cd1(pciide2:0:0): using PIO mode 4, Ultra-DMA mode 5 atapiscsi2 at pciide2 channel 1 drive 0 scsibus3 at atapiscsi2: 2 targets cd2 at scsibus3 targ 0 lun 0: <LITE-ON, DVDRW LH-20A1L, BL05> ATAPI 5/cdrom removable cd2(pciide2:1:0): using PIO mode 4, Ultra-DMA mode 5 ppb2 at pci0 dev 16 function 0 "NVIDIA MCP51 PCI-PCI" rev 0xa2 pci3 at ppb2 bus 3 xl0 at pci3 dev 7 function 0 "3Com 3c905B 100Base-TX" rev 0x64: apic 4 int 17 (irq 10), address 00:50:da:19:a8:21 bmtphy0 at xl0 phy 24: 3C905B internal PHY, rev. 0 azalia1 at pci0 dev 16 function 1 "NVIDIA MCP51 HD Audio" rev 0xa2: apic 4 int 20 (irq 10) azalia1: codecs: Realtek ALC883 audio0 at azalia1 nfe0 at pci0 dev 20 function 0 "NVIDIA MCP51 LAN" rev 0xa3: apic 4 int 20 (irq 5), address 00:1d:60:87:19:9b eephy0 at nfe0 phy 1: 88E1116 Gigabit PHY, rev. 1 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: 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, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 it0 at isa0 port 0x2e/2: IT8718F rev 2, EC port 0x290 npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 usb1 at ohci0: USB revision 1.0 uhub1 at usb1 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1 mtrr: Pentium Pro MTRR support uhidev0 at uhub1 port 2 configuration 1 interface 0 "Logitech USB Receiver" rev 1.10/17.00 addr 2 uhidev0: iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev1 at uhub1 port 2 configuration 1 interface 1 "Logitech USB Receiver" rev 1.10/17.00 addr 2 uhidev1: iclass 3/1, 4 report ids ums0 at uhidev1 reportid 1: 16 buttons, Z dir wsmouse0 at ums0 mux 0 uhid0 at uhidev1 reportid 2: input=2, output=0, feature=0 uhid1 at uhidev1 reportid 3: input=1, output=0, feature=0 uhid2 at uhidev1 reportid 4: input=3, output=0, feature=0 softraid0 at root root on wd0a swap on wd0b dump on wd0b error: [drm:pid20952:r300_emit_carefully_checked_packet0] *ERROR* Register 4e4c failed check as flag=00 error: [drm:pid20952:r300_do_cp_cmdbuf] *ERROR* r300_emit_packet0 failed error: [drm:pid8086:r300_emit_carefully_checked_packet0] *ERROR* Register 4e4c failed check as flag=00 error: [drm:pid8086:r300_do_cp_cmdbuf] *ERROR* r300_emit_packet0 failed Here is the patch: Index: pci/pcidevs =================================================================== RCS file: /home/cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.1567 diff -u -r1.1567 pcidevs --- pci/pcidevs 31 Jul 2010 19:49:56 -0000 1.1567 +++ pci/pcidevs 24 Feb 2011 07:49:03 -0000 @@ -1321,6 +1321,7 @@ product ATI RADEON_2100 0x796e Radeon 2100 product ATI RADEON_HD4870 0x9440 Radeon HD 4870 product ATI RADEON_HD4850 0x9442 Radeon HD 4850 +product ATI RADEON_HD4850_M98 0x944a Mobility Radeon HD 4850 product ATI RADEON_HD4870_M98 0x945a Mobility Radeon HD 4870 product ATI RADEON_HD4890 0x9460 Radeon HD 4890 product ATI RADEON_HD4670 0x9490 Radeon HD 4670 Index: pci/pcidevs.h =================================================================== RCS file: /home/cvs/src/sys/dev/pci/pcidevs.h,v retrieving revision 1.1564 diff -u -r1.1564 pcidevs.h --- pci/pcidevs.h 31 Jul 2010 19:51:26 -0000 1.1564 +++ pci/pcidevs.h 24 Feb 2011 07:49:03 -0000 @@ -1326,6 +1326,7 @@ #define PCI_PRODUCT_ATI_RADEON_2100 0x796e /* Radeon 2100 */ #define PCI_PRODUCT_ATI_RADEON_HD4870 0x9440 /* Radeon HD 4870 */ #define PCI_PRODUCT_ATI_RADEON_HD4850 0x9442 /* Radeon HD 4850 */ +#define PCI_PRODUCT_ATI_RADEON_HD4850_M98 0x944a /* Mobility Radeon HD 4850 */ #define PCI_PRODUCT_ATI_RADEON_HD4870_M98 0x945a /* Mobility Radeon HD 4870 */ #define PCI_PRODUCT_ATI_RADEON_HD4890 0x9460 /* Radeon HD 4890 */ #define PCI_PRODUCT_ATI_RADEON_HD4670 0x9490 /* Radeon HD 4670 */ Index: pci/pcidevs_data.h =================================================================== RCS file: /home/cvs/src/sys/dev/pci/pcidevs_data.h,v retrieving revision 1.1559 diff -u -r1.1559 pcidevs_data.h --- pci/pcidevs_data.h 31 Jul 2010 19:51:26 -0000 1.1559 +++ pci/pcidevs_data.h 24 Feb 2011 07:49:03 -0000 @@ -3660,6 +3660,10 @@ "Radeon HD 4850", }, { + PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4850_M98, + "Mobility Radeon HD 4850", + }, + { PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4870_M98, "Mobility Radeon HD 4870", }, Index: pci/drm/radeon_drv.c =================================================================== RCS file: /home/cvs/src/sys/dev/pci/drm/radeon_drv.c,v retrieving revision 1.49 diff -u -r1.49 radeon_drv.c --- pci/drm/radeon_drv.c 8 Aug 2010 20:54:17 -0000 1.49 +++ pci/drm/radeon_drv.c 24 Feb 2011 07:49:03 -0000 @@ -516,6 +516,8 @@ CHIP_RV730|RADEON_NEW_MEMMAP}, {PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4850, CHIP_RV770|RADEON_NEW_MEMMAP}, + {PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4850_M98, + CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, {PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4870, CHIP_RV770|RADEON_NEW_MEMMAP}, {PCI_VENDOR_ATI, PCI_PRODUCT_ATI_RADEON_HD4870_M98,