summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-06-05 14:09:14 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-06-05 14:09:14 +0000
commit236e7ee23997523bbb5d8bda001768523967d99a (patch)
tree755e8075cefece25370a65816f0b3da20b475034 /package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch
parent2454ee8645432e4975ee9c05e22f5feef5e76243 (diff)
downloadmaster-31e0f0ae-236e7ee23997523bbb5d8bda001768523967d99a.tar.gz
master-31e0f0ae-236e7ee23997523bbb5d8bda001768523967d99a.tar.bz2
master-31e0f0ae-236e7ee23997523bbb5d8bda001768523967d99a.zip
rt2x00: merge beacon setup fixes, disable unused hw beacon slots
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41016
Diffstat (limited to 'package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch')
-rw-r--r--package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch34
1 files changed, 17 insertions, 17 deletions
diff --git a/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch b/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch
index 97e213fb52..2accf73b67 100644
--- a/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch
+++ b/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch
@@ -69,7 +69,7 @@ Changes since v1: ---
rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0);
}
msleep(1);
-@@ -1001,8 +1011,10 @@ void rt2800_write_beacon(struct queue_en
+@@ -1035,8 +1045,10 @@ void rt2800_write_beacon(struct queue_en
beacon_base = rt2800_hw_beacon_base(rt2x00dev, entry->entry_idx);
@@ -77,10 +77,10 @@ Changes since v1: ---
rt2800_register_multiwrite(rt2x00dev, beacon_base, entry->skb->data,
entry->skb->len + padding_len);
+ rt2800_shared_mem_unlock(rt2x00dev);
+ __set_bit(ENTRY_BCN_ENABLED, &entry->flags);
/*
- * Restore beaconing state.
-@@ -1026,6 +1038,8 @@ static inline void rt2800_clear_beacon_r
+@@ -1066,6 +1078,8 @@ static inline void rt2800_clear_beacon_r
beacon_base = rt2800_hw_beacon_base(rt2x00dev, index);
@@ -89,7 +89,7 @@ Changes since v1: ---
/*
* For the Beacon base registers we only need to clear
* the whole TXWI which (when set to 0) will invalidate
-@@ -1033,6 +1047,8 @@ static inline void rt2800_clear_beacon_r
+@@ -1073,6 +1087,8 @@ static inline void rt2800_clear_beacon_r
*/
for (i = 0; i < txwi_desc_size; i += sizeof(__le32))
rt2800_register_write(rt2x00dev, beacon_base + i, 0);
@@ -98,7 +98,7 @@ Changes since v1: ---
}
void rt2800_clear_beacon(struct queue_entry *entry)
-@@ -1216,7 +1232,9 @@ static void rt2800_delete_wcid_attr(stru
+@@ -1261,7 +1277,9 @@ static void rt2800_delete_wcid_attr(stru
{
u32 offset;
offset = MAC_WCID_ATTR_ENTRY(wcid);
@@ -108,7 +108,7 @@ Changes since v1: ---
}
static void rt2800_config_wcid_attr_bssidx(struct rt2x00_dev *rt2x00dev,
-@@ -1229,11 +1247,13 @@ static void rt2800_config_wcid_attr_bssi
+@@ -1274,11 +1292,13 @@ static void rt2800_config_wcid_attr_bssi
* The BSS Idx numbers is split in a main value of 3 bits,
* and a extended field for adding one additional bit to the value.
*/
@@ -122,7 +122,7 @@ Changes since v1: ---
}
static void rt2800_config_wcid_attr_cipher(struct rt2x00_dev *rt2x00dev,
-@@ -1246,6 +1266,7 @@ static void rt2800_config_wcid_attr_ciph
+@@ -1291,6 +1311,7 @@ static void rt2800_config_wcid_attr_ciph
offset = MAC_WCID_ATTR_ENTRY(key->hw_key_idx);
@@ -130,7 +130,7 @@ Changes since v1: ---
if (crypto->cmd == SET_KEY) {
rt2800_register_read(rt2x00dev, offset, &reg);
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_KEYTAB,
-@@ -1270,6 +1291,7 @@ static void rt2800_config_wcid_attr_ciph
+@@ -1315,6 +1336,7 @@ static void rt2800_config_wcid_attr_ciph
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_RX_WIUDF, 0);
rt2800_register_write(rt2x00dev, offset, reg);
}
@@ -138,7 +138,7 @@ Changes since v1: ---
offset = MAC_IVEIV_ENTRY(key->hw_key_idx);
-@@ -1279,8 +1301,11 @@ static void rt2800_config_wcid_attr_ciph
+@@ -1324,8 +1346,11 @@ static void rt2800_config_wcid_attr_ciph
(crypto->cipher == CIPHER_AES))
iveiv_entry.iv[3] |= 0x20;
iveiv_entry.iv[3] |= key->keyidx << 6;
@@ -150,7 +150,7 @@ Changes since v1: ---
}
int rt2800_config_shared_key(struct rt2x00_dev *rt2x00dev,
-@@ -1303,8 +1328,11 @@ int rt2800_config_shared_key(struct rt2x
+@@ -1348,8 +1373,11 @@ int rt2800_config_shared_key(struct rt2x
sizeof(key_entry.rx_mic));
offset = SHARED_KEY_ENTRY(key->hw_key_idx);
@@ -162,7 +162,7 @@ Changes since v1: ---
}
/*
-@@ -1319,10 +1347,12 @@ int rt2800_config_shared_key(struct rt2x
+@@ -1364,10 +1392,12 @@ int rt2800_config_shared_key(struct rt2x
offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 8);
@@ -175,7 +175,7 @@ Changes since v1: ---
/*
* Update WCID information
-@@ -1392,8 +1422,11 @@ int rt2800_config_pairwise_key(struct rt
+@@ -1437,8 +1467,11 @@ int rt2800_config_pairwise_key(struct rt
sizeof(key_entry.rx_mic));
offset = PAIRWISE_KEY_ENTRY(key->hw_key_idx);
@@ -187,7 +187,7 @@ Changes since v1: ---
}
/*
-@@ -4875,14 +4908,19 @@ static int rt2800_init_registers(struct
+@@ -4898,14 +4931,19 @@ static int rt2800_init_registers(struct
/*
* ASIC will keep garbage value after boot, clear encryption keys.
*/
@@ -207,7 +207,7 @@ Changes since v1: ---
}
/*
-@@ -5008,8 +5046,10 @@ static int rt2800_wait_bbp_ready(struct
+@@ -5031,8 +5069,10 @@ static int rt2800_wait_bbp_ready(struct
* BBP was enabled after firmware was loaded,
* but we need to reactivate it now.
*/
@@ -218,7 +218,7 @@ Changes since v1: ---
msleep(1);
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
-@@ -6705,11 +6745,19 @@ int rt2800_enable_radio(struct rt2x00_de
+@@ -6728,11 +6768,19 @@ int rt2800_enable_radio(struct rt2x00_de
/*
* Send signal during boot time to initialize firmware.
*/
@@ -239,7 +239,7 @@ Changes since v1: ---
msleep(1);
/*
-@@ -7715,6 +7763,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r
+@@ -7738,6 +7786,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r
int retval;
u32 reg;
@@ -248,7 +248,7 @@ Changes since v1: ---
retval = rt2800_probe_rt(rt2x00dev);
if (retval)
return retval;
-@@ -7794,8 +7844,11 @@ void rt2800_get_tkip_seq(struct ieee8021
+@@ -7817,8 +7867,11 @@ void rt2800_get_tkip_seq(struct ieee8021
u32 offset;
offset = MAC_IVEIV_ENTRY(hw_key_idx);