From 8b51fa6d0d151e636f2f8cee3d671c1b24719b26 Mon Sep 17 00:00:00 2001 From: Sujith Date: Mon, 16 Feb 2009 13:23:12 +0530 Subject: [PATCH] --- yaml --- r: 134863 b: refs/heads/master c: 70768496db9ee27d53d3d03d50c93fbf4c0198a0 h: refs/heads/master i: 134861: e228d84f40508bf43668abae89ce4785632c6524 134859: 4c4410b85b06dda3209e3cd27310014795f84420 134855: d59256b9f6320277fbd46d0bc191689954dcdefa 134847: 1693a402240c016c21fd5665f880d0993c985dfb v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath9k/hw.c | 8 ++++++++ trunk/drivers/net/wireless/ath9k/reg.h | 8 ++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 9bb864ea95ab..473abc2db066 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 362695e11a09ff016ef00dc45b934b1daf862091 +refs/heads/master: 70768496db9ee27d53d3d03d50c93fbf4c0198a0 diff --git a/trunk/drivers/net/wireless/ath9k/hw.c b/trunk/drivers/net/wireless/ath9k/hw.c index e33c53fb6b7e..1c02358b31f5 100644 --- a/trunk/drivers/net/wireless/ath9k/hw.c +++ b/trunk/drivers/net/wireless/ath9k/hw.c @@ -1482,6 +1482,14 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type) u32 rst_flags; u32 tmpReg; + if (AR_SREV_9100(ah)) { + u32 val = REG_READ(ah, AR_RTC_DERIVED_CLK); + val &= ~AR_RTC_DERIVED_CLK_PERIOD; + val |= SM(1, AR_RTC_DERIVED_CLK_PERIOD); + REG_WRITE(ah, AR_RTC_DERIVED_CLK, val); + (void)REG_READ(ah, AR_RTC_DERIVED_CLK); + } + REG_WRITE(ah, AR_RTC_FORCE_WAKE, AR_RTC_FORCE_WAKE_EN | AR_RTC_FORCE_WAKE_ON_INT); diff --git a/trunk/drivers/net/wireless/ath9k/reg.h b/trunk/drivers/net/wireless/ath9k/reg.h index a471832308a0..8d85106d6df2 100644 --- a/trunk/drivers/net/wireless/ath9k/reg.h +++ b/trunk/drivers/net/wireless/ath9k/reg.h @@ -977,8 +977,6 @@ enum { #define AR_RTC_PLL_CLKSEL 0x00000300 #define AR_RTC_PLL_CLKSEL_S 8 - - #define AR_RTC_RESET \ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0040) : 0x7040) #define AR_RTC_RESET_EN (0x00000001) @@ -1015,6 +1013,12 @@ enum { #define AR_RTC_INTR_MASK \ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0058) : 0x7058) +/* RTC_DERIVED_* - only for AR9100 */ + +#define AR_RTC_DERIVED_CLK (AR_RTC_BASE + 0x0038) +#define AR_RTC_DERIVED_CLK_PERIOD 0x0000fffe +#define AR_RTC_DERIVED_CLK_PERIOD_S 1 + #define AR_SEQ_MASK 0x8060 #define AR_AN_RF2G1_CH0 0x7810