ALSA: hda: Prevent writing ICH6_PCIREG_TCSEL on AMD systems
azx_init_pci() always writes PCI config register ICH6_PCIREG_TCSEL although this looks to be only defined on Intel systems and has a different meaning on AMD systems. On AMD systems the PCI interrupt pin control register is modified instead. Since the meaning of offset 0x44 in device specific configuration space is unknown for devices by other vendors, we only exclude AMD systems to retain the current behaviour. Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
0a3fabe30e
Коммит
a09e89f67c
|
@ -1052,8 +1052,11 @@ static void azx_init_pci(struct azx *chip)
|
||||||
/* Clear bits 0-2 of PCI register TCSEL (at offset 0x44)
|
/* Clear bits 0-2 of PCI register TCSEL (at offset 0x44)
|
||||||
* TCSEL == Traffic Class Select Register, which sets PCI express QOS
|
* TCSEL == Traffic Class Select Register, which sets PCI express QOS
|
||||||
* Ensuring these bits are 0 clears playback static on some HD Audio
|
* Ensuring these bits are 0 clears playback static on some HD Audio
|
||||||
* codecs
|
* codecs.
|
||||||
|
* The PCI register TCSEL is defined in the Intel manuals.
|
||||||
*/
|
*/
|
||||||
|
if (chip->driver_type != AZX_DRIVER_ATI &&
|
||||||
|
chip->driver_type != AZX_DRIVER_ATIHDMI)
|
||||||
update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0);
|
update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0);
|
||||||
|
|
||||||
switch (chip->driver_type) {
|
switch (chip->driver_type) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче