Exemplo n.º 1
0
static int pcm20_setvol(struct pcm20_device *dev, int vol)
{

	if(vol == dev->curvol) {	/* requested volume = current */
		if (dev->muted) {	/* user is unmuting the card  */
			dev->muted = 0;
			aci_write_cmd(0xa3,0x00); 	/* enable card */
		}	
	
		return 0;
	}

	if(vol == 0) {			/* volume = 0 means mute the card */
		aci_write_cmd(0x3d, 0x20);
		aci_write_cmd(0x35, 0x20);
		return 0;
	}

	dev->muted = 0;
	aci_write_cmd(0x3d, 32-vol); 	/* Right Channel */
	aci_write_cmd(0x35, 32-vol);	/* Left Channel */
	dev->curvol = vol;

	return 0;
}
Exemplo n.º 2
0
static void pcm20_mute(struct pcm20_device *dev)
{

	dev->muted = 1;
	aci_write_cmd(0xa3,0x01);			

}
Exemplo n.º 3
0
static int pcm20_stereo(struct pcm20_device *dev, unsigned char stereo)
{
	dev->stereo = stereo;
	return aci_write_cmd(ACI_SET_TUNERMONO, !stereo);
}
Exemplo n.º 4
0
static int pcm20_mute(struct pcm20_device *dev, unsigned char mute)
{
	dev->muted = mute;
	return aci_write_cmd(ACI_SET_TUNERMUTE, mute);
}