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