Date: Fri, 5 Jun 2009 20:28:37 -0500 From: "Rick C. Petty" <rick-freebsd2008@kiwi-computer.com> To: Alexander Motin <mav@FreeBSD.org> Cc: freebsd-multimedia@freebsd.org Subject: Re: snd_hda works on i386, fails on amd64 (RELENG_7) Message-ID: <20090606012837.GA78124@keira.kiwi-computer.com> In-Reply-To: <4A28D79C.6070406@FreeBSD.org> References: <1242609781.00113421.1242598202@10.7.7.3> <4A122B72.80206@FreeBSD.org> <20090519184150.GA990@keira.kiwi-computer.com> <20090605020054.GA67365@keira.kiwi-computer.com> <4A28D79C.6070406@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 05, 2009 at 11:30:20AM +0300, Alexander Motin wrote: > Rick C. Petty wrote: > > > > usable memory = 8575410176 (8178 MB) > > avail memory = 8273821696 (7890 MB) > > Could you try to limit amount of system RAM to less then 3.5GB? Hardware > or driver may have issues with support of more then 32bit addresses. I That defeats the whole point of using amd64 and was the reason I left i386. Or did you want me to try this as just a diagnostic step? > have successfully used driver on system with 4GB RAM, so I think that it > may be a hardware issue. > > Also you may try to change > sc->support_64bit = HDA_FLAG_MATCH(gcap, HDAC_GCAP_64OK); > line to > sc->support_64bit = 0; > , to strictly limit driver to 32bit addresses ignoring hardware > capabilities. I did this to sys/dev/sound/pci/hda/hdac.c and it didn't help. I added a printf immediately afterward so I was sure I was loading the right module. I'll append the dmesg output below. I'm willing to try other kernel changes but I understand little of how the (relatively) new HDA subsystem works. -- Rick C. Petty hdac0: <NVidia MCP78 High Definition Audio Controller> mem 0xfe978000-0xfe97bfff irq 22 at device 7.0 on pci0 hdac0: HDA Driver Revision: 20090329_0131 hdac0: DMA Coherency: Uncacheable / vendor=0x10de hdac0: [ITHREAD] *** RCP: disabled 64-bit support in hdac *** hdac0: CORB size: 256 hdac0: RIRB size: 256 hdac0: Streams: ISS=4 OSS=4 BSS=0 hdac0: hdac_dma_alloc: size=1024 -> roundsz=1024 hdac0: hdac_dma_alloc: size=2048 -> roundsz=2048 hdac0: Reset controller... hdac0: HDA Config: on=0x00000000 off=0x00000000 hdac0: Starting CORB Engine... hdac0: Starting RIRB Engine... hdac0: Enabling controller interrupt... hdac0: Scanning HDA codecs ... hdac0: Probing codec #0... hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 hdac0: Codec #0 is not responding! Probing aborted. hdac0: Probing codec #3... hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 hdac0: hdac_command_send_internal: TIMEOUT numcmd=1, sent=1, received=0 hdac0: Codec #3 is not responding! Probing aborted. hdac0:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090606012837.GA78124>