summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Ebbert <cebbert@redhat.com>2011-02-24 22:31:53 -0500
committerChuck Ebbert <cebbert@redhat.com>2011-02-24 22:31:53 -0500
commit8ec9c79221062d9726981b0ce472d0a33b988641 (patch)
treea75dd0a8dacf927f50a44a3dfdeed43f69a6909a
parent31a889617a91f24ffbbf4a166b592890f7eb76cb (diff)
downloadkernel-8ec9c79221062d9726981b0ce472d0a33b988641.tar.gz
kernel-8ec9c79221062d9726981b0ce472d0a33b988641.tar.xz
kernel-8ec9c79221062d9726981b0ce472d0a33b988641.zip
Linux 2.6.38-rc6-git4
-rw-r--r--ath5k-fix-fast-channel-change.patch213
-rw-r--r--kernel.spec12
-rw-r--r--sources2
3 files changed, 6 insertions, 221 deletions
diff --git a/ath5k-fix-fast-channel-change.patch b/ath5k-fix-fast-channel-change.patch
deleted file mode 100644
index cb1cbf392..000000000
--- a/ath5k-fix-fast-channel-change.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From sgruszka@redhat.com Thu Feb 3 07:58:52 2011
-Date: Thu, 3 Feb 2011 13:58:51 +0100
-From: Stanislaw Gruszka <sgruszka@redhat.com>
-To: kernel@lists.fedoraproject.org
-Cc: Kyle McMartin <kmcmartin@redhat.com>
-Subject: [PATCH F-15] ath5k: fix fast channel change
-Message-ID: <20110203125134.GA4515@redhat.com>
-
-From: Nick Kossifidis <mickflemm@gmail.com>
-
- Fast channel change fixes:
-
- a) Always set OFDM timings
- b) Don't re-activate PHY
- c) Enable only NF calibration, not AGC
-
-Resolves:
-https://bugzilla.redhat.com/show_bug.cgi?id=672778
-
----
- drivers/net/wireless/ath/ath5k/phy.c | 142 +++++++++++++++++++++-------------
- 1 files changed, 87 insertions(+), 55 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
-index 78c26fd..d673ab2 100644
---- a/drivers/net/wireless/ath/ath5k/phy.c
-+++ b/drivers/net/wireless/ath/ath5k/phy.c
-@@ -282,6 +282,34 @@ int ath5k_hw_phy_disable(struct ath5k_hw *ah)
- return 0;
- }
-
-+/*
-+ * Wait for synth to settle
-+ */
-+static void ath5k_hw_wait_for_synth(struct ath5k_hw *ah,
-+ struct ieee80211_channel *channel)
-+{
-+ /*
-+ * On 5211+ read activation -> rx delay
-+ * and use it (100ns steps).
-+ */
-+ if (ah->ah_version != AR5K_AR5210) {
-+ u32 delay;
-+ delay = ath5k_hw_reg_read(ah, AR5K_PHY_RX_DELAY) &
-+ AR5K_PHY_RX_DELAY_M;
-+ delay = (channel->hw_value & CHANNEL_CCK) ?
-+ ((delay << 2) / 22) : (delay / 10);
-+ if (ah->ah_bwmode == AR5K_BWMODE_10MHZ)
-+ delay = delay << 1;
-+ if (ah->ah_bwmode == AR5K_BWMODE_5MHZ)
-+ delay = delay << 2;
-+ /* XXX: /2 on turbo ? Let's be safe
-+ * for now */
-+ udelay(100 + delay);
-+ } else {
-+ mdelay(1);
-+ }
-+}
-+
-
- /**********************\
- * RF Gain optimization *
-@@ -3237,6 +3265,13 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
- /* Failed */
- if (i >= 100)
- return -EIO;
-+
-+ /* Set channel and wait for synth */
-+ ret = ath5k_hw_channel(ah, channel);
-+ if (ret)
-+ return ret;
-+
-+ ath5k_hw_wait_for_synth(ah, channel);
- }
-
- /*
-@@ -3251,13 +3286,53 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
- if (ret)
- return ret;
-
-+ /* Write OFDM timings on 5212*/
-+ if (ah->ah_version == AR5K_AR5212 &&
-+ channel->hw_value & CHANNEL_OFDM) {
-+
-+ ret = ath5k_hw_write_ofdm_timings(ah, channel);
-+ if (ret)
-+ return ret;
-+
-+ /* Spur info is available only from EEPROM versions
-+ * greater than 5.3, but the EEPROM routines will use
-+ * static values for older versions */
-+ if (ah->ah_mac_srev >= AR5K_SREV_AR5424)
-+ ath5k_hw_set_spur_mitigation_filter(ah,
-+ channel);
-+ }
-+
-+ /* If we used fast channel switching
-+ * we are done, release RF bus and
-+ * fire up NF calibration.
-+ *
-+ * Note: Only NF calibration due to
-+ * channel change, not AGC calibration
-+ * since AGC is still running !
-+ */
-+ if (fast) {
-+ /*
-+ * Release RF Bus grant
-+ */
-+ AR5K_REG_DISABLE_BITS(ah, AR5K_PHY_RFBUS_REQ,
-+ AR5K_PHY_RFBUS_REQ_REQUEST);
-+
-+ /*
-+ * Start NF calibration
-+ */
-+ AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_AGCCTL,
-+ AR5K_PHY_AGCCTL_NF);
-+
-+ return ret;
-+ }
-+
- /*
- * For 5210 we do all initialization using
- * initvals, so we don't have to modify
- * any settings (5210 also only supports
- * a/aturbo modes)
- */
-- if ((ah->ah_version != AR5K_AR5210) && !fast) {
-+ if (ah->ah_version != AR5K_AR5210) {
-
- /*
- * Write initial RF gain settings
-@@ -3276,22 +3351,6 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
- if (ret)
- return ret;
-
-- /* Write OFDM timings on 5212*/
-- if (ah->ah_version == AR5K_AR5212 &&
-- channel->hw_value & CHANNEL_OFDM) {
--
-- ret = ath5k_hw_write_ofdm_timings(ah, channel);
-- if (ret)
-- return ret;
--
-- /* Spur info is available only from EEPROM versions
-- * greater than 5.3, but the EEPROM routines will use
-- * static values for older versions */
-- if (ah->ah_mac_srev >= AR5K_SREV_AR5424)
-- ath5k_hw_set_spur_mitigation_filter(ah,
-- channel);
-- }
--
- /*Enable/disable 802.11b mode on 5111
- (enable 2111 frequency converter + CCK)*/
- if (ah->ah_radio == AR5K_RF5111) {
-@@ -3322,47 +3381,20 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
- */
- ath5k_hw_reg_write(ah, AR5K_PHY_ACT_ENABLE, AR5K_PHY_ACT);
-
-+ ath5k_hw_wait_for_synth(ah, channel);
-+
- /*
-- * On 5211+ read activation -> rx delay
-- * and use it.
-+ * Perform ADC test to see if baseband is ready
-+ * Set tx hold and check adc test register
- */
-- if (ah->ah_version != AR5K_AR5210) {
-- u32 delay;
-- delay = ath5k_hw_reg_read(ah, AR5K_PHY_RX_DELAY) &
-- AR5K_PHY_RX_DELAY_M;
-- delay = (channel->hw_value & CHANNEL_CCK) ?
-- ((delay << 2) / 22) : (delay / 10);
-- if (ah->ah_bwmode == AR5K_BWMODE_10MHZ)
-- delay = delay << 1;
-- if (ah->ah_bwmode == AR5K_BWMODE_5MHZ)
-- delay = delay << 2;
-- /* XXX: /2 on turbo ? Let's be safe
-- * for now */
-- udelay(100 + delay);
-- } else {
-- mdelay(1);
-- }
--
-- if (fast)
-- /*
-- * Release RF Bus grant
-- */
-- AR5K_REG_DISABLE_BITS(ah, AR5K_PHY_RFBUS_REQ,
-- AR5K_PHY_RFBUS_REQ_REQUEST);
-- else {
-- /*
-- * Perform ADC test to see if baseband is ready
-- * Set tx hold and check adc test register
-- */
-- phy_tst1 = ath5k_hw_reg_read(ah, AR5K_PHY_TST1);
-- ath5k_hw_reg_write(ah, AR5K_PHY_TST1_TXHOLD, AR5K_PHY_TST1);
-- for (i = 0; i <= 20; i++) {
-- if (!(ath5k_hw_reg_read(ah, AR5K_PHY_ADC_TEST) & 0x10))
-- break;
-- udelay(200);
-- }
-- ath5k_hw_reg_write(ah, phy_tst1, AR5K_PHY_TST1);
-+ phy_tst1 = ath5k_hw_reg_read(ah, AR5K_PHY_TST1);
-+ ath5k_hw_reg_write(ah, AR5K_PHY_TST1_TXHOLD, AR5K_PHY_TST1);
-+ for (i = 0; i <= 20; i++) {
-+ if (!(ath5k_hw_reg_read(ah, AR5K_PHY_ADC_TEST) & 0x10))
-+ break;
-+ udelay(200);
- }
-+ ath5k_hw_reg_write(ah, phy_tst1, AR5K_PHY_TST1);
-
- /*
- * Start automatic gain control calibration
diff --git a/kernel.spec b/kernel.spec
index 187843eda..66123d2b2 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,7 +51,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be prepended with "0.", so
# for example a 3 here will become 0.3
#
-%global baserelease 2
+%global baserelease 1
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -84,7 +84,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 6
# The git snapshot level
-%define gitrev 2
+%define gitrev 4
# Set rpm version accordingly
%define rpmversion 2.6.%{upstream_sublevel}
%endif
@@ -732,8 +732,6 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch
Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch
-Patch12438: ath5k-fix-fast-channel-change.patch
-
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1347,9 +1345,6 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch
# rhbz#662344,600690
ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch
-# rhbz#672778
-ApplyPatch ath5k-fix-fast-channel-change.patch
-
# END OF PATCH APPLICATIONS
%endif
@@ -1953,6 +1948,9 @@ fi
# and build.
%changelog
+* Thu Feb 24 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc6.git4.1
+- Linux 2.6.38-rc6-git4
+
* Thu Feb 24 2011 Matthew Garrett <mjg@redhat.com> 2.6.38-0.rc6.git2.2
- linux-2.6-acpi-fix-implicit-notify.patch: Fix implicit notify when there's
more than one device per GPE
diff --git a/sources b/sources
index 8491e170b..88caa6771 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
c8ee37b4fdccdb651e0603d35350b434 linux-2.6.37.tar.bz2
7f88891e35d060b8f1f436cf05125c36 patch-2.6.38-rc6.bz2
-3ddbe38f2ca6ae526dd0017fafdf846a patch-2.6.38-rc6-git2.bz2
+9a62ea5fbad62e74476ec31a915616f8 patch-2.6.38-rc6-git4.bz2