diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-06 14:27:31 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-06 14:27:31 -0700 | 
| commit | 3f9df56480fc8ce492fc9e988d67bdea884ed15c (patch) | |
| tree | 6e1c5ed1e28b72435995b8bcd191daa7dfdf770e /sound/soc/codecs/wm8974.c | |
| parent | 921d2597abfc05e303f08baa6ead8f9ab8a723e1 (diff) | |
| parent | c7fabbc51352f50cc58242a6dc3b9c1a3599849b (diff) | |
Merge tag 'sound-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
 "This became wide and scattered updates all over the sound tree as
  diffstat shows: lots of (still ongoing) refactoring works in ASoC,
  fixes and cleanups caught by static analysis, inclusive term
  conversions as well as lots of new drivers. Below are highlights:
  ASoC core:
   - API cleanups and conversions to the unified mute_stream() call
   - Simplify I/O helper functions
   - Use helper macros to retrieve RTD from substreams
  ASoC drivers:
   - Lots of fixes and cleanups in Intel ASoC drivers
   - Lots of new stuff: Freescale MQS and i.MX6sx, Intel KeemBay I2S,
     Maxim MAX98360A and MAX98373 SoundWire, various Mediatek boards,
     nVidia Tegra 186 and 210, RealTek RL6231, Samsung Midas and Aries
     boards, TI J721e EVM
  ALSA core:
   - Minor code refacotring for SG-buffer handling
  HD-audio:
   - Generalization of mute-LED handling with LED classdev
   - Intel silent stream support for HDMI
   - Device-specific fixes: CA0132, Loongson-3
  Others:
   - Usual USB- and HD-audio quirks for various devices
   - Fixes for echoaudio DMA position handling
   - Various documents and trivial fixes for sparse warnings
   - Conversion to adopt inclusive terms"
* tag 'sound-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (479 commits)
  ALSA: pci: delete repeated words in comments
  ALSA: isa: delete repeated words in comments
  ALSA: hda/tegra: Add 100us dma stop delay
  ALSA: hda: Add dma stop delay variable
  ASoC: hda/tegra: Set buffer alignment to 128 bytes
  ALSA: seq: oss: Serialize ioctls
  ALSA: hda/hdmi: Add quirk to force connectivity
  ALSA: usb-audio: add startech usb audio dock name
  ALSA: usb-audio: Add support for Lenovo ThinkStation P620
  Revert "ALSA: hda: call runtime_allow() for all hda controllers"
  ALSA: hda/ca0132 - Fix AE-5 microphone selection commands.
  ALSA: hda/ca0132 - Add new quirk ID for Recon3D.
  ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value.
  ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops
  ALSA: docs: fix typo
  ALSA: doc: use correct config variable name
  ASoC: core: Two step component registration
  ASoC: core: Simplify snd_soc_component_initialize declaration
  ASoC: core: Relocate and expose snd_soc_component_initialize
  ASoC: sh: Replace 'select' DMADEVICES 'with depends on'
  ...
