diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-10-02 22:26:15 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-10-02 22:26:15 +0000 |
commit | d12df5398a3601af2ec7ffe80aba4e2f3db8bd69 (patch) | |
tree | 319a524473cf24ec3fe463cf9f54f1b304a54a7c /target/linux/generic/patches-3.8 | |
parent | 81d28e0f3e54f4ff3b3a66248226bbae36524fc9 (diff) |
kernel: bcma: update to wireless-testing master-2013-10-01
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38290 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.8')
-rw-r--r-- | target/linux/generic/patches-3.8/025-bcma_backport.patch | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/target/linux/generic/patches-3.8/025-bcma_backport.patch b/target/linux/generic/patches-3.8/025-bcma_backport.patch index 2764474890..6558454c1a 100644 --- a/target/linux/generic/patches-3.8/025-bcma_backport.patch +++ b/target/linux/generic/patches-3.8/025-bcma_backport.patch @@ -1769,13 +1769,14 @@ #ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE struct bcma_drv_pci_host { -@@ -217,7 +240,8 @@ struct bcma_drv_pci { +@@ -217,7 +240,9 @@ struct bcma_drv_pci { extern void bcma_core_pci_init(struct bcma_drv_pci *pc); extern int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, struct bcma_device *core, bool enable); -extern void bcma_core_pci_extend_L1timer(struct bcma_drv_pci *pc, bool extend); +extern void bcma_core_pci_up(struct bcma_bus *bus); +extern void bcma_core_pci_down(struct bcma_bus *bus); ++extern void bcma_core_pci_power_save(struct bcma_bus *bus, bool up); extern int bcma_core_pci_pcibios_map_irq(const struct pci_dev *dev); extern int bcma_core_pci_plat_dev_init(struct pci_dev *dev); @@ -1832,14 +1833,20 @@ /************************************************** * Workarounds. **************************************************/ -@@ -203,6 +210,25 @@ static void bcma_core_pci_config_fixup(s - } +@@ -229,6 +236,32 @@ void bcma_core_pci_init(struct bcma_drv_ + bcma_core_pci_clientmode_init(pc); } -+static void bcma_core_pci_power_save(struct bcma_drv_pci *pc, bool up) ++void bcma_core_pci_power_save(struct bcma_bus *bus, bool up) +{ ++ struct bcma_drv_pci *pc; + u16 data; + ++ if (bus->hosttype != BCMA_HOSTTYPE_PCI) ++ return; ++ ++ pc = &bus->drv_pci[0]; ++ + if (pc->core->id.rev >= 15 && pc->core->id.rev <= 20) { + data = up ? 0x74 : 0x7C; + bcma_pcie_mdio_writeread(pc, BCMA_CORE_PCI_MDIO_BLK1, @@ -1854,11 +1861,12 @@ + BCMA_CORE_PCI_MDIO_BLK1_MGMT3, data); + } +} ++EXPORT_SYMBOL_GPL(bcma_core_pci_power_save); + - /************************************************** - * Init. - **************************************************/ -@@ -262,7 +288,7 @@ out: + int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, struct bcma_device *core, + bool enable) + { +@@ -262,7 +295,7 @@ out: } EXPORT_SYMBOL_GPL(bcma_core_pci_irq_ctl); @@ -1867,7 +1875,7 @@ { u32 w; -@@ -274,4 +300,33 @@ void bcma_core_pci_extend_L1timer(struct +@@ -274,4 +307,29 @@ void bcma_core_pci_extend_L1timer(struct bcma_pcie_write(pc, BCMA_CORE_PCI_DLLP_PMTHRESHREG, w); bcma_pcie_read(pc, BCMA_CORE_PCI_DLLP_PMTHRESHREG); } @@ -1882,8 +1890,6 @@ + + pc = &bus->drv_pci[0]; + -+ bcma_core_pci_power_save(pc, true); -+ + bcma_core_pci_extend_L1timer(pc, true); +} +EXPORT_SYMBOL_GPL(bcma_core_pci_up); @@ -1898,8 +1904,6 @@ + pc = &bus->drv_pci[0]; + + bcma_core_pci_extend_L1timer(pc, false); -+ -+ bcma_core_pci_power_save(pc, false); +} +EXPORT_SYMBOL_GPL(bcma_core_pci_down); --- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c |