* [PATCH 0/6] Add new HW variants and fix few minor issues
@ 2022-03-28 11:56 Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 1/6] ALSA: hda/cs8409: Fix Warlock to use mono mic configuration Vitaly Rodionov
` (6 more replies)
0 siblings, 7 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: alsa-devel, patches, linux-kernel
This series adds new HW variants for Dell's Dolphin and Warlock,
and also fixies few very minor issues.
Stefan Binding (5):
ALSA: hda/cs8409: Fix Warlock to use mono mic configuration
ALSA: hda/cs8409: Re-order quirk table into ascending order
ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants
ALSA: hda/cs8409: Support new Warlock MLK Variants
ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg
Vitaly Rodionov (1):
ALSA: hda/cs8409: Add new Dolphin HW variants
sound/pci/hda/patch_cs8409-tables.c | 68 +++++++++++++++++++++--------
sound/pci/hda/patch_cs8409.c | 47 +++++++++++---------
sound/pci/hda/patch_cs8409.h | 5 +++
3 files changed, 83 insertions(+), 37 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/6] ALSA: hda/cs8409: Fix Warlock to use mono mic configuration
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 2/6] ALSA: hda/cs8409: Re-order quirk table into ascending order Vitaly Rodionov
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel, patches, linux-kernel, Stefan Binding
From: Stefan Binding <sbinding@opensource.cirrus.com>
Warlock/Bullseye Laptops have a mono DMIC, Cyborg uses
a stereo DMIC, and the configuration should reflect this.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index aff2b5abb81e..1411e3845f16 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -907,8 +907,8 @@ static void cs8409_cs42l42_hw_init(struct hda_codec *codec)
}
/* DMIC1_MO=00b, DMIC1/2_SR=1 */
- if (codec->fixup_id == CS8409_WARLOCK || codec->fixup_id == CS8409_CYBORG)
- cs8409_vendor_coef_set(codec, 0x09, 0x0003);
+ if (codec->fixup_id == CS8409_CYBORG)
+ cs8409_vendor_coef_set(codec, CS8409_DMIC_CFG, 0x0003);
cs42l42_resume(cs42l42);
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/6] ALSA: hda/cs8409: Re-order quirk table into ascending order
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 1/6] ALSA: hda/cs8409: Fix Warlock to use mono mic configuration Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 3/6] ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants Vitaly Rodionov
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel, patches, linux-kernel, Stefan Binding
From: Stefan Binding <sbinding@opensource.cirrus.com>
To ensure consistancy, the quirk table should be re-ordered
in ascending order
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409-tables.c | 34 ++++++++++++++---------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/sound/pci/hda/patch_cs8409-tables.c b/sound/pci/hda/patch_cs8409-tables.c
index 2d1fa706327b..9c1fa97100ef 100644
--- a/sound/pci/hda/patch_cs8409-tables.c
+++ b/sound/pci/hda/patch_cs8409-tables.c
@@ -478,28 +478,29 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
SND_PCI_QUIRK(0x1028, 0x0A29, "Bullseye", CS8409_BULLSEYE),
SND_PCI_QUIRK(0x1028, 0x0A2A, "Bullseye", CS8409_BULLSEYE),
SND_PCI_QUIRK(0x1028, 0x0A2B, "Bullseye", CS8409_BULLSEYE),
+ SND_PCI_QUIRK(0x1028, 0x0A77, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A78, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A79, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A7A, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A7D, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A7E, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A7F, "Cyborg", CS8409_CYBORG),
+ SND_PCI_QUIRK(0x1028, 0x0A80, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AB0, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AB2, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AB1, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AB3, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AB4, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AB5, "Warlock", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0ACF, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0AD0, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0AD1, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0AD2, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0AD3, "Dolphin", CS8409_DOLPHIN),
SND_PCI_QUIRK(0x1028, 0x0AD9, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0ADA, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0ADB, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0ADC, "Warlock", CS8409_WARLOCK),
- SND_PCI_QUIRK(0x1028, 0x0AF4, "Warlock", CS8409_WARLOCK),
- SND_PCI_QUIRK(0x1028, 0x0AF5, "Warlock", CS8409_WARLOCK),
- SND_PCI_QUIRK(0x1028, 0x0BB5, "Warlock N3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
- SND_PCI_QUIRK(0x1028, 0x0BB6, "Warlock V3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
- SND_PCI_QUIRK(0x1028, 0x0A77, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A78, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A79, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A7A, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A7D, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A7E, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A7F, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0A80, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0ADF, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AE0, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AE1, "Cyborg", CS8409_CYBORG),
@@ -512,11 +513,10 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
SND_PCI_QUIRK(0x1028, 0x0AEE, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AEF, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AF0, "Cyborg", CS8409_CYBORG),
- SND_PCI_QUIRK(0x1028, 0x0AD0, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0AD1, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0AD2, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0AD3, "Dolphin", CS8409_DOLPHIN),
- SND_PCI_QUIRK(0x1028, 0x0ACF, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0AF4, "Warlock", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0AF5, "Warlock", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0BB5, "Warlock N3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0BB6, "Warlock V3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
{} /* terminator */
};
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/6] ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 1/6] ALSA: hda/cs8409: Fix Warlock to use mono mic configuration Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 2/6] ALSA: hda/cs8409: Re-order quirk table into ascending order Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 4/6] ALSA: hda/cs8409: Support new Warlock MLK Variants Vitaly Rodionov
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel, patches, linux-kernel, Stefan Binding
From: Stefan Binding <sbinding@opensource.cirrus.com>
All current variants (Bullseye/Warlock/Cyborg) should be using
reduced volume (-6dB) for better speaker protection.
Refactor to make more explicit the meaning and setting of
Full Scale Volume setting to avoid future confusion.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409.c | 29 ++++++++++++++++-------------
sound/pci/hda/patch_cs8409.h | 3 +++
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index 1411e3845f16..163ff3b3092a 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -733,6 +733,7 @@ static void cs42l42_resume(struct sub_codec *cs42l42)
{ 0x130A, 0x00 },
{ 0x130F, 0x00 },
};
+ int fsv_old, fsv_new;
/* Bring CS42L42 out of Reset */
gpio_data = snd_hda_codec_read(codec, CS8409_PIN_AFG, 0, AC_VERB_GET_GPIO_DATA, 0);
@@ -749,8 +750,13 @@ static void cs42l42_resume(struct sub_codec *cs42l42)
/* Clear interrupts, by reading interrupt status registers */
cs8409_i2c_bulk_read(cs42l42, irq_regs, ARRAY_SIZE(irq_regs));
- if (cs42l42->full_scale_vol)
- cs8409_i2c_write(cs42l42, 0x2001, 0x01);
+ fsv_old = cs8409_i2c_read(cs42l42, 0x2001);
+ if (cs42l42->full_scale_vol == CS42L42_FULL_SCALE_VOL_0DB)
+ fsv_new = fsv_old & ~CS42L42_FULL_SCALE_VOL_MASK;
+ else
+ fsv_new = fsv_old & CS42L42_FULL_SCALE_VOL_MASK;
+ if (fsv_new != fsv_old)
+ cs8409_i2c_write(cs42l42, 0x2001, fsv_new);
/* we have to explicitly allow unsol event handling even during the
* resume phase so that the jack event is processed properly
@@ -997,21 +1003,15 @@ void cs8409_cs42l42_fixups(struct hda_codec *codec, const struct hda_fixup *fix,
* Additionally set HSBIAS_SENSE_EN and Full Scale volume for some variants.
*/
switch (codec->fixup_id) {
- case CS8409_WARLOCK:
- spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
- spec->scodecs[CS8409_CODEC0]->full_scale_vol = 1;
- break;
- case CS8409_BULLSEYE:
- spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
- spec->scodecs[CS8409_CODEC0]->full_scale_vol = 0;
- break;
case CS8409_CYBORG:
spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x00a0;
- spec->scodecs[CS8409_CODEC0]->full_scale_vol = 1;
+ spec->scodecs[CS8409_CODEC0]->full_scale_vol =
+ CS42L42_FULL_SCALE_VOL_MINUS6DB;
break;
default:
- spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0003;
- spec->scodecs[CS8409_CODEC0]->full_scale_vol = 1;
+ spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
+ spec->scodecs[CS8409_CODEC0]->full_scale_vol =
+ CS42L42_FULL_SCALE_VOL_MINUS6DB;
break;
}
@@ -1222,6 +1222,9 @@ void dolphin_fixups(struct hda_codec *codec, const struct hda_fixup *fix, int ac
cs8409_fix_caps(codec, DOLPHIN_LO_PIN_NID);
cs8409_fix_caps(codec, DOLPHIN_AMIC_PIN_NID);
+ spec->scodecs[CS8409_CODEC0]->full_scale_vol = CS42L42_FULL_SCALE_VOL_MINUS6DB;
+ spec->scodecs[CS8409_CODEC1]->full_scale_vol = CS42L42_FULL_SCALE_VOL_MINUS6DB;
+
break;
case HDA_FIXUP_ACT_PROBE:
/* Fix Sample Rate to 48kHz */
diff --git a/sound/pci/hda/patch_cs8409.h b/sound/pci/hda/patch_cs8409.h
index d0b725c7285b..8e846f292cd0 100644
--- a/sound/pci/hda/patch_cs8409.h
+++ b/sound/pci/hda/patch_cs8409.h
@@ -235,6 +235,9 @@ enum cs8409_coefficient_index_registers {
#define CS42L42_I2C_SLEEP_US (2000)
#define CS42L42_PDN_TIMEOUT_US (250000)
#define CS42L42_PDN_SLEEP_US (2000)
+#define CS42L42_FULL_SCALE_VOL_MASK (2)
+#define CS42L42_FULL_SCALE_VOL_0DB (1)
+#define CS42L42_FULL_SCALE_VOL_MINUS6DB (0)
/* Dell BULLSEYE / WARLOCK / CYBORG Specific Definitions */
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/6] ALSA: hda/cs8409: Support new Warlock MLK Variants
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
` (2 preceding siblings ...)
2022-03-28 11:56 ` [PATCH v2 3/6] ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 5/6] ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg Vitaly Rodionov
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel, patches, linux-kernel, Stefan Binding
From: Stefan Binding <sbinding@opensource.cirrus.com>
Added 15 new laptops, with 2 variants:
Warlock MLK and Warlock MLK with Dual Mic
The only difference between the variants, is the
the dual Mic variants use a stereo DMIC.
These variants do no use reduce volume (Full Scale Volume)
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409-tables.c | 29 +++++++++++++++++++++++++++++
sound/pci/hda/patch_cs8409.c | 15 +++++++++++++--
sound/pci/hda/patch_cs8409.h | 2 ++
3 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/sound/pci/hda/patch_cs8409-tables.c b/sound/pci/hda/patch_cs8409-tables.c
index 9c1fa97100ef..8d20d7fb3d68 100644
--- a/sound/pci/hda/patch_cs8409-tables.c
+++ b/sound/pci/hda/patch_cs8409-tables.c
@@ -515,8 +515,23 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
SND_PCI_QUIRK(0x1028, 0x0AF0, "Cyborg", CS8409_CYBORG),
SND_PCI_QUIRK(0x1028, 0x0AF4, "Warlock", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0AF5, "Warlock", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0B92, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0B93, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0B94, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0B95, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0B96, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0B97, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0BB2, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0BB3, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0BB4, "Warlock MLK", CS8409_WARLOCK_MLK),
SND_PCI_QUIRK(0x1028, 0x0BB5, "Warlock N3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
SND_PCI_QUIRK(0x1028, 0x0BB6, "Warlock V3 15 TGL-U Nuvoton EC", CS8409_WARLOCK),
+ SND_PCI_QUIRK(0x1028, 0x0BB8, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0BB9, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0BBA, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0BBB, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0BBC, "Warlock MLK", CS8409_WARLOCK_MLK),
+ SND_PCI_QUIRK(0x1028, 0x0BBD, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
{} /* terminator */
};
@@ -524,6 +539,8 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
const struct hda_model_fixup cs8409_models[] = {
{ .id = CS8409_BULLSEYE, .name = "bullseye" },
{ .id = CS8409_WARLOCK, .name = "warlock" },
+ { .id = CS8409_WARLOCK_MLK, .name = "warlock mlk" },
+ { .id = CS8409_WARLOCK_MLK_DUAL_MIC, .name = "warlock mlk dual mic" },
{ .id = CS8409_CYBORG, .name = "cyborg" },
{ .id = CS8409_DOLPHIN, .name = "dolphin" },
{}
@@ -542,6 +559,18 @@ const struct hda_fixup cs8409_fixups[] = {
.chained = true,
.chain_id = CS8409_FIXUPS,
},
+ [CS8409_WARLOCK_MLK] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = cs8409_cs42l42_pincfgs,
+ .chained = true,
+ .chain_id = CS8409_FIXUPS,
+ },
+ [CS8409_WARLOCK_MLK_DUAL_MIC] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = cs8409_cs42l42_pincfgs,
+ .chained = true,
+ .chain_id = CS8409_FIXUPS,
+ },
[CS8409_CYBORG] = {
.type = HDA_FIXUP_PINS,
.v.pins = cs8409_cs42l42_pincfgs,
diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index 163ff3b3092a..ce5fc03a8065 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -912,9 +912,15 @@ static void cs8409_cs42l42_hw_init(struct hda_codec *codec)
cs8409_vendor_coef_set(codec, seq_bullseye->cir, seq_bullseye->coeff);
}
- /* DMIC1_MO=00b, DMIC1/2_SR=1 */
- if (codec->fixup_id == CS8409_CYBORG)
+ switch (codec->fixup_id) {
+ case CS8409_CYBORG:
+ case CS8409_WARLOCK_MLK_DUAL_MIC:
+ /* DMIC1_MO=00b, DMIC1/2_SR=1 */
cs8409_vendor_coef_set(codec, CS8409_DMIC_CFG, 0x0003);
+ break;
+ default:
+ break;
+ }
cs42l42_resume(cs42l42);
@@ -1008,6 +1014,11 @@ void cs8409_cs42l42_fixups(struct hda_codec *codec, const struct hda_fixup *fix,
spec->scodecs[CS8409_CODEC0]->full_scale_vol =
CS42L42_FULL_SCALE_VOL_MINUS6DB;
break;
+ case CS8409_WARLOCK_MLK:
+ case CS8409_WARLOCK_MLK_DUAL_MIC:
+ spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
+ spec->scodecs[CS8409_CODEC0]->full_scale_vol = CS42L42_FULL_SCALE_VOL_0DB;
+ break;
default:
spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
spec->scodecs[CS8409_CODEC0]->full_scale_vol =
diff --git a/sound/pci/hda/patch_cs8409.h b/sound/pci/hda/patch_cs8409.h
index 8e846f292cd0..7df46bd8d2da 100644
--- a/sound/pci/hda/patch_cs8409.h
+++ b/sound/pci/hda/patch_cs8409.h
@@ -267,6 +267,8 @@ enum cs8409_coefficient_index_registers {
enum {
CS8409_BULLSEYE,
CS8409_WARLOCK,
+ CS8409_WARLOCK_MLK,
+ CS8409_WARLOCK_MLK_DUAL_MIC,
CS8409_CYBORG,
CS8409_FIXUPS,
CS8409_DOLPHIN,
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/6] ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
` (3 preceding siblings ...)
2022-03-28 11:56 ` [PATCH v2 4/6] ALSA: hda/cs8409: Support new Warlock MLK Variants Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 6/6] ALSA: hda/cs8409: Add new Dolphin HW variants Vitaly Rodionov
2022-03-28 16:34 ` [PATCH 0/6] Add new HW variants and fix few minor issues Takashi Iwai
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel, patches, linux-kernel, Stefan Binding
From: Stefan Binding <sbinding@opensource.cirrus.com>
For ESD reasons, all variants should now set HSBIAS_SENSE_EN.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index ce5fc03a8065..343fabc4387d 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -1005,15 +1005,8 @@ void cs8409_cs42l42_fixups(struct hda_codec *codec, const struct hda_fixup *fix,
cs8409_fix_caps(codec, CS8409_CS42L42_HP_PIN_NID);
cs8409_fix_caps(codec, CS8409_CS42L42_AMIC_PIN_NID);
- /* Set TIP_SENSE_EN for analog front-end of tip sense.
- * Additionally set HSBIAS_SENSE_EN and Full Scale volume for some variants.
- */
+ /* Set HSBIAS_SENSE_EN and Full Scale volume for some variants. */
switch (codec->fixup_id) {
- case CS8409_CYBORG:
- spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x00a0;
- spec->scodecs[CS8409_CODEC0]->full_scale_vol =
- CS42L42_FULL_SCALE_VOL_MINUS6DB;
- break;
case CS8409_WARLOCK_MLK:
case CS8409_WARLOCK_MLK_DUAL_MIC:
spec->scodecs[CS8409_CODEC0]->hsbias_hiz = 0x0020;
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 6/6] ALSA: hda/cs8409: Add new Dolphin HW variants
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
` (4 preceding siblings ...)
2022-03-28 11:56 ` [PATCH v2 5/6] ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg Vitaly Rodionov
@ 2022-03-28 11:56 ` Vitaly Rodionov
2022-03-28 16:34 ` [PATCH 0/6] Add new HW variants and fix few minor issues Takashi Iwai
6 siblings, 0 replies; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-28 11:56 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: alsa-devel, patches, linux-kernel
Add 5 new Dolphin Systems, same configuration as older systems.
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Changes in v2:
Add patch description in commit message.
---
sound/pci/hda/patch_cs8409-tables.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/pci/hda/patch_cs8409-tables.c b/sound/pci/hda/patch_cs8409-tables.c
index 8d20d7fb3d68..74c50ec040d9 100644
--- a/sound/pci/hda/patch_cs8409-tables.c
+++ b/sound/pci/hda/patch_cs8409-tables.c
@@ -532,6 +532,11 @@ const struct snd_pci_quirk cs8409_fixup_tbl[] = {
SND_PCI_QUIRK(0x1028, 0x0BBB, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
SND_PCI_QUIRK(0x1028, 0x0BBC, "Warlock MLK", CS8409_WARLOCK_MLK),
SND_PCI_QUIRK(0x1028, 0x0BBD, "Warlock MLK Dual Mic", CS8409_WARLOCK_MLK_DUAL_MIC),
+ SND_PCI_QUIRK(0x1028, 0x0BD4, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0BD5, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0BD6, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0BD7, "Dolphin", CS8409_DOLPHIN),
+ SND_PCI_QUIRK(0x1028, 0x0BD8, "Dolphin", CS8409_DOLPHIN),
{} /* terminator */
};
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] Add new HW variants and fix few minor issues
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
` (5 preceding siblings ...)
2022-03-28 11:56 ` [PATCH v2 6/6] ALSA: hda/cs8409: Add new Dolphin HW variants Vitaly Rodionov
@ 2022-03-28 16:34 ` Takashi Iwai
6 siblings, 0 replies; 10+ messages in thread
From: Takashi Iwai @ 2022-03-28 16:34 UTC (permalink / raw)
To: Vitaly Rodionov
Cc: Jaroslav Kysela, Takashi Iwai, alsa-devel, patches, linux-kernel
On Mon, 28 Mar 2022 13:56:08 +0200,
Vitaly Rodionov wrote:
>
> This series adds new HW variants for Dell's Dolphin and Warlock,
> and also fixies few very minor issues.
>
> Stefan Binding (5):
> ALSA: hda/cs8409: Fix Warlock to use mono mic configuration
> ALSA: hda/cs8409: Re-order quirk table into ascending order
> ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants
> ALSA: hda/cs8409: Support new Warlock MLK Variants
> ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg
>
> Vitaly Rodionov (1):
> ALSA: hda/cs8409: Add new Dolphin HW variants
Thanks, applied now.
Takashi
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] Add new HW variants and fix few minor issues
2022-03-18 15:55 Vitaly Rodionov
@ 2022-03-18 16:38 ` Takashi Iwai
0 siblings, 0 replies; 10+ messages in thread
From: Takashi Iwai @ 2022-03-18 16:38 UTC (permalink / raw)
To: Vitaly Rodionov
Cc: Jaroslav Kysela, Takashi Iwai, alsa-devel, patches, linux-kernel
On Fri, 18 Mar 2022 16:55:46 +0100,
Vitaly Rodionov wrote:
>
> This series adds new HW variants for Dell's Dolphin and Warlock,
> and also fixies few very minor issues.
>
> Stefan Binding (5):
> ALSA: hda/cs8409: Fix Warlock using dual mic configuration
> ALSA: hda/cs8409: Re-order quirk table into ascending order
> ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants
> ALSA: hda/cs8409: Support new Warlock MLK Variants
> ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg
>
> Vitaly Rodionov (1):
> ALSA: hda/cs8409: Add new Dolphin HW variants
The code changes look OK through a quick glance, but those patches
lack of the proper patch descriptions completely.
For example, the patch 1 says "ALSA: hda/cs8409: Fix Warlock using
dual mic configuration" in the subject, and that's all. Fix what for
Warlock model? Why the dual mic configuration makes things better, if
any?
A few other patches have the same problem: it's not clear *why* the
changes are done. Please give a bit more description.
Also, the patch 4 introduces the code with a wrong indentation, which
is corrected in a later patch. That confuses readers, too. Better to
fix in the first place.
Could you update those and resubmit?
thanks,
Takashi
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 0/6] Add new HW variants and fix few minor issues
@ 2022-03-18 15:55 Vitaly Rodionov
2022-03-18 16:38 ` Takashi Iwai
0 siblings, 1 reply; 10+ messages in thread
From: Vitaly Rodionov @ 2022-03-18 15:55 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai; +Cc: alsa-devel, patches, linux-kernel
This series adds new HW variants for Dell's Dolphin and Warlock,
and also fixies few very minor issues.
Stefan Binding (5):
ALSA: hda/cs8409: Fix Warlock using dual mic configuration
ALSA: hda/cs8409: Re-order quirk table into ascending order
ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants
ALSA: hda/cs8409: Support new Warlock MLK Variants
ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg
Vitaly Rodionov (1):
ALSA: hda/cs8409: Add new Dolphin HW variants
sound/pci/hda/patch_cs8409-tables.c | 68 +++++++++++++++++++++--------
sound/pci/hda/patch_cs8409.c | 47 +++++++++++---------
sound/pci/hda/patch_cs8409.h | 5 +++
3 files changed, 83 insertions(+), 37 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-03-28 16:34 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-28 11:56 [PATCH 0/6] Add new HW variants and fix few minor issues Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 1/6] ALSA: hda/cs8409: Fix Warlock to use mono mic configuration Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 2/6] ALSA: hda/cs8409: Re-order quirk table into ascending order Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 3/6] ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 4/6] ALSA: hda/cs8409: Support new Warlock MLK Variants Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 5/6] ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg Vitaly Rodionov
2022-03-28 11:56 ` [PATCH v2 6/6] ALSA: hda/cs8409: Add new Dolphin HW variants Vitaly Rodionov
2022-03-28 16:34 ` [PATCH 0/6] Add new HW variants and fix few minor issues Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2022-03-18 15:55 Vitaly Rodionov
2022-03-18 16:38 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).