Diffstat (limited to 'sound/soc/codecs/wm8974.c')
| -rw-r--r-- | sound/soc/codecs/wm8974.c | 29 | 
1 files changed, 15 insertions, 14 deletions
| diff --git a/sound/soc/codecs/wm8974.c b/sound/soc/codecs/wm8974.c index 7cfc89602fc3..c86231dfcf4f 100644 --- a/sound/soc/codecs/wm8974.c +++ b/sound/soc/codecs/wm8974.c @@ -318,11 +318,11 @@ static int wm8974_set_dai_pll(struct snd_soc_dai *codec_dai, int pll_id,  	if (freq_in == 0 || freq_out == 0) {  		/* Clock CODEC directly from MCLK */ -		reg = snd_soc_component_read32(component, WM8974_CLOCK); +		reg = snd_soc_component_read(component, WM8974_CLOCK);  		snd_soc_component_write(component, WM8974_CLOCK, reg & 0x0ff);  		/* Turn off PLL */ -		reg = snd_soc_component_read32(component, WM8974_POWER1); +		reg = snd_soc_component_read(component, WM8974_POWER1);  		snd_soc_component_write(component, WM8974_POWER1, reg & 0x1df);  		return 0;  	} @@ -333,11 +333,11 @@ static int wm8974_set_dai_pll(struct snd_soc_dai *codec_dai, int pll_id,  	snd_soc_component_write(component, WM8974_PLLK1, pll_div.k >> 18);  	snd_soc_component_write(component, WM8974_PLLK2, (pll_div.k >> 9) & 0x1ff);  	snd_soc_component_write(component, WM8974_PLLK3, pll_div.k & 0x1ff); -	reg = snd_soc_component_read32(component, WM8974_POWER1); +	reg = snd_soc_component_read(component, WM8974_POWER1);  	snd_soc_component_write(component, WM8974_POWER1, reg | 0x020);  	/* Run CODEC from PLL instead of MCLK */ -	reg = snd_soc_component_read32(component, WM8974_CLOCK); +	reg = snd_soc_component_read(component, WM8974_CLOCK);  	snd_soc_component_write(component, WM8974_CLOCK, reg | 0x100);  	return 0; @@ -354,15 +354,15 @@ static int wm8974_set_dai_clkdiv(struct snd_soc_dai *codec_dai,  	switch (div_id) {  	case WM8974_OPCLKDIV: -		reg = snd_soc_component_read32(component, WM8974_GPIO) & 0x1cf; +		reg = snd_soc_component_read(component, WM8974_GPIO) & 0x1cf;  		snd_soc_component_write(component, WM8974_GPIO, reg | div);  		break;  	case WM8974_MCLKDIV: -		reg = snd_soc_component_read32(component, WM8974_CLOCK) & 0x11f; +		reg = snd_soc_component_read(component, WM8974_CLOCK) & 0x11f;  		snd_soc_component_write(component, WM8974_CLOCK, reg | div);  		break;  	case WM8974_BCLKDIV: -		reg = snd_soc_component_read32(component, WM8974_CLOCK) & 0x1e3; +		reg = snd_soc_component_read(component, WM8974_CLOCK) & 0x1e3;  		snd_soc_component_write(component, WM8974_CLOCK, reg | div);  		break;  	default: @@ -450,7 +450,7 @@ static int wm8974_set_dai_fmt(struct snd_soc_dai *codec_dai,  {  	struct snd_soc_component *component = codec_dai->component;  	u16 iface = 0; -	u16 clk = snd_soc_component_read32(component, WM8974_CLOCK) & 0x1fe; +	u16 clk = snd_soc_component_read(component, WM8974_CLOCK) & 0x1fe;  	/* set master/slave audio interface */  	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { @@ -512,8 +512,8 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream,  {  	struct snd_soc_component *component = dai->component;  	struct wm8974_priv *priv = snd_soc_component_get_drvdata(component); -	u16 iface = snd_soc_component_read32(component, WM8974_IFACE) & 0x19f; -	u16 adn = snd_soc_component_read32(component, WM8974_ADD) & 0x1f1; +	u16 iface = snd_soc_component_read(component, WM8974_IFACE) & 0x19f; +	u16 adn = snd_soc_component_read(component, WM8974_ADD) & 0x1f1;  	int err;  	priv->fs = params_rate(params); @@ -563,10 +563,10 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream,  	return 0;  } -static int wm8974_mute(struct snd_soc_dai *dai, int mute) +static int wm8974_mute(struct snd_soc_dai *dai, int mute, int direction)  {  	struct snd_soc_component *component = dai->component; -	u16 mute_reg = snd_soc_component_read32(component, WM8974_DAC) & 0xffbf; +	u16 mute_reg = snd_soc_component_read(component, WM8974_DAC) & 0xffbf;  	if (mute)  		snd_soc_component_write(component, WM8974_DAC, mute_reg | 0x40); @@ -579,7 +579,7 @@ static int wm8974_mute(struct snd_soc_dai *dai, int mute)  static int wm8974_set_bias_level(struct snd_soc_component *component,  	enum snd_soc_bias_level level)  { -	u16 power1 = snd_soc_component_read32(component, WM8974_POWER1) & ~0x3; +	u16 power1 = snd_soc_component_read(component, WM8974_POWER1) & ~0x3;  	switch (level) {  	case SND_SOC_BIAS_ON: @@ -620,11 +620,12 @@ static int wm8974_set_bias_level(struct snd_soc_component *component,  static const struct snd_soc_dai_ops wm8974_ops = {  	.hw_params = wm8974_pcm_hw_params, -	.digital_mute = wm8974_mute, +	.mute_stream = wm8974_mute,  	.set_fmt = wm8974_set_dai_fmt,  	.set_clkdiv = wm8974_set_dai_clkdiv,  	.set_pll = wm8974_set_dai_pll,  	.set_sysclk = wm8974_set_dai_sysclk, +	.no_capture_mute = 1,  };  static struct snd_soc_dai_driver wm8974_dai = { | 
