Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Oct 2006 10:18:18 +0900
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Anish Mistry <amistry@am-productions.biz>
Cc:        freebsd-multimedia@freebsd.org, Marian Cerny <jojo@matfyz.cz>
Subject:   Re: kern/87782: [sound] snd_t4dwave and pcm0:record:0: record interrupt timeout, channel dead
Message-ID:  <20061011011818.GB11667@cdnetworks.co.kr>
In-Reply-To: <200610101559.32458.amistry@am-productions.biz>
References:  <200511211530.jALFUOFL035354@freefall.freebsd.org> <200610071652.16259.amistry@am-productions.biz> <20061010071632.GD7419@cdnetworks.co.kr> <200610101559.32458.amistry@am-productions.biz>

next in thread | previous in thread | raw e-mail | index | archive | help

--ZPt4rx8FFjLCG7dd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Oct 10, 2006 at 03:59:20PM -0400, Anish Mistry wrote:
 > On Tuesday 10 October 2006 03:16, Pyun YongHyeon wrote:
 > > On Sat, Oct 07, 2006 at 04:52:02PM -0400, Anish Mistry wrote:
 > >  > On Monday 21 November 2005 10:30, Marian Cerny wrote:
 > >  > > The following reply was made to PR kern/87782; it has been
 > >  > > noted by GNATS.
 > >  > >
 > >  > > From: Marian Cerny <jojo@matfyz.cz>
 > >  > > To: bug-followup@FreeBSD.org, freebsd@fadesa.es
 > >  > > Cc:
 > >  > > Subject: Re: kern/87782: [sound] snd_t4dwave and
 > >  > > pcm0:record:0: record interrupt timeout, channel dead Date:
 > >  > > Mon, 21 Nov 2005 16:29:00 +0100
 > >  > >
 > >  > >  I have the same problem on FreeBSD 5.4-RELEASE-p1.
 > >  > >
 > >  > >  # dmesg | grep pcm
 > >  > >  pcm0: <Acer Labs M5451> port 0x8400-0x84ff mem
 > >  > > 0xf0011000-0xf0011fff irq 5 at device 8.0 on pci0 pcm0:
 > >  > > <Analog Devices AD1886A AC97 Codec>
 > >  > >  pcm0:record:0: record interrupt timeout, channel dead
 > >  >
 > >  > pcm0: <Acer Labs M5451> port 0x1000-0x10ff mem
 > >  > 0xfc101000-0xfc101fff irq 9 at device 4.0 on pci0
 > >  > pcm0: <SigmaTel STAC9756/57 AC97 Codec>
 > >  > pcm0: <Acer Labs M5451> at io 0x1000 irq 9 kld snd_t4dwave
 > >  > (4p/1r/1v channels duplex default)
 > >  >
 > >  > I'm still seeing this with -CURRENT.  I can give access to
 > >  > someone if they need access.
 > >
 > > Hmm... I think I've posted a possible fix log time ago but got no
 > > reply. Would you please try attached patch?
 > > If it work for you I'll make complete patch.
 > The patch does not work.  I don't see the channel dead message when 
 > using wmrecord, but the app sort of hangs (I can stop the recording, 
 > but the timer doesn't advance) and doesn't record anything.  There 
 > seems to be data in the wav file but it isn't playable.  Attached.
 > 

Did recording ever work on your M5451?
I have no idea why t4dwave(4) still uses legacy capturing mode(Sound
Blaster compatible mode). It seems that M5451 support code lacks codec
initialization. So I guess its ADC part was not activated.
Try attached patch and let me know the result.

-- 
Regards,
Pyun YongHyeon

--ZPt4rx8FFjLCG7dd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="t4dwave.diff2"

--- t4dwave.c.orig	Tue Mar  1 17:58:05 2005
+++ t4dwave.c	Wed Oct 11 09:57:42 2006
@@ -93,6 +93,7 @@
 
 	struct mtx *lock;
 
+	u_int32_t numchans;
 	u_int32_t playchns;
 	unsigned int bufsz;
 
@@ -725,7 +726,7 @@
 	intsrc = tr_rd(tr, TR_REG_MISCINT, 4);
 	if (intsrc & TR_INT_ADDR) {
 		chnum = 0;
-		while (chnum < 64) {
+		while (chnum < tr->numchans) {
 			mask = 0x00000001;
 			active = tr_rd(tr, (chnum < 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB, 4);
 			bufhalf = tr_rd(tr, (chnum < 32)? TR_REG_CSPF_A : TR_REG_CSPF_B, 4);
@@ -773,6 +774,7 @@
 		tr_wr(tr, SPA_REG_CODECST, SPA_RST_OFF, 4);
 		break;
 	case TDX_PCI_ID:
+	case ALI_PCI_ID:
 		tr_wr(tr, TDX_REG_CODECST, TDX_CDC_ON, 4);
 		break;
 	case TNX_PCI_ID:
@@ -846,6 +848,10 @@
 		device_printf(dev, "unable to initialize the card\n");
 		goto bad;
 	}
+	if (tr->type == ALI_PCI_ID)
+		tr->numchans = 32;
+	else
+		tr->numchans = 64;
 	tr->playchns = 0;
 
 	codec = AC97_CREATE(dev, tr, tr_ac97);

--ZPt4rx8FFjLCG7dd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061011011818.GB11667>