aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2020-12-05 19:06:55 +0100
committerNico Huber <nico.h@gmx.de>2020-12-17 20:25:09 +0000
commit2e0053b84098512c5b3c98394998e66a8f83803b (patch)
tree14eeb88ab35e53010f17ae01eda093665dd88c3b
parenta1a317ebf65c63017e02d017284f8564facaa1c4 (diff)
azalia: Use `azalia_enter_reset` function
Also tidy up some adjacent comments. Change-Id: I2e881900a52e42ab3f43ffe96cfbdcc63ff02e23 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48358 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
-rw-r--r--src/device/azalia_device.c3
-rw-r--r--src/soc/intel/common/hda_verb.c7
-rw-r--r--src/southbridge/intel/bd82x6x/azalia.c5
-rw-r--r--src/southbridge/intel/i82801gx/azalia.c8
-rw-r--r--src/southbridge/intel/i82801ix/azalia.c8
-rw-r--r--src/southbridge/intel/i82801jx/azalia.c8
-rw-r--r--src/southbridge/intel/ibexpeak/azalia.c5
-rw-r--r--src/southbridge/intel/lynxpoint/hda_verb.c5
8 files changed, 19 insertions, 30 deletions
diff --git a/src/device/azalia_device.c b/src/device/azalia_device.c
index 5e9c6c9466..e1899f13c0 100644
--- a/src/device/azalia_device.c
+++ b/src/device/azalia_device.c
@@ -72,8 +72,7 @@ static int codec_detect(u8 *base)
if (!count)
goto no_codec;
- /* Set Bit 0 to 0 to enter reset state (BAR + 0x8)[0] */
- if (azalia_set_bits(base + HDA_GCTL_REG, 1, 0) < 0)
+ if (azalia_enter_reset(base) < 0)
goto no_codec;
if (azalia_exit_reset(base) < 0)
diff --git a/src/soc/intel/common/hda_verb.c b/src/soc/intel/common/hda_verb.c
index 5a4b467b8a..f4ef756d5f 100644
--- a/src/soc/intel/common/hda_verb.c
+++ b/src/soc/intel/common/hda_verb.c
@@ -24,7 +24,7 @@ int hda_codec_detect(u8 *base)
write8(base + HDA_STATESTS_REG, 0xf);
/* Turn off the link and poll RESET# bit until it reads back as 0 */
- if (azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0) < 0)
+ if (azalia_enter_reset(base) < 0)
goto no_codec;
/* Turn on the link and poll RESET# bit until it reads back as 1 */
@@ -40,9 +40,8 @@ int hda_codec_detect(u8 *base)
return reg8;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "HDA: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/bd82x6x/azalia.c b/src/southbridge/intel/bd82x6x/azalia.c
index eab8e792a3..dcb0bb40f0 100644
--- a/src/southbridge/intel/bd82x6x/azalia.c
+++ b/src/southbridge/intel/bd82x6x/azalia.c
@@ -33,9 +33,8 @@ static int codec_detect(u8 *base)
return reg8;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, 1, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "Azalia: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/i82801gx/azalia.c b/src/southbridge/intel/i82801gx/azalia.c
index d1d373147e..3ace204c05 100644
--- a/src/southbridge/intel/i82801gx/azalia.c
+++ b/src/southbridge/intel/i82801gx/azalia.c
@@ -15,8 +15,7 @@ static int codec_detect(u8 *base)
{
u32 reg32;
- /* Set Bit 0 to 0 to enter reset state (BAR + 0x8)[0] */
- if (azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0) < 0)
+ if (azalia_enter_reset(base) < 0)
goto no_codec;
if (azalia_exit_reset(base) < 0)
@@ -31,9 +30,8 @@ static int codec_detect(u8 *base)
return reg32;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, 1, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "Azalia: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/i82801ix/azalia.c b/src/southbridge/intel/i82801ix/azalia.c
index 558f9cda9c..ff890a265f 100644
--- a/src/southbridge/intel/i82801ix/azalia.c
+++ b/src/southbridge/intel/i82801ix/azalia.c
@@ -15,8 +15,7 @@ static int codec_detect(u8 *base)
{
u32 reg32;
- /* Set Bit 0 to 0 to enter reset state (BAR + 0x8)[0] */
- if (azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0) < 0)
+ if (azalia_enter_reset(base) < 0)
goto no_codec;
if (azalia_exit_reset(base) < 0)
@@ -31,9 +30,8 @@ static int codec_detect(u8 *base)
return reg32;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, 1, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "Azalia: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/i82801jx/azalia.c b/src/southbridge/intel/i82801jx/azalia.c
index bea2e9000b..5efbc9f601 100644
--- a/src/southbridge/intel/i82801jx/azalia.c
+++ b/src/southbridge/intel/i82801jx/azalia.c
@@ -15,8 +15,7 @@ static int codec_detect(u8 *base)
{
u32 reg32;
- /* Set Bit 0 to 0 to enter reset state (BAR + 0x8)[0] */
- if (azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0) < 0)
+ if (azalia_enter_reset(base) < 0)
goto no_codec;
if (azalia_exit_reset(base) < 0)
@@ -31,9 +30,8 @@ static int codec_detect(u8 *base)
return reg32;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, 1, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "Azalia: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/ibexpeak/azalia.c b/src/southbridge/intel/ibexpeak/azalia.c
index 1224792505..ef781b7174 100644
--- a/src/southbridge/intel/ibexpeak/azalia.c
+++ b/src/southbridge/intel/ibexpeak/azalia.c
@@ -29,9 +29,8 @@ static int codec_detect(u8 *base)
return reg8;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, 1, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "Azalia: No codec!\n");
return 0;
}
diff --git a/src/southbridge/intel/lynxpoint/hda_verb.c b/src/southbridge/intel/lynxpoint/hda_verb.c
index f7eddf4e8e..a7bfa4a705 100644
--- a/src/southbridge/intel/lynxpoint/hda_verb.c
+++ b/src/southbridge/intel/lynxpoint/hda_verb.c
@@ -28,9 +28,8 @@ int hda_codec_detect(u8 *base)
return reg8;
no_codec:
- /* Codec Not found */
- /* Put HDA back in reset (BAR + 0x8) [0] */
- azalia_set_bits(base + HDA_GCTL_REG, HDA_GCTL_CRST, 0);
+ /* Codec not found, put HDA back in reset */
+ azalia_enter_reset(base);
printk(BIOS_DEBUG, "HDA: No codec!\n");
return 0;
}