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:
parent
c9d6333ab6
commit
7a2864b421
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue