AMD Olive Hill: Disable NoSnoopEnable to fix HDMI audio corruptions with Ubuntu

Ubuntu's HDMI audio has noise and echo. Disable NoSnoopEnable can
resolve this issue.
I have tested on Ubuntu 13.04 with AMD Catalyst 13.4 Proprietary
Linux Display Driver[1].

[1]. http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx

Change-Id: I5d2dddb1b7469d56cd64e3c1e0f4c6c6f095b4ab
Signed-off-by: WANG Siyuan <SiYuan.Wang@amd.com>
Signed-off-by: WANG Siyuan <wangsiyuanbuaa@gmail.com>
Reviewed-on: http://review.coreboot.org/3934
Tested-by: build bot (Jenkins)
Reviewed-by: Dave Frodin <dave.frodin@se-eng.com>
This commit is contained in:
WANG Siyuan 2013-09-22 15:20:37 +08:00 committed by Bruce Griffith
parent 2c86fc4343
commit 4ca721399c
1 changed files with 7 additions and 0 deletions

View File

@ -54,6 +54,7 @@ void get_bus_conf(void)
{ {
u32 apicid_base; u32 apicid_base;
u32 status; u32 status;
u32 value;
device_t dev; device_t dev;
int i, j; int i, j;
@ -98,6 +99,12 @@ void get_bus_conf(void)
pci_write_config32(dev, 0xF8, 0); pci_write_config32(dev, 0xF8, 0);
pci_write_config32(dev, 0xFC, 5); /* TODO: move it to dsdt.asl */ pci_write_config32(dev, 0xFC, 5); /* TODO: move it to dsdt.asl */
/* disable No Snoop */
dev = dev_find_slot(0, PCI_DEVFN(1, 1));
value = pci_read_config32(dev, 0x60);
value &= ~(1 << 11);
pci_write_config32(dev, 0x60, value);
sbdn_yangtze = 0; sbdn_yangtze = 0;
memset(bus_yangtze, 0, sizeof(bus_yangtze)); memset(bus_yangtze, 0, sizeof(bus_yangtze));