vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| On Thu, Jun 29, 2006 at 11:48:38PM +1000, daniel wrote: > hi > > today i tried a new kernel to see if the azalia driver is the one i > need for my soundcard. it is but there were a few problems. > > firstly, the corbrp failed to initialise with > > azalia) at pci0 dev 29 function 0 vendor "Acer Labs", unknown product > 0x5461 rev 0x02: irq 11 > azalia0: host: High Definition Audio rev. 1.0 > azalia0: CORBRP reset failure > > i fiddled around and as far as i can tell the corbrp never registers the > reset (ie, the RST flag is never set). if i ignore the reset failure the > driver initialises fine and music plays, so, with no knowledge of how > the card works, my guess would be the card does the reset quickly and > doesn't bother to tell you it is done. the following patch lets my card > work and i presumed continues to let others work as well, at the expense > of a small delay for my card. maybe there is a better way to do it. > > also, i get a page fault after the failure which i tracked down to a > null dereference of codec_t.mixer_delete. i don't have time to figure > out why it isn't a proper value since it seems to me like it should be. > since my card is unknown, i guess there is a bug in the > azalia_generic_mixer_init() path. the bottom patch works around that for > the moment until someone can figure out what's really wrong I commited the same fix for azalia_codec_delete() to the tree 20 hrs ago. The same reset failure and resulting NULL ptr dereference was reported with an NVIDIA HD Audio controller. > finally, i don't know how to register my specific card in the source so > i'll leave that to you. it's a SoundMAX ADI AD1986A on an Acer A8R-MVP > motherboard. the full dmesg after applying these patches follows Thanks for the dmesg, I added the appropriate devices to pcidevs. > thanks > > --- src/sys/dev/pci/azalia.c.orig Thu Jun 29 20:32:39 2006 > +++ src/sys/dev/pci/azalia.c Thu Jun 29 22:36:08 2006 > @@ -659,10 +659,6 @@ > if (corbrp & HDA_CORBRP_CORBRPRST) > break; > } > - if (i <= 0) { > - printf("%s: CORBRP reset failure\n", XNAME(az)); > - return -1; > - } > AZ_WRITE_2(az, CORBRP, corbrp & ~HDA_CORBRP_CORBRPRST); > for (i = 5000; i >= 0; i--) { > DELAY(10); > > --- src/sys/dev/pci/azalia.c.orig Thu Jun 29 23:10:19 2006 > +++ src/sys/dev/pci/azalia.c Thu Jun 29 23:14:40 2006 > @@ -1083,7 +1083,8 @@ > int > azalia_codec_delete(codec_t *this) > { > - this->mixer_delete(this); > + if (this->mixer_delete != NULL) > + this->mixer_delete(this); > if (this->formats != NULL) { > free(this->formats, M_DEVBUF); > this->formats = NULL; > > OpenBSD 3.9-current (GENERIC) #6: Thu Jun 29 23:12:47 EST 2006 > root@nofsk.life.au.eu.org:/usr/src/sys/arch/amd64/compile/GENERIC > real mem = 536145920 (523580K) > avail mem = 450445312 (439888K) > using 13140 buffers containing 53821440 bytes (52560K) of memory > mainbus0 (root) > bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf04f0 (66 entries) > bios0: ASUSTeK Computer INC. A8R-MVP > cpu0 at mainbus0: (uniprocessor) > cpu0: AMD Athlon(tm) 64 Processor 3200+, 2004.83 MHz > cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,P GE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE 3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW > 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 > cpu0: Cool`n'Quiet K8 2004 Mhz: speeds: 2000 1800 1000 Mhz > pci0 at mainbus0 bus 0: configuration mode 1 > pchb0 at pci0 dev 0 function 0 "ATI RS480 Host" rev 0x01 > ppb0 at pci0 dev 2 function 0 "ATI RX480 PCIE" rev 0x00 > pci1 at ppb0 bus 1 > vga1 at pci1 dev 0 function 0 "ATI Radeon X300" rev 0x00 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) > wsdisplay0: screen 1-5 added (80x25, vt100 emulation) > "ATI Radeon X300 Sec" rev 0x00 at pci1 dev 0 function 1 not configured > pchb1 at pci0 dev 24 function 0 "AMD AMD64 HyperTransport" rev 0x00 > pchb2 at pci0 dev 24 function 1 "AMD AMD64 Address Map" rev 0x00 > pchb3 at pci0 dev 24 function 2 "AMD AMD64 DRAM Cfg" rev 0x00 > pchb4 at pci0 dev 24 function 3 "AMD AMD64 Misc Cfg" rev 0x00 > ppb1 at pci0 dev 26 function 0 "Acer Labs M5249 PCI-PCI" rev 0x00 > pci2 at ppb1 bus 2 > "Conexant 56k Winmodem" rev 0x08 at pci2 dev 17 function 0 not configured > "Texas Instruments TSB43AB22 FireWire" rev 0x00 at pci2 dev 19 function 0 not configured > skc0 at pci2 dev 20 function 0 "Marvell Yukon 88E8001/8003/8010" rev 0x13, Marvell Yukon Lite (0x9): irq 11 > sk0 at skc0 port A, address 00:15:f2:91:23:3b > eephy0 at sk0 phy 0: Marvell 88E1011 Gigabit PHY, rev. 5 > ohci0 at pci0 dev 28 function 0 "Acer Labs M5237 USB" rev 0x03: irq 11, version 1.0, legacy support > usb0 at ohci0: USB revision 1.0 > uhub0 at usb0 > uhub0: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 > uhub0: 3 ports with 3 removable, self powered > ohci1 at pci0 dev 28 function 1 "Acer Labs M5237 USB" rev 0x03: irq 11, version 1.0, legacy support > usb1 at ohci1: USB revision 1.0 > uhub1 at usb1 > uhub1: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 > uhub1: 3 ports with 3 removable, self powered > ohci2 at pci0 dev 28 function 2 "Acer Labs M5237 USB" rev 0x03: irq 3, version 1.0, legacy support > usb2 at ohci2: USB revision 1.0 > uhub2 at usb2 > uhub2: Acer Labs OHCI root hub, rev 1.00/1.00, addr 1 > uhub2: 3 ports with 3 removable, self powered > ehci0 at pci0 dev 28 function 3 "Acer Labs M5239 USB2" rev 0x01: irq 10 > usb3 at ehci0: USB revision 2.0 > uhub3 at usb3 > uhub3: Acer Labs EHCI root hub, rev 2.00/1.00, addr 1 > uhub3: 8 ports with 8 removable, self powered > azalia0 at pci0 dev 29 function 0 vendor "Acer Labs", unknown product 0x5461 rev 0x02: irq 11 > azalia0: host: High Definition Audio rev. 1.0 > delete_encodings... > pcib0 at pci0 dev 30 function 0 vendor "Acer Labs", unknown product 0x1575 rev 0x00 > "Acer Labs M7101 Power" rev 0x00 at pci0 dev 30 function 1 not configured > pciide0 at pci0 dev 31 function 0 "Acer Labs M5229 UDMA IDE" rev 0xc8: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility > pciide0: channel 0 disabled (no drives) > atapiscsi0 at pciide0 channel 1 drive 0 > scsibus0 at atapiscsi0: 2 targets > cd0 at scsibus0 targ 0 lun 0: <HL-DT-ST, CD-RW GCE-8160B, 2.01> SCSI0 5/cdrom removable > cd0(pciide0:1:0): using PIO mode 4, DMA mode 2 > pciide1 at pci0 dev 31 function 1 vendor "Acer Labs", unknown product 0x5288 rev 0x10: DMA (unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI > pciide1: using irq 3 for native-PCI interrupt > wd0 at pciide1 channel 0 drive 0: <WDC WD2500JS-00NCB1> > wd0: 16-sector PIO, LBA48, 238475MB, 488397168 sectors > pciide1: channel 1 ignored (not responding; disabled or no drives?) > 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 > pmsi0 at pckbc0 (aux slot) > pckbc0: using irq 12 for aux slot > wsmouse0 at pmsi0 mux 0 > mpu0 at isa0 port 0x330/2: generic MPU-401 compatible > midi0 at mpu0: <MPU-401 MIDI UART> > pcppi0 at isa0 port 0x61 > midi1 at pcppi0: <PC speaker> > spkr0 at pcppi0 > lpt0 at isa0 port 0x378/4 irq 7 > it2 at isa0 port 0xd00/8: IT87 > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 > fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec > umass0 at uhub3 port 6 configuration 1 interface 0 > umass0: USBDisk RunDisk, rev 2.00/1.00, addr 2 > umass0: using SCSI over Bulk-Only > scsibus1 at umass0: 2 targets > sd0 at scsibus1 targ 1 lun 0: <USBDisk, RunDisk, 1.00> SCSI2 0/direct removable > sd0: 977MB, 977 cyl, 64 head, 32 sec, 512 bytes/sec, 2002000 sec total > dkcsum: wd0 matches BIOS drive 0x80 > root on wd0a > rootdev=0x0 rrootdev=0x300 rawdev=0x302 |
| Thread Tools | |
| Display Modes | |
|
|