Angel Pons has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59105 )
Change subject: sb/intel: Use `azalia_program_verb_table()` function ......................................................................
sb/intel: Use `azalia_program_verb_table()` function
Use the `azalia_program_verb_table()` function in preparation to deduplicate Azalia init code.
With this change, the "Azalia: verb loaded." message is now printed when programming the verbs failed. This will be addressed once `codec_init()` has been deduplicated.
Change-Id: I5d9e0f19429620166f2a6ef48ec7c963ee64b59c Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/southbridge/intel/bd82x6x/azalia.c M src/southbridge/intel/i82801gx/azalia.c M src/southbridge/intel/i82801ix/azalia.c M src/southbridge/intel/i82801jx/azalia.c M src/southbridge/intel/ibexpeak/azalia.c 5 files changed, 9 insertions(+), 86 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/05/59105/1
diff --git a/src/southbridge/intel/bd82x6x/azalia.c b/src/southbridge/intel/bd82x6x/azalia.c index 1e58dfd..7bcba02 100644 --- a/src/southbridge/intel/bd82x6x/azalia.c +++ b/src/southbridge/intel/bd82x6x/azalia.c @@ -90,7 +90,6 @@ u32 reg32; const u32 *verb; u32 verb_size; - int i;
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
@@ -120,15 +119,7 @@ printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
/* 3 */ - for (i = 0; i < verb_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, verb[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, verb, verb_size); printk(BIOS_DEBUG, "Azalia: verb loaded.\n"); }
@@ -140,15 +131,7 @@ codec_init(dev, base, i); }
- for (i = 0; i < pc_beep_verbs_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, pc_beep_verbs[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void azalia_init(struct device *dev) diff --git a/src/southbridge/intel/i82801gx/azalia.c b/src/southbridge/intel/i82801gx/azalia.c index cc5d345..1f12650 100644 --- a/src/southbridge/intel/i82801gx/azalia.c +++ b/src/southbridge/intel/i82801gx/azalia.c @@ -88,7 +88,6 @@ u32 reg32; const u32 *verb; u32 verb_size; - int i;
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
@@ -118,15 +117,7 @@ printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
/* 3 */ - for (i = 0; i < verb_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, verb[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, verb, verb_size); printk(BIOS_DEBUG, "Azalia: verb loaded.\n"); }
diff --git a/src/southbridge/intel/i82801ix/azalia.c b/src/southbridge/intel/i82801ix/azalia.c index 2646cbc..ca1b0b3 100644 --- a/src/southbridge/intel/i82801ix/azalia.c +++ b/src/southbridge/intel/i82801ix/azalia.c @@ -87,7 +87,6 @@ u32 reg32; const u32 *verb; u32 verb_size; - int i;
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
@@ -117,15 +116,7 @@ printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
/* 3 */ - for (i = 0; i < verb_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, verb[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, verb, verb_size); printk(BIOS_DEBUG, "Azalia: verb loaded.\n"); }
@@ -138,15 +129,7 @@ codec_init(dev, base, i); }
- for (i = 0; i < pc_beep_verbs_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, pc_beep_verbs[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void azalia_init(struct device *dev) diff --git a/src/southbridge/intel/i82801jx/azalia.c b/src/southbridge/intel/i82801jx/azalia.c index 500c004..8862628 100644 --- a/src/southbridge/intel/i82801jx/azalia.c +++ b/src/southbridge/intel/i82801jx/azalia.c @@ -87,7 +87,6 @@ u32 reg32; const u32 *verb; u32 verb_size; - int i;
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
@@ -117,15 +116,7 @@ printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
/* 3 */ - for (i = 0; i < verb_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, verb[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, verb, verb_size); printk(BIOS_DEBUG, "Azalia: verb loaded.\n"); }
@@ -138,15 +129,7 @@ codec_init(dev, base, i); }
- for (i = 0; i < pc_beep_verbs_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, pc_beep_verbs[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void azalia_init(struct device *dev) diff --git a/src/southbridge/intel/ibexpeak/azalia.c b/src/southbridge/intel/ibexpeak/azalia.c index 5eb1ac3..54fb3be 100644 --- a/src/southbridge/intel/ibexpeak/azalia.c +++ b/src/southbridge/intel/ibexpeak/azalia.c @@ -86,7 +86,6 @@ u32 reg32; const u32 *verb; u32 verb_size; - int i;
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
@@ -116,15 +115,7 @@ printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
/* 3 */ - for (i = 0; i < verb_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, verb[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, verb, verb_size); printk(BIOS_DEBUG, "Azalia: verb loaded.\n"); }
@@ -137,15 +128,7 @@ codec_init(dev, base, i); }
- for (i = 0; i < pc_beep_verbs_size; i++) { - if (wait_for_ready(base) < 0) - return; - - write32(base + HDA_IC_REG, pc_beep_verbs[i]); - - if (wait_for_valid(base) < 0) - return; - } + azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size); }
static void azalia_init(struct device *dev)