From 68d634718350ababee9c3cf16c073eaba9efa4d6 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 5 Jun 2014 14:09:14 +0000 Subject: rt2x00: merge beacon setup fixes, disable unused hw beacon slots Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41016 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...x00-rt2800-serialize-shared-memory-access.patch | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch') 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, ®); rt2x00_set_field32(®, 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(®, 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); -- cgit v1.2.3