Signed-off-by: Rafał Miłecki <[email protected]>
Acked-by: Gábor Stefanik <[email protected]>
---
 drivers/ssb/driver_chipcommon.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/drivers/ssb/driver_chipcommon.c b/drivers/ssb/driver_chipcommon.c
index 59ae76b..bda8514 100644
--- a/drivers/ssb/driver_chipcommon.c
+++ b/drivers/ssb/driver_chipcommon.c
@@ -209,6 +209,24 @@ static void chipco_powercontrol_init(struct ssb_chipcommon 
*cc)
        }
 }
 
+/* http://bcm-v4.sipsolutions.net/802.11/PmuFastPwrupDelay */
+static u16 pmu_fast_powerup_delay(struct ssb_chipcommon *cc)
+{
+       struct ssb_bus *bus = cc->dev->bus;
+
+       switch (bus->chip_id) {
+       case 0x4312:
+       case 0x4322:
+       case 0x4328:
+               return 7000;
+       case 0x4325:
+               /* TODO: */
+       default:
+               return 15000;
+       }
+}
+
+/* http://bcm-v4.sipsolutions.net/802.11/ClkctlFastPwrupDelay */
 static void calc_fast_powerup_delay(struct ssb_chipcommon *cc)
 {
        struct ssb_bus *bus = cc->dev->bus;
@@ -218,6 +236,12 @@ static void calc_fast_powerup_delay(struct ssb_chipcommon 
*cc)
 
        if (bus->bustype != SSB_BUSTYPE_PCI)
                return;
+
+       if (cc->capabilities & SSB_CHIPCO_CAP_PMU) {
+               cc->fast_pwrup_delay = pmu_fast_powerup_delay(cc);
+               return;
+       }
+
        if (!(cc->capabilities & SSB_CHIPCO_CAP_PCTL))
                return;
 
-- 
1.6.4.2


_______________________________________________
b43-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to