|
@@ -103,11 +103,23 @@ static void ath_pci_bt_coex_prep(struct ath_common *common)
|
|
|
pci_write_config_byte(pdev, ATH_PCIE_CAP_LINK_CTRL, aspm);
|
|
|
}
|
|
|
|
|
|
+static void ath_pci_extn_synch_enable(struct ath_common *common)
|
|
|
+{
|
|
|
+ struct ath_softc *sc = (struct ath_softc *) common->priv;
|
|
|
+ struct pci_dev *pdev = to_pci_dev(sc->dev);
|
|
|
+ u8 lnkctl;
|
|
|
+
|
|
|
+ pci_read_config_byte(pdev, sc->sc_ah->caps.pcie_lcr_offset, &lnkctl);
|
|
|
+ lnkctl |= PCI_EXP_LNKCTL_ES;
|
|
|
+ pci_write_config_byte(pdev, sc->sc_ah->caps.pcie_lcr_offset, lnkctl);
|
|
|
+}
|
|
|
+
|
|
|
static const struct ath_bus_ops ath_pci_bus_ops = {
|
|
|
.ath_bus_type = ATH_PCI,
|
|
|
.read_cachesize = ath_pci_read_cachesize,
|
|
|
.eeprom_read = ath_pci_eeprom_read,
|
|
|
.bt_coex_prep = ath_pci_bt_coex_prep,
|
|
|
+ .extn_synch_en = ath_pci_extn_synch_enable,
|
|
|
};
|
|
|
|
|
|
static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|