Changeset 36344
- Timestamp:
- 2013-04-16T12:53:02+02:00 (5 years ago)
- Location:
- trunk/package/mac80211/patches
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/package/mac80211/patches/300-pending_work.patch
r36334 r36344 608 608 if (!ath9k_hw_set_reset_reg(ah, reset_type)) 609 609 return false; 610 @@ -1876,13 +1878,12 @@ int ath9k_hw_reset(struct ath_hw *ah, st 611 612 ENABLE_REGWRITE_BUFFER(ah); 613 614 - REG_WRITE(ah, AR_STA_ID0, get_unaligned_le32(common->macaddr)); 615 - REG_WRITE(ah, AR_STA_ID1, get_unaligned_le16(common->macaddr + 4) 616 - | macStaId1 617 + REG_RMW(ah, AR_STA_ID1, macStaId1 618 | AR_STA_ID1_RTS_USE_DEF 619 | (ah->config. 620 ack_6mb ? AR_STA_ID1_ACKCTS_6MB : 0) 621 - | ah->sta_id1_defaults); 622 + | ah->sta_id1_defaults, 623 + ~AR_STA_ID1_SADH_MASK); 624 ath_hw_setbssidmask(common); 625 REG_WRITE(ah, AR_DEF_ANTENNA, saveDefAntenna); 626 ath9k_hw_write_associd(ah); 610 627 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c 611 628 +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c … … 1630 1647 p += sprintf(p, " %6u.%1u %6u.%1u %6u.%1u " 1631 1648 "%3u(%3u) %8llu %8llu\n", 1649 --- a/drivers/net/wireless/ath/ath9k/ath9k.h 1650 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h 1651 @@ -657,11 +657,10 @@ enum sc_op_flags { 1652 struct ath_rate_table; 1653 1654 struct ath9k_vif_iter_data { 1655 - const u8 *hw_macaddr; /* phy's hardware address, set 1656 - * before starting iteration for 1657 - * valid bssid mask. 1658 - */ 1659 + u8 hw_macaddr[ETH_ALEN]; /* address of the first vif */ 1660 u8 mask[ETH_ALEN]; /* bssid mask */ 1661 + bool has_hw_macaddr; 1662 + 1663 int naps; /* number of AP vifs */ 1664 int nmeshes; /* number of mesh vifs */ 1665 int nstations; /* number of station vifs */ 1666 --- a/drivers/net/wireless/ath/ath9k/main.c 1667 +++ b/drivers/net/wireless/ath/ath9k/main.c 1668 @@ -835,10 +835,14 @@ static void ath9k_vif_iter(void *data, u 1669 struct ath9k_vif_iter_data *iter_data = data; 1670 int i; 1671 1672 - if (iter_data->hw_macaddr) 1673 + if (iter_data->has_hw_macaddr) { 1674 for (i = 0; i < ETH_ALEN; i++) 1675 iter_data->mask[i] &= 1676 ~(iter_data->hw_macaddr[i] ^ mac[i]); 1677 + } else { 1678 + memcpy(iter_data->hw_macaddr, mac, ETH_ALEN); 1679 + iter_data->has_hw_macaddr = true; 1680 + } 1681 1682 switch (vif->type) { 1683 case NL80211_IFTYPE_AP: 1684 @@ -887,7 +891,6 @@ void ath9k_calculate_iter_data(struct ie 1685 * together with the BSSID mask when matching addresses. 1686 */ 1687 memset(iter_data, 0, sizeof(*iter_data)); 1688 - iter_data->hw_macaddr = common->macaddr; 1689 memset(&iter_data->mask, 0xff, ETH_ALEN); 1690 1691 if (vif) 1692 @@ -897,6 +900,8 @@ void ath9k_calculate_iter_data(struct ie 1693 ieee80211_iterate_active_interfaces_atomic( 1694 sc->hw, IEEE80211_IFACE_ITER_RESUME_ALL, 1695 ath9k_vif_iter, iter_data); 1696 + 1697 + memcpy(common->macaddr, iter_data->hw_macaddr, ETH_ALEN); 1698 } 1699 1700 /* Called with sc->mutex held. */ 1701 --- a/drivers/net/wireless/ath/ath9k/reg.h 1702 +++ b/drivers/net/wireless/ath/ath9k/reg.h 1703 @@ -1493,9 +1493,6 @@ enum { 1704 #define AR9271_RADIO_RF_RST 0x20 1705 #define AR9271_GATE_MAC_CTL 0x4000 1706 1707 -#define AR_STA_ID0 0x8000 1708 -#define AR_STA_ID1 0x8004 1709 -#define AR_STA_ID1_SADH_MASK 0x0000FFFF 1710 #define AR_STA_ID1_STA_AP 0x00010000 1711 #define AR_STA_ID1_ADHOC 0x00020000 1712 #define AR_STA_ID1_PWR_SAV 0x00040000 1713 --- a/drivers/net/wireless/ath/hw.c 1714 +++ b/drivers/net/wireless/ath/hw.c 1715 @@ -118,6 +118,12 @@ 1716 void ath_hw_setbssidmask(struct ath_common *common) 1717 { 1718 void *ah = common->ah; 1719 + u32 id1; 1720 + 1721 + REG_WRITE(ah, AR_STA_ID0, get_unaligned_le32(common->macaddr)); 1722 + id1 = REG_READ(ah, AR_STA_ID1) & ~AR_STA_ID1_SADH_MASK; 1723 + id1 |= get_unaligned_le16(common->macaddr + 4); 1724 + REG_WRITE(ah, AR_STA_ID1, id1); 1725 1726 REG_WRITE(ah, AR_BSSMSKL, get_unaligned_le32(common->bssidmask)); 1727 REG_WRITE(ah, AR_BSSMSKU, get_unaligned_le16(common->bssidmask + 4)); 1728 --- a/drivers/net/wireless/ath/reg.h 1729 +++ b/drivers/net/wireless/ath/reg.h 1730 @@ -23,6 +23,10 @@ 1731 #define AR_MIBC_CMC 0x00000004 1732 #define AR_MIBC_MCS 0x00000008 1733 1734 +#define AR_STA_ID0 0x8000 1735 +#define AR_STA_ID1 0x8004 1736 +#define AR_STA_ID1_SADH_MASK 0x0000ffff 1737 + 1738 /* 1739 * BSSID mask registers. See ath_hw_set_bssid_mask() 1740 * for detailed documentation about these registers. -
trunk/package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch
r35785 r36344 1 1 --- a/drivers/net/wireless/ath/ath9k/hw.c 2 2 +++ b/drivers/net/wireless/ath/ath9k/hw.c 3 @@ -194 7,8 +1947,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st3 @@ -1946,8 +1946,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 4 4 REG_WRITE(ah, AR_OBS, 8); 5 5 -
trunk/package/mac80211/patches/512-ath9k_channelbw_debugfs.patch
r35753 r36344 1 1 --- a/drivers/net/wireless/ath/ath9k/ath9k.h 2 2 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h 3 @@ -6 90,6 +690,7 @@ struct ath_softc {3 @@ -689,6 +689,7 @@ struct ath_softc { 4 4 struct ieee80211_hw *hw; 5 5 struct device *dev; … … 9 9 struct survey_info survey[ATH9K_NUM_CHANNELS]; 10 10 11 @@ -89 4,6 +895,7 @@ struct fft_sample_ht20 {11 @@ -893,6 +894,7 @@ struct fft_sample_ht20 { 12 12 u8 data[SPECTRAL_HT20_NUM_BINS]; 13 13 } __packed; … … 81 81 --- a/drivers/net/wireless/ath/ath9k/main.c 82 82 +++ b/drivers/net/wireless/ath/ath9k/main.c 83 @@ -113 1,7 +1131,7 @@ int ath9k_spectral_scan_config(struct ie83 @@ -1136,7 +1136,7 @@ int ath9k_spectral_scan_config(struct ie 84 84 return 0; 85 85 } … … 90 90 struct ath_softc *sc = hw->priv; 91 91 struct ath_hw *ah = sc->sc_ah; 92 @@ -11 85,9 +1185,11 @@ static int ath9k_config(struct ieee8021192 @@ -1190,9 +1190,11 @@ static int ath9k_config(struct ieee80211 93 93 94 94 if ((changed & IEEE80211_CONF_CHANGE_CHANNEL) || reset_channel) { … … 102 102 if (ah->curchan) 103 103 old_pos = ah->curchan - &ah->channels[0]; 104 @@ -123 0,7 +1232,23 @@ static int ath9k_config(struct ieee80211104 @@ -1235,7 +1237,23 @@ static int ath9k_config(struct ieee80211 105 105 memset(&sc->survey[pos], 0, sizeof(struct survey_info)); 106 106 } -
trunk/package/mac80211/patches/521-ath9k_cur_txpower.patch
r35753 r36344 1 1 --- a/drivers/net/wireless/ath/ath9k/main.c 2 2 +++ b/drivers/net/wireless/ath/ath9k/main.c 3 @@ -12 55,6 +1255,8 @@ int ath9k_config(struct ieee80211_hw *hw3 @@ -1260,6 +1260,8 @@ int ath9k_config(struct ieee80211_hw *hw 4 4 return -EINVAL; 5 5 } … … 10 10 * The most recent snapshot of channel->noisefloor for the old 11 11 * channel is only available after the hardware reset. Copy it to 12 @@ -127 4,6 +1276,7 @@ int ath9k_config(struct ieee80211_hw *hw12 @@ -1279,6 +1281,7 @@ int ath9k_config(struct ieee80211_hw *hw 13 13 sc->config.txpowlimit = 2 * conf->power_level; 14 14 ath9k_cmn_update_txpow(ah, sc->curtxpow, -
trunk/package/mac80211/patches/524-ath9k_use_configured_antenna_gain.patch
r35785 r36344 11 11 --- a/drivers/net/wireless/ath/ath9k/hw.c 12 12 +++ b/drivers/net/wireless/ath/ath9k/hw.c 13 @@ -281 8,7 +2818,7 @@ void ath9k_hw_apply_txpower(struct ath_h13 @@ -2817,7 +2817,7 @@ void ath9k_hw_apply_txpower(struct ath_h 14 14 channel = chan->chan; 15 15 chan_pwr = min_t(int, channel->max_power * 2, MAX_RATE_POWER); … … 22 22 --- a/drivers/net/wireless/ath/ath9k/main.c 23 23 +++ b/drivers/net/wireless/ath/ath9k/main.c 24 @@ -127 2,7 +1272,10 @@ int ath9k_config(struct ieee80211_hw *hw24 @@ -1277,7 +1277,10 @@ int ath9k_config(struct ieee80211_hw *hw 25 25 } 26 26 -
trunk/package/mac80211/patches/530-ath9k_extra_leds.patch
r36265 r36344 11 11 static inline void ath_init_leds(struct ath_softc *sc) 12 12 { 13 @@ -68 6,6 +689,13 @@ enum spectral_mode {13 @@ -685,6 +688,13 @@ enum spectral_mode { 14 14 SPECTRAL_CHANSCAN, 15 15 }; … … 25 25 struct ieee80211_hw *hw; 26 26 struct device *dev; 27 @@ -72 7,9 +737,8 @@ struct ath_softc {27 @@ -726,9 +736,8 @@ struct ath_softc { 28 28 struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS]; 29 29 -
trunk/package/mac80211/patches/553-ath9k_debugfs_diag.patch
r35785 r36344 116 116 struct ath9k_hw_cal_data *caldata, bool fastcc) 117 117 { 118 @@ -202 4,6 +2038,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st118 @@ -2023,6 +2037,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st 119 119 } 120 120 -
trunk/package/mac80211/patches/555-ath9k-allow-to-disable-bands-via-platform-data.patch
r35785 r36344 13 13 --- a/drivers/net/wireless/ath/ath9k/hw.c 14 14 +++ b/drivers/net/wireless/ath/ath9k/hw.c 15 @@ -241 4,17 +2414,25 @@ int ath9k_hw_fill_cap_info(struct ath_hw15 @@ -2413,17 +2413,25 @@ int ath9k_hw_fill_cap_info(struct ath_hw 16 16 } 17 17
Note: See TracChangeset
for help on using the changeset viewer.