From 2e0053b84098512c5b3c98394998e66a8f83803b Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Sat, 5 Dec 2020 19:06:55 +0100 Subject: azalia: Use `azalia_enter_reset` function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also tidy up some adjacent comments. Change-Id: I2e881900a52e42ab3f43ffe96cfbdcc63ff02e23 Signed-off-by: Angel Pons Reviewed-on: https://review.coreboot.org/c/coreboot/+/48358 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Nico Huber Reviewed-by: Michael Niewöhner --- src/device/azalia_device.c | 3 +-- src/soc/intel/common/hda_verb.c | 7 +++---- src/southbridge/intel/bd82x6x/azalia.c | 5 ++--- src/southbridge/intel/i82801gx/azalia.c | 8 +++----- src/southbridge/intel/i82801ix/azalia.c | 8 +++----- src/southbridge/intel/i82801jx/azalia.c | 8 +++----- src/southbridge/intel/ibexpeak/azalia.c | 5 ++--- src/southbridge/intel/lynxpoint/hda_verb.c | 5 ++--- 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; } -- cgit v1.2.3