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,

Reply via email to