hda: enable pci snooping on AMD non-hdmi.
disable snooping on ATI non-hdmi. Change-Id: Ic62e8c7ae376a1e26646f88f308242eef3aa119e Reviewed-on: https://review.haiku-os.org/c/haiku/+/2287 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This commit is contained in:
parent
48064fbc41
commit
8a1c964d4f
@ -34,7 +34,8 @@
|
||||
#define ALIGN(size, align) (((size) + align - 1) & ~(align - 1))
|
||||
|
||||
|
||||
#define PCI_VENDOR_AMD 0x1002
|
||||
#define PCI_VENDOR_ATI 0x1002
|
||||
#define PCI_VENDOR_AMD 0x1022
|
||||
#define PCI_VENDOR_CREATIVE 0x1102
|
||||
#define PCI_VENDOR_INTEL 0x8086
|
||||
#define PCI_VENDOR_NVIDIA 0x10de
|
||||
@ -81,9 +82,15 @@ static const struct {
|
||||
{ PCI_VENDOR_INTEL, 0xa171, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_INTEL, 0xa2f0, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_INTEL, 0xa348, HDA_QUIRK_SNOOP },
|
||||
// Enable snooping for ATI and Nvidia, right now for all their hda-devices,
|
||||
{ PCI_VENDOR_ATI, 0x437b, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_ATI, 0x4383, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_AMD, 0x157a, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_AMD, 0x780d, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_AMD, 0x1457, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_AMD, 0x1487, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_AMD, 0x15e3, HDA_QUIRK_SNOOP },
|
||||
// Enable snooping for Nvidia, right now for all their hda-devices,
|
||||
// but only based on guessing.
|
||||
{ PCI_VENDOR_AMD, PCI_ALL_DEVICES, HDA_QUIRK_SNOOP },
|
||||
{ PCI_VENDOR_NVIDIA, PCI_ALL_DEVICES, HDA_QUIRK_SNOOP | HDA_QUIRK_NO_MSI
|
||||
| HDA_QUIRK_NO_CORBRP_RESET_ACK },
|
||||
{ PCI_VENDOR_CREATIVE, 0x0010, HDA_QUIRK_NO_MSI },
|
||||
@ -1071,6 +1078,7 @@ hda_hw_init(hda_controller* controller)
|
||||
}
|
||||
|
||||
case PCI_VENDOR_AMD:
|
||||
case PCI_VENDOR_ATI:
|
||||
{
|
||||
controller->dma_snooping = update_pci_register(controller,
|
||||
ATI_HDA_MISC_CNTR2, ATI_HDA_MISC_CNTR2_MASK,
|
||||
|
Loading…
Reference in New Issue
Block a user