Date: Sun, 9 Dec 2007 19:30:02 GMT From: Coleman Kane <cokane@FreeBSD.org> To: freebsd-multimedia@FreeBSD.org Subject: Re: kern/111767: [pcm] ATI SB450 High Definition Audio Controller sound card doesn't work Message-ID: <200712091930.lB9JU2jY030278@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/111767; it has been noted by GNATS. From: Coleman Kane <cokane@FreeBSD.org> To: Andy Kosela <andy.kosela@gmail.com> Cc: Nate Lawson <nate@root.org>, bug-followup@freebsd.org Subject: Re: kern/111767: [pcm] ATI SB450 High Definition Audio Controller sound card doesn't work Date: Sun, 09 Dec 2007 14:27:38 -0500 This is a multi-part message in MIME format. --------------030803010401040105090809 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Andy Kosela wrote: > On Dec 7, 2007 12:28 AM, Coleman Kane <cokane@freebsd.org> wrote: > >> I think that I've isolated the problem: >> >> atapci0: <ATI IXP600 SATA300 controller> port >> 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f >> mem 0xd0609000-0xd06093ff irq 16 at device 18.0 on pci0 >> ... >> pcm0: <ATI SB600 High Definition Audio Controller> mem >> 0xd0608000-0xd060bfff irq 16 at device 20.2 on pci0 >> >> The ATI Audio controller seems to be attempting to lock down a range of >> memory. The memory allocated for the SATA controller in the same >> southbridge has already taken a chunk of that space for itself. This >> might also explain some weirdness when the AHCI system is attempting to >> interact with the MMIO space... >> >> Andy, can you check your dmesg and verify this is also true on your >> machine? I looked at what you sent to me and it looks like this is the >> case (though your mem ranges are in 0xd04xxxxx). >> >> What to do about this? >> > > plotinus:~> dmesg | grep 'pcm0\|atapci' > atapci0: <\^B> port > 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f > mem 0xd0409000-0xd04093ff irq 16 at device 18.0 on pci0 > atapci0: [ITHREAD] > ata2: <ATA channel 0> on atapci0 > ata3: <ATA channel 1> on atapci0 > atapci1: <ATI IXP600 UDMA133 controller> port > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device > 20.1 on pci0 > ata0: <ATA channel 0> on atapci1 > pcm0: <ATI SB600 High Definition Audio Controller> mem > 0xd0408000-0xd040bfff irq 16 at device 20.2 on pci0 > pcm0: hdac_mem_alloc: Unable to allocate memory resource > device_attach: pcm0 attach returned 6 > atapci0: <\^B> port > 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f > mem 0xd0409000-0xd04093ff irq 16 at device 18.0 on pci0 > atapci0: [ITHREAD] > ata2: <ATA channel 0> on atapci0 > ata3: <ATA channel 1> on atapci0 > atapci1: <ATI IXP600 UDMA133 controller> port > 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device > 20.1 on pci0 > ata0: <ATA channel 0> on atapci1 > pcm0: <ATI SB600 High Definition Audio Controller> mem > 0xd0408000-0xd040bfff irq 16 at device 20.2 on pci0 > pcm0: hdac_mem_alloc: Unable to allocate memory resource > device_attach: pcm0 attach returned 6 > > I tried to play with /boot/device.hints but with no success. Is it > possible to force memory allocation for pcm0? > We could change the memory range and possibly get rid of the problem. > > Andy Kosela > Okay I now have both of these working after putting together a dirty, dirty hack in the PCI code to change the memory resource for that particular device at the point where the kernel seems to be setting up the memory map. Now I have both the HDA SB600 card working and the SATA controller working (I only got the SATA-150 drive, not the faster 7200rpm drive however, so mine only gets recognized at SATA150 speed). I am going to clean up said dirty hack and then I'll try sending over a patch with some instructions that depend upon a loader.conf hint to set the memory range manually. Then hopefully we'll have something working until some auto-remapper for PCI mem ranges can be implemented. Oh and I feel dirty now so a shower is probably in order. Attached is a dmesg for your enjoyment. -- Coleman Kane --------------030803010401040105090809 Content-Type: text/plain; name="dmesg.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.txt" Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #4: Sat Dec 8 23:50:41 EST 2007 root@erwin:/usr/obj/usr/src/sys/ERWIN Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-64 (2194.58-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x60f81 Stepping = 1 Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> Features2=0x2001<SSE3,CX16> AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!> AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch> Cores per package: 2 usable memory = 2000822272 (1908 MB) avail memory = 1930592256 (1841 MB) ACPI APIC Table: <HP 0944 > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ACPI Error (tbfadt-0516): 32/64X address mismatch in "Pm2ControlBlock": [ 8800] [ 0 8100], using 64X [20070320] ioapic0: Changing APIC ID to 2 ioapic0 <Version 2.1> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <HPQOEM SLIC-MPC> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) unknown: I/O range not supported acpi0: reservation of 0, 8000000 (3) failed acpi0: reservation of 100000, fff00000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0 acpi_ec0: <Embedded Controller: GPE 0x11> port 0x62,0x66 on acpi0 cpu0: <ACPI CPU> on acpi0 acpi_throttle0: <ACPI CPU Throttling> on cpu0 powernow0: <PowerNow! K8> on cpu0 cpu1: <ACPI CPU> on acpi0 acpi_throttle1: <ACPI CPU Throttling> on cpu1 acpi_throttle1: failed to attach P_CNT device_attach: acpi_throttle1 attach returned 6 powernow1: <PowerNow! K8> on cpu1 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 vgapci0: <VGA-compatible display> port 0x4000-0x40ff mem 0xc0000000-0xc7ffffff,0xd0400000-0xd040ffff,0xd0500000-0xd05fffff irq 19 at device 5.0 on pci1 pcib2: <ACPI PCI-PCI bridge> at device 4.0 on pci0 pci16: <ACPI PCI bus> on pcib2 pci0:16:0:0: failed to read VPD data. bge0: <Broadcom BCM5754/5787 A2, ASIC rev. 0xb002> mem 0xd0000000-0xd000ffff irq 16 at device 0.0 on pci16 miibus0: <MII bus> on bge0 brgphy0: <BCM5787 10/100/1000baseTX PHY> PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge0: Ethernet address: 00:1a:4b:74:39:96 bge0: [ITHREAD] pcib3: <ACPI PCI-PCI bridge> at device 5.0 on pci0 pci32: <ACPI PCI bus> on pcib3 pcib4: <ACPI PCI-PCI bridge> at device 6.0 on pci0 pci48: <ACPI PCI bus> on pcib4 ndis0: <Dell Wireless 1500 Draft 802.11n WLAN Mini-Card> mem 0xc8100000-0xc8103fff,0xc8000000-0xc80fffff irq 18 at device 0.0 on pci48 ndis0: [ITHREAD] ndis0: NDIS API version: 5.1 fpudna in kernel mode! ndis0: using obsoleted if_watchdog interface ndis0: Ethernet address: 00:1a:73:86:02:df atapci0: <ATI IXP600 SATA300 controller> port 0x9000-0x9007,0x9008-0x900b,0x9010-0x9017,0x5018-0x501b,0x5020-0x502f mem 0xd0609000-0xd06093ff irq 16 at device 18.0 on pci0 atapci0: [ITHREAD] atapci0: AHCI called from vendor specific driver atapci0: AHCI Version 01.10 controller with 4 ports detected ata2: <ATA channel 0> on atapci0 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci0 ata3: port not implemented ata3: [ITHREAD] ata4: <ATA channel 2> on atapci0 ata4: port not implemented ata4: [ITHREAD] ata5: <ATA channel 3> on atapci0 ata5: port not implemented ata5: [ITHREAD] ohci0: <OHCI (generic) USB controller> mem 0xd0601000-0xd0601fff irq 23 at device 19.0 on pci0 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] usb0: OHCI version 1.0, legacy support usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 2 ports with 2 removable, self powered ohci1: <OHCI (generic) USB controller> mem 0xd0602000-0xd0602fff irq 17 at device 19.1 on pci0 ohci1: [GIANT-LOCKED] ohci1: [ITHREAD] usb1: OHCI version 1.0, legacy support usb1: <OHCI (generic) USB controller> on ohci1 usb1: USB revision 1.0 uhub1: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1 uhub1: 2 ports with 2 removable, self powered ohci2: <OHCI (generic) USB controller> mem 0xd0603000-0xd0603fff irq 17 at device 19.2 on pci0 ohci2: [GIANT-LOCKED] ohci2: [ITHREAD] usb2: OHCI version 1.0, legacy support usb2: <OHCI (generic) USB controller> on ohci2 usb2: USB revision 1.0 uhub2: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2 uhub2: 2 ports with 2 removable, self powered ohci3: <OHCI (generic) USB controller> mem 0xd0604000-0xd0604fff irq 17 at device 19.3 on pci0 ohci3: [GIANT-LOCKED] ohci3: [ITHREAD] usb3: OHCI version 1.0, legacy support usb3: <OHCI (generic) USB controller> on ohci3 usb3: USB revision 1.0 uhub3: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3 uhub3: 2 ports with 2 removable, self powered ohci4: <OHCI (generic) USB controller> mem 0xd0605000-0xd0605fff irq 17 at device 19.4 on pci0 ohci4: [GIANT-LOCKED] ohci4: [ITHREAD] usb4: OHCI version 1.0, legacy support usb4: <OHCI (generic) USB controller> on ohci4 usb4: USB revision 1.0 uhub4: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4 uhub4: 2 ports with 2 removable, self powered ehci0: <EHCI (generic) USB 2.0 controller> mem 0xd0606000-0xd06060ff irq 23 at device 19.5 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb5: EHCI version 1.0 usb5: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4 usb5: <EHCI (generic) USB 2.0 controller> on ehci0 usb5: USB revision 2.0 uhub5: <ATI EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb5 uhub5: 10 ports with 10 removable, self powered pci0: <serial bus, SMBus> at device 20.0 (no driver attached) atapci1: <ATI IXP600 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x5040-0x504f irq 16 at device 20.1 on pci0 ata0: <ATA channel 0> on atapci1 ata0: [ITHREAD] pcm0: <ATI SB600 High Definition Audio Controller> mem 0xd0614000-0xd0617fff irq 16 at device 20.2 on pci0 pcm0: [ITHREAD] isab0: <PCI-ISA bridge> at device 20.3 on pci0 isa0: <ISA bus> on isab0 pcib5: <ACPI PCI-PCI bridge> at device 20.4 on pci0 pci2: <ACPI PCI bus> on pcib5 cbb0: <RF5C476 PCI-CardBus Bridge> mem 0xd0100000-0xd0100fff irq 20 at device 4.0 on pci2 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [ITHREAD] pci2: <serial bus, FireWire> at device 4.1 (no driver attached) battery0: <ACPI Control Method Battery> on acpi0 battery1: <ACPI Control Method Battery> on acpi0 acpi_acad0: <AC Adapter> on acpi0 acpi_button0: <Sleep Button> on acpi0 acpi_lid0: <Control Method Lid Switch> on acpi0 acpi_tz0: <Thermal Zone> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse, device ID 3 cryptosoft0: <software crypto> on motherboard orm0: <ISA Option ROM> at iomem 0xd0000-0xd0fff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0 at vga0 ubt0: <Broadcom Corp HP Integrated Module, class 224/1, rev 2.00/1.00, addr 2> on uhub0 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 4) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=64; nframes=5, buffer size=320 ugen0: <vendor 0x08ff Fingerprint Sensor, class 255/255, rev 1.10/6.23, addr 2> on uhub2 Timecounters tick every 1.000 msec Fast IPsec: Initialized Security Association Processing. acd0: DVDR <MATSHITADVD-RAM UJ-861H/1.50> at ata0-master PIO4 ad0: 152627MB <FUJITSU MHW2160BH PL 891F> at ata2-master SATA150 pcm0: <HDA Codec: Analog Devices AD1981HD> pcm0: <HDA Driver Revision: 20071129_0050> GEOM_JOURNAL: Journal 3284468597: ad0s1e contains data. GEOM_JOURNAL: Journal 3284468597: ad0s1e contains journal. GEOM_JOURNAL: Journal ad0s1e clean. acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 SMP: AP CPU #1 Launched! cd0 at ata0 bus 0 target 0 lun 0 cd0: <MATSHITA DVD-RAM UJ-861H 1.50> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Trying to mount root from ufs:/dev/ad0s1a fpudna in kernel mode! ndis0: link state changed to UP fpudna in kernel mode! ndis0: link state changed to DOWN ndis0: link state changed to UP ndis0: link state changed to DOWN ndis0: link state changed to UP ndis0: link state changed to DOWN ndis0: link state changed to UP --------------030803010401040105090809--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712091930.lB9JU2jY030278>