sb/intel/i82801jx/hdaudio.c: Align with i82801ix

The code is pretty much the same, only differing in a comment and a
printk statement.

Change-Id: Ic404ef466636fc05c2baa70aad8a39bb1b458d42
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42635
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
Angel Pons 2020-06-21 13:29:28 +02:00
parent c9d6333ab6
commit 7a2864b421
1 changed files with 9 additions and 16 deletions

View File

@ -29,9 +29,7 @@ static int set_bits(void *port, u32 mask, u32 val)
reg32 |= val; reg32 |= val;
write32(port, reg32); write32(port, reg32);
/* Wait for readback of register to /* Wait for readback of register to match what was just written to it */
* match what was just written to it
*/
count = 50; count = 50;
do { do {
/* Wait 1ms based on BKDG wait time */ /* Wait 1ms based on BKDG wait time */
@ -99,9 +97,7 @@ static u32 find_verb(struct device *dev, u32 viddid, const u32 **verb)
static int wait_for_ready(u8 *base) static int wait_for_ready(u8 *base)
{ {
/* Use a 50 usec timeout - the Linux kernel uses the /* Use a 50 usec timeout - the Linux kernel uses the same duration */
* same duration */
int timeout = 50; int timeout = 50;
while (timeout--) { while (timeout--) {
@ -115,9 +111,8 @@ static int wait_for_ready(u8 *base)
} }
/** /**
* Wait 50usec for the codec to indicate that it accepted * Wait 50usec for the codec to indicate that it accepted the previous command.
* the previous command. No response would imply that the code * No response would imply that the code is non-operative.
* is non-operative
*/ */
static int wait_for_valid(u8 *base) static int wait_for_valid(u8 *base)
@ -129,14 +124,12 @@ static int wait_for_valid(u8 *base)
reg32 |= (1 << 0) | (1 << 1); reg32 |= (1 << 0) | (1 << 1);
write32(base + 0x68, reg32); write32(base + 0x68, reg32);
/* Use a 50 usec timeout - the Linux kernel uses the /* Use a 50 usec timeout - the Linux kernel uses the same duration */
* same duration */
int timeout = 50; int timeout = 50;
while (timeout--) { while (timeout--) {
reg32 = read32(base + HDA_ICII_REG); reg32 = read32(base + HDA_ICII_REG);
if ((reg32 & (HDA_ICII_VALID | HDA_ICII_BUSY)) == if ((reg32 & (HDA_ICII_VALID | HDA_ICII_BUSY)) == HDA_ICII_VALID)
HDA_ICII_VALID)
return 0; return 0;
udelay(1); udelay(1);
} }
@ -223,7 +216,7 @@ static void azalia_init(struct device *dev)
pci_update_config32(dev, 0x114, ~0x000000ff, 1); pci_update_config32(dev, 0x114, ~0x000000ff, 1);
// VCi traffic class // VCi traffic class
pci_or_config8(dev, 0x44, 7 << 0); pci_or_config8(dev, 0x44, 7 << 0); // TC7
// VCi Resource Control // VCi Resource Control
pci_or_config32(dev, 0x120, (1 << 31) | (1 << 24) | (0x80 << 0)); /* VCi ID and map */ pci_or_config32(dev, 0x120, (1 << 31) | (1 << 24) | (0x80 << 0)); /* VCi ID and map */
@ -244,7 +237,7 @@ static void azalia_init(struct device *dev)
// NOTE this will break as soon as the Azalia get's a bar above // NOTE this will break as soon as the Azalia get's a bar above
// 4G. Is there anything we can do about it? // 4G. Is there anything we can do about it?
base = res2mmio(res, 0, 0); base = res2mmio(res, 0, 0);
printk(BIOS_DEBUG, "Azalia: base = %08x\n", (u32)base); printk(BIOS_DEBUG, "Azalia: base = %p\n", base);
codec_mask = codec_detect(base); codec_mask = codec_detect(base);
if (codec_mask) { if (codec_mask) {