snd/hda: Restore the magic register setting to enable cache snooping
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 17 Oct 2012 13:22:59 +0000 (21:22 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 17 Oct 2012 13:22:59 +0000 (21:22 +0800)
It looks like certain chips ignore NOSNOOP settings in PCIe device
control configuration register.  Restore the magic register setting
to enable cache snooping.

Reported-by: many
Tested-by: Goetz Isenmann <info@goetz-isenmann.de>
sys/dev/sound/pci/hda/hdac.c

index 8767349..88fa5e6 100644 (file)
@@ -3814,7 +3814,6 @@ hdac_attach(device_t dev)
        sc->flags &= ~HDAC_F_DMA_NOCACHE;
 #endif
 
-#if 0
                /*
                 * Try to enable PCIe snoop to avoid messing around with
                 * uncacheable DMA attribute. Since PCIe snoop register
@@ -3852,7 +3851,6 @@ hdac_attach(device_t dev)
                        }
                        break;
                }
-#endif
 
                if (pci_is_pcie(dev)) {
                        int pcie_cap = pci_get_pciecap_ptr(dev);