kern/111767: [pcm] ATI SB450 High Definition Audio Controller
sound card doesn't work
Coleman Kane
cokane at FreeBSD.org
Sun Dec 9 11:30:02 PST 2007
The following reply was made to PR kern/111767; it has been noted by GNATS.
From: Coleman Kane <cokane at FreeBSD.org>
To: Andy Kosela <andy.kosela at gmail.com>
Cc: Nate Lawson <nate at root.org>, bug-followup at 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 at 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 at 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--
More information about the freebsd-multimedia
mailing list