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> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59105 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
6db243acd0
commit
d0f053eb9d
|
@ -90,7 +90,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
const u32 *verb;
|
const u32 *verb;
|
||||||
u32 verb_size;
|
u32 verb_size;
|
||||||
int i;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
||||||
|
|
||||||
|
@ -120,15 +119,7 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
||||||
|
|
||||||
/* 3 */
|
/* 3 */
|
||||||
for (i = 0; i < verb_size; i++) {
|
azalia_program_verb_table(base, verb, verb_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, verb[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,15 +131,7 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
|
||||||
codec_init(dev, base, i);
|
codec_init(dev, base, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < pc_beep_verbs_size; i++) {
|
azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, pc_beep_verbs[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void azalia_init(struct device *dev)
|
static void azalia_init(struct device *dev)
|
||||||
|
|
|
@ -88,7 +88,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
const u32 *verb;
|
const u32 *verb;
|
||||||
u32 verb_size;
|
u32 verb_size;
|
||||||
int i;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
||||||
|
|
||||||
|
@ -118,15 +117,7 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
||||||
|
|
||||||
/* 3 */
|
/* 3 */
|
||||||
for (i = 0; i < verb_size; i++) {
|
azalia_program_verb_table(base, verb, verb_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, verb[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
const u32 *verb;
|
const u32 *verb;
|
||||||
u32 verb_size;
|
u32 verb_size;
|
||||||
int i;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
||||||
|
|
||||||
|
@ -117,15 +116,7 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
||||||
|
|
||||||
/* 3 */
|
/* 3 */
|
||||||
for (i = 0; i < verb_size; i++) {
|
azalia_program_verb_table(base, verb, verb_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, verb[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,15 +129,7 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
|
||||||
codec_init(dev, base, i);
|
codec_init(dev, base, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < pc_beep_verbs_size; i++) {
|
azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, pc_beep_verbs[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void azalia_init(struct device *dev)
|
static void azalia_init(struct device *dev)
|
||||||
|
|
|
@ -87,7 +87,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
const u32 *verb;
|
const u32 *verb;
|
||||||
u32 verb_size;
|
u32 verb_size;
|
||||||
int i;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
||||||
|
|
||||||
|
@ -117,15 +116,7 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
||||||
|
|
||||||
/* 3 */
|
/* 3 */
|
||||||
for (i = 0; i < verb_size; i++) {
|
azalia_program_verb_table(base, verb, verb_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, verb[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,15 +129,7 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
|
||||||
codec_init(dev, base, i);
|
codec_init(dev, base, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < pc_beep_verbs_size; i++) {
|
azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, pc_beep_verbs[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void azalia_init(struct device *dev)
|
static void azalia_init(struct device *dev)
|
||||||
|
|
|
@ -86,7 +86,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
const u32 *verb;
|
const u32 *verb;
|
||||||
u32 verb_size;
|
u32 verb_size;
|
||||||
int i;
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
printk(BIOS_DEBUG, "Azalia: Initializing codec #%d\n", addr);
|
||||||
|
|
||||||
|
@ -116,15 +115,7 @@ static void codec_init(struct device *dev, u8 *base, int addr)
|
||||||
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
printk(BIOS_DEBUG, "Azalia: verb_size: %d\n", verb_size);
|
||||||
|
|
||||||
/* 3 */
|
/* 3 */
|
||||||
for (i = 0; i < verb_size; i++) {
|
azalia_program_verb_table(base, verb, verb_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, verb[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
printk(BIOS_DEBUG, "Azalia: verb loaded.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,15 +128,7 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
|
||||||
codec_init(dev, base, i);
|
codec_init(dev, base, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < pc_beep_verbs_size; i++) {
|
azalia_program_verb_table(base, pc_beep_verbs, pc_beep_verbs_size);
|
||||||
if (wait_for_ready(base) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
write32(base + HDA_IC_REG, pc_beep_verbs[i]);
|
|
||||||
|
|
||||||
if (wait_for_valid(base) < 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void azalia_init(struct device *dev)
|
static void azalia_init(struct device *dev)
|
||||||
|
|
Loading…
Reference in New Issue