Attention is currently required from: Patrick Rudolph. Angel Pons has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59116 )
Change subject: lynxpoint/broadwell: Use `azalia_program_verb_table()` ......................................................................
lynxpoint/broadwell: Use `azalia_program_verb_table()`
Use the `azalia_program_verb_table()` function in preparation to deduplicate Azalia init code.
Change-Id: I22cfee41e001c9ecf4fbac37aadbd12f43ac8aaf Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/soc/intel/broadwell/pch/hda.c M src/southbridge/intel/lynxpoint/azalia.c M src/southbridge/intel/lynxpoint/hda_verb.c M src/southbridge/intel/lynxpoint/hda_verb.h 4 files changed, 3 insertions(+), 21 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/16/59116/1
diff --git a/src/soc/intel/broadwell/pch/hda.c b/src/soc/intel/broadwell/pch/hda.c index 37f2d9f..2230614 100644 --- a/src/soc/intel/broadwell/pch/hda.c +++ b/src/soc/intel/broadwell/pch/hda.c @@ -24,7 +24,7 @@ }
if (pc_beep_verbs_size) - hda_codec_write(base, pc_beep_verbs_size, pc_beep_verbs); + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void hda_pch_init(struct device *dev, u8 *base) diff --git a/src/southbridge/intel/lynxpoint/azalia.c b/src/southbridge/intel/lynxpoint/azalia.c index fe5c4c9..8e138f1 100644 --- a/src/southbridge/intel/lynxpoint/azalia.c +++ b/src/southbridge/intel/lynxpoint/azalia.c @@ -24,7 +24,7 @@ }
if (pc_beep_verbs_size) - hda_codec_write(base, pc_beep_verbs_size, pc_beep_verbs); + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void azalia_pch_init(struct device *dev, u8 *base) diff --git a/src/southbridge/intel/lynxpoint/hda_verb.c b/src/southbridge/intel/lynxpoint/hda_verb.c index 41ecac1..ba30f1d 100644 --- a/src/southbridge/intel/lynxpoint/hda_verb.c +++ b/src/southbridge/intel/lynxpoint/hda_verb.c @@ -91,23 +91,6 @@ return -1; }
-int hda_codec_write(u8 *base, u32 size, const u32 *data) -{ - int i; - - for (i = 0; i < size; i++) { - if (hda_wait_for_ready(base) < 0) - return -1; - - write32(base + HDA_IC_REG, data[i]); - - if (hda_wait_for_valid(base) < 0) - return -1; - } - - return 0; -} - int hda_codec_init(u8 *base, int addr, int verb_size, const u32 *verb_data) { const u32 *verb; @@ -146,7 +129,7 @@ }
/* 3 */ - rc = hda_codec_write(base, size, verb); + rc = azalia_program_verb_table(base, verb, size);
if (rc < 0) printk(BIOS_DEBUG, "HDA: verb not loaded\n"); diff --git a/src/southbridge/intel/lynxpoint/hda_verb.h b/src/southbridge/intel/lynxpoint/hda_verb.h index 07ee513..327811f 100644 --- a/src/southbridge/intel/lynxpoint/hda_verb.h +++ b/src/southbridge/intel/lynxpoint/hda_verb.h @@ -6,7 +6,6 @@ #include <stdint.h>
int hda_codec_detect(u8 *base); -int hda_codec_write(u8 *base, u32 size, const u32 *data); int hda_codec_init(u8 *base, int addr, int verb_size, const u32 *verb_data);
#endif