[alsa-devel] Broken headphone and speaker amplifier suppliesforthe rt5640 driver

Bard Liao bardliao at realtek.com
Mon Jul 29 05:04:46 CEST 2013

> -----Original Message-----
> From: Mark Brown [mailto:broonie at kernel.org]
> Sent: Sunday, July 28, 2013 1:35 AM
> To: Lars-Peter Clausen
> Cc: Stephen Warren; Bard Liao; Linux-ALSA
> Subject: Re: [alsa-devel] Broken headphone and speaker amplifier supplies
> forthe rt5640 driver
> On Fri, Jul 26, 2013 at 05:06:12PM +0200, Lars-Peter Clausen wrote:
> > I guess for the heaphone amplifier the right fix is to set the shift
> > to RT5640_PWR_HA_BIT. For the speaker amplifier I'd assume that the
> > right bit is RT5640_PWR_CLS_D_BIT. But the speaker amplifier widget
> > also as an event callback in which it already seems to set/clear the
> > bit. I think the right fix is to remove the register change from the
> > event callback and set the shift to RT5640_PWR_CLS_D_BIT. But I
> > neither have the hardware nor the datasheet, so this is all just an educated
> guess.
> Or set the register to SND_SOC_NOPM allowing the manual sequencing which
> is (I presume) needed?  If we're going to need an event to do the sequencing
> we may as well have it do both writes.

We do need a sequence for headphone depop.
Another question about it.
Can I do mute/unmute in the widget event?
The mute/unmute control is written in rt5640_snd_controls[] now.
It allows user to unmute speaker or headphone before dapm power on the related power.
And it will bring a pop noise.
So I prefer to do the unmute/mute step in the widget event.
Is that ok?

> ------Please consider the environment before printing this e-mail.

More information about the Alsa-devel mailing list