summaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/intel/bd82x6x/azalia.c21
-rw-r--r--src/southbridge/intel/i82801gx/azalia.c11
-rw-r--r--src/southbridge/intel/i82801ix/azalia.c21
-rw-r--r--src/southbridge/intel/i82801jx/azalia.c21
-rw-r--r--src/southbridge/intel/ibexpeak/azalia.c21
5 files changed, 9 insertions, 86 deletions
diff --git a/src/southbridge/intel/bd82x6x/azalia.c b/src/southbridge/intel/bd82x6x/azalia.c
index 1e58dfd319..7bcba024b8 100644
--- a/src/southbridge/intel/bd82x6x/azalia.c
+++ b/src/southbridge/intel/bd82x6x/azalia.c
@@ -90,7 +90,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
u32 reg32;
const u32 *verb;
u32 verb_size;
- int i;
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);
/* 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 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
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 cc5d3455c7..1f12650c1c 100644
--- a/src/southbridge/intel/i82801gx/azalia.c
+++ b/src/southbridge/intel/i82801gx/azalia.c
@@ -88,7 +88,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
u32 reg32;
const u32 *verb;
u32 verb_size;
- int i;
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);
/* 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 2646cbc72b..ca1b0b333f 100644
--- a/src/southbridge/intel/i82801ix/azalia.c
+++ b/src/southbridge/intel/i82801ix/azalia.c
@@ -87,7 +87,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
u32 reg32;
const u32 *verb;
u32 verb_size;
- int i;
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);
/* 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 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
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 500c004ff1..8862628e7c 100644
--- a/src/southbridge/intel/i82801jx/azalia.c
+++ b/src/southbridge/intel/i82801jx/azalia.c
@@ -87,7 +87,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
u32 reg32;
const u32 *verb;
u32 verb_size;
- int i;
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);
/* 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 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
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 5eb1ac3633..54fb3be71c 100644
--- a/src/southbridge/intel/ibexpeak/azalia.c
+++ b/src/southbridge/intel/ibexpeak/azalia.c
@@ -86,7 +86,6 @@ static void codec_init(struct device *dev, u8 *base, int addr)
u32 reg32;
const u32 *verb;
u32 verb_size;
- int i;
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);
/* 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 @@ static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
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)