From 37f9fe74d31da52e9b7838e7892afa77eab04355 Mon Sep 17 00:00:00 2001 From: Chih-Chung Chang Date: Fri, 19 Apr 2013 11:56:24 +0800 Subject: [PATCH] CHROMIUM: ALSA: hda: cirrus: Add pin configs for lumpy. The SPDIF output pin on lumpy is not connected, but the lumpy BIOS doesn't set the config for it correctly. The only difference between the new verbs here and the verbs in BIOS is to specify the SPDIF output is not connected. BUG=chromium:233458 TEST=install new kernel on lumpy, and use "aplay -l" to verify the "Cirrus Digital" device is gone. Change-Id: Iab087a33f4fde84c16d73b7054663d051fba7391 Signed-off-by: Chih-Chung Chang Reviewed-on: https://gerrit.chromium.org/gerrit/48610 Reviewed-by: Dylan Reid --- sound/pci/hda/patch_cirrus.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index 64362433b981..1c4a4bb9c413 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -89,6 +89,7 @@ enum { enum { CS421X_CDB4210, STUMPY_CDB4210, + LUMPY_CDB4210, CS421X_MODELS }; @@ -1445,6 +1446,7 @@ static int patch_cs420x(struct hda_codec *codec) static const char *cs421x_models[CS421X_MODELS] = { [CS421X_CDB4210] = "cdb4210", [STUMPY_CDB4210] = "stumpy", + [LUMPY_CDB4210] = "lumpy", }; static const struct snd_pci_quirk cs421x_cfg_tbl[] = { @@ -1476,9 +1478,21 @@ static struct cs_pincfg stumpy_pincfgs[] = { {} /* terminator */ }; +/* Lumpy */ +static struct cs_pincfg lumpy_pincfgs[] = { + { 0x05, 0x022110f0 }, + { 0x06, 0x901700f0 }, + { 0x07, 0x02a110f0 }, + { 0x08, 0x77a70037 }, + { 0x09, 0xb7a6003e }, + { 0x0a, 0x400000f0 }, + {} /* terminator */ +}; + static const struct cs_pincfg *cs421x_pincfgs[CS421X_MODELS] = { [CS421X_CDB4210] = cdb4210_pincfgs, [STUMPY_CDB4210] = stumpy_pincfgs, + [LUMPY_CDB4210] = lumpy_pincfgs, }; static const struct hda_verb cs421x_coef_init_verbs[] = { -- 2.20.1