kern/31398: [sound] newpcm does not play back the tail of sound
Ariff Abdullah
skywizard at MyBSD.org.my
Wed Nov 9 16:07:36 GMT 2005
On Wed, 9 Nov 2005 14:34:35 +0100
Jean-Yves Lefort <jylefort at FreeBSD.org> wrote:
>
> Excellent. While here, could you also incorporate kern/40132 (and
> kern/20297 can be closed)?
>
[ .. ]
>
> Adapted to your patch:
>
> --- sys/dev/sound/pci/es137x.c.orig Tue Nov 8 16:56:09 2005
> +++ sys/dev/sound/pci/es137x.c Tue Nov 8 17:04:24 2005
> @@ -771,7 +771,7 @@
> } else {
> es->escfg = ES_SET_SINGLE_PCM_MIX(es->escfg, 0);
> }
> - es->ctrl = CTRL_CDC_EN | CTRL_SERR_DIS |
> + es->ctrl = CTRL_CDC_EN | CTRL_JYSTK_EN | CTRL_SERR_DIS |
> (DAC2_SRTODIV(fixed_rate) << CTRL_SH_PCLKDIV);
> es->ctrl |= 3 << CTRL_SH_WTSRSEL;
> es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4);
> @@ -801,7 +801,7 @@
> /* This is NOT ES1370 */
> es->escfg = ES_SET_IS_ES1370(es->escfg, 0);
> es->num = 0;
> - es->ctrl = 0;
> + es->ctrl = CTRL_JYSTK_EN;
> es->sctrl = 0;
> cssr = 0;
> devid = pci_get_devid(es->dev);
> @@ -824,9 +824,10 @@
> DELAY(20000);
> }
> /* AC'97 warm reset to start the bitclk */
> - es_wr(es, ES1370_REG_CONTROL, es->ctrl | ES1371_SYNC_RES, 4);
> - DELAY(2000);
> es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4);
> + es_wr(es, ES1371_REG_LEGACY, ES1371_SYNC_RES, 4);
> + DELAY(2000);
> + es_wr(es, ES1370_REG_CONTROL, es->sctrl, 4);
> es1371_wait_src_ready(es);
> /* Init the sample rate converter */
> es_wr(es, ES1371_REG_SMPRATE, ES1371_DIS_SRC, 4);
>
> Both versions work fine for me, my sound card:
>
Looks good. I'll incorporate it. Thanks.
> pcm0 at pci0:9:0: class=0x040100 card=0x13711274 chip=0x13711274
> rev=0x08 hdr=0x00 vendor = 'Creative (Was: Ensoniq)'
> device = 'ES1371, ES1373 AudioPCI'
> class = multimedia
> subclass = audio
>
> Thanks
>
--
Ariff Abdullah
MyBSD
http://www.MyBSD.org.my (IPv6/IPv4)
http://staff.MyBSD.org.my (IPv6/IPv4)
http://tomoyo.MyBSD.org.my (IPv6/IPv4)
More information about the freebsd-multimedia
mailing list