diff options
author | Jeka | 2023-08-29 17:07:49 +0300 |
---|---|---|
committer | Jeka | 2023-08-29 17:07:49 +0300 |
commit | d1d0ce6f3e085d43ba887a19d0907c24ce9e9c5f (patch) | |
tree | 9adfef359bd5a37be834c76f4359b36d7a043557 /0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch | |
parent | ce5e811f08877f45fbe8a2db2a2505c0e7ff616e (diff) | |
download | aur-d1d0ce6f3e085d43ba887a19d0907c24ce9e9c5f.tar.gz |
kernel release 6.5.0
Diffstat (limited to '0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch')
-rw-r--r-- | 0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch b/0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch deleted file mode 100644 index 5049e3963a51..000000000000 --- a/0011-ALSA-hda-cs35l41-Ensure-amp-is-only-unmuted-during-p.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 6f1a7b41a626a567fcfe915e9dbe3aea34b6c3ec Mon Sep 17 00:00:00 2001 -From: Stefan Binding <sbinding@opensource.cirrus.com> -Date: Fri, 21 Jul 2023 16:18:16 +0100 -Subject: [PATCH 11/11] ALSA: hda: cs35l41: Ensure amp is only unmuted during - playback - -Currently we only mute after playback has finished, and unmute -prior to setting global enable. To prevent any possible pops -and clicks, mute at probe, and then only unmute after global -enable is set. - -Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> ---- - sound/pci/hda/cs35l41_hda.c | 22 ++++++++++++++++++++-- - 1 file changed, 20 insertions(+), 2 deletions(-) - -diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c -index 175378cdf9df..98feb5ccd586 100644 ---- a/sound/pci/hda/cs35l41_hda.c -+++ b/sound/pci/hda/cs35l41_hda.c -@@ -58,8 +58,6 @@ static const struct reg_sequence cs35l41_hda_config[] = { - { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON - { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON - { CS35L41_DSP1_RX5_SRC, 0x00000020 }, // DSP1RX5 SRC = ERRVOL -- { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB -- { CS35L41_AMP_GAIN_CTRL, 0x00000084 }, // AMP_GAIN_PCM 4.5 dB - }; - - static const struct reg_sequence cs35l41_hda_config_dsp[] = { -@@ -82,6 +80,14 @@ static const struct reg_sequence cs35l41_hda_config_dsp[] = { - { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON - { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON - { CS35L41_DSP1_RX5_SRC, 0x00000029 }, // DSP1RX5 SRC = VBSTMON -+}; -+ -+static const struct reg_sequence cs35l41_hda_unmute[] = { -+ { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB -+ { CS35L41_AMP_GAIN_CTRL, 0x00000084 }, // AMP_GAIN_PCM 4.5 dB -+}; -+ -+static const struct reg_sequence cs35l41_hda_unmute_dsp[] = { - { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB - { CS35L41_AMP_GAIN_CTRL, 0x00000233 }, // AMP_GAIN_PCM = 17.5dB AMP_GAIN_PDM = 19.5dB - }; -@@ -522,6 +528,13 @@ static void cs35l41_hda_play_done(struct device *dev) - - cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL, - cs35l41->firmware_running); -+ if (cs35l41->firmware_running) { -+ regmap_multi_reg_write(reg, cs35l41_hda_unmute_dsp, -+ ARRAY_SIZE(cs35l41_hda_unmute_dsp)); -+ } else { -+ regmap_multi_reg_write(reg, cs35l41_hda_unmute, -+ ARRAY_SIZE(cs35l41_hda_unmute)); -+ } - } - - static void cs35l41_hda_pause_start(struct device *dev) -@@ -1616,6 +1629,11 @@ int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int i - if (ret) - goto err; - -+ ret = regmap_multi_reg_write(cs35l41->regmap, cs35l41_hda_mute, -+ ARRAY_SIZE(cs35l41_hda_mute)); -+ if (ret) -+ goto err; -+ - INIT_WORK(&cs35l41->fw_load_work, cs35l41_fw_load_work); - mutex_init(&cs35l41->fw_mutex); - --- -2.41.0 - |