mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-15 18:34:47 +08:00
mt76: move nl80211_dfs_regions in mt76_dev data structure
Move dfs region field in mt76_dev data structure since it is used by all drivers. This is a preliminary patch to add DFS support to mt7615 driver Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
07d557f640
commit
d8b8890d59
@ -486,6 +486,8 @@ struct mt76_dev {
|
||||
int txpower_conf;
|
||||
int txpower_cur;
|
||||
|
||||
enum nl80211_dfs_regions region;
|
||||
|
||||
u32 debugfs_reg;
|
||||
|
||||
struct led_classdev led_cdev;
|
||||
|
@ -49,7 +49,7 @@ mt7603_edcca_set(void *data, u64 val)
|
||||
|
||||
dev->ed_monitor_enabled = !!val;
|
||||
dev->ed_monitor = dev->ed_monitor_enabled &&
|
||||
dev->region == NL80211_DFS_ETSI;
|
||||
dev->mt76.region == NL80211_DFS_ETSI;
|
||||
mt7603_init_edcca(dev);
|
||||
|
||||
mutex_unlock(&dev->mt76.mutex);
|
||||
|
@ -445,9 +445,9 @@ mt7603_regd_notifier(struct wiphy *wiphy,
|
||||
struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
|
||||
struct mt7603_dev *dev = hw->priv;
|
||||
|
||||
dev->region = request->dfs_region;
|
||||
dev->mt76.region = request->dfs_region;
|
||||
dev->ed_monitor = dev->ed_monitor_enabled &&
|
||||
dev->region == NL80211_DFS_ETSI;
|
||||
dev->mt76.region == NL80211_DFS_ETSI;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -127,8 +127,6 @@ struct mt7603_dev {
|
||||
|
||||
u8 mcu_running;
|
||||
|
||||
enum nl80211_dfs_regions region;
|
||||
|
||||
u8 ed_monitor_enabled;
|
||||
u8 ed_monitor;
|
||||
s8 ed_trigger;
|
||||
|
@ -120,7 +120,7 @@ static int
|
||||
mt76_edcca_set(void *data, u64 val)
|
||||
{
|
||||
struct mt76x02_dev *dev = data;
|
||||
enum nl80211_dfs_regions region = dev->dfs_pd.region;
|
||||
enum nl80211_dfs_regions region = dev->mt76.region;
|
||||
|
||||
mutex_lock(&dev->mt76.mutex);
|
||||
|
||||
|
@ -283,7 +283,7 @@ static bool mt76x02_dfs_check_hw_pulse(struct mt76x02_dev *dev,
|
||||
if (!pulse->period || !pulse->w1)
|
||||
return false;
|
||||
|
||||
switch (dev->dfs_pd.region) {
|
||||
switch (dev->mt76.region) {
|
||||
case NL80211_DFS_FCC:
|
||||
if (pulse->engine > 3)
|
||||
break;
|
||||
@ -457,7 +457,7 @@ static int mt76x02_dfs_create_sequence(struct mt76x02_dev *dev,
|
||||
with_sum = event->width + cur_event->width;
|
||||
|
||||
sw_params = &dfs_pd->sw_dpd_params;
|
||||
switch (dev->dfs_pd.region) {
|
||||
switch (dev->mt76.region) {
|
||||
case NL80211_DFS_FCC:
|
||||
case NL80211_DFS_JP:
|
||||
if (with_sum < 600)
|
||||
@ -685,7 +685,7 @@ static void mt76x02_dfs_init_sw_detector(struct mt76x02_dev *dev)
|
||||
{
|
||||
struct mt76x02_dfs_pattern_detector *dfs_pd = &dev->dfs_pd;
|
||||
|
||||
switch (dev->dfs_pd.region) {
|
||||
switch (dev->mt76.region) {
|
||||
case NL80211_DFS_FCC:
|
||||
dfs_pd->sw_dpd_params.max_pri = MT_DFS_FCC_MAX_PRI;
|
||||
dfs_pd->sw_dpd_params.min_pri = MT_DFS_FCC_MIN_PRI;
|
||||
@ -725,7 +725,7 @@ static void mt76x02_dfs_set_bbp_params(struct mt76x02_dev *dev)
|
||||
break;
|
||||
}
|
||||
|
||||
switch (dev->dfs_pd.region) {
|
||||
switch (dev->mt76.region) {
|
||||
case NL80211_DFS_FCC:
|
||||
radar_specs = &fcc_radar_specs[shift];
|
||||
break;
|
||||
@ -836,7 +836,7 @@ void mt76x02_dfs_init_params(struct mt76x02_dev *dev)
|
||||
struct cfg80211_chan_def *chandef = &dev->mt76.chandef;
|
||||
|
||||
if ((chandef->chan->flags & IEEE80211_CHAN_RADAR) &&
|
||||
dev->dfs_pd.region != NL80211_DFS_UNSET) {
|
||||
dev->mt76.region != NL80211_DFS_UNSET) {
|
||||
mt76x02_dfs_init_sw_detector(dev);
|
||||
mt76x02_dfs_set_bbp_params(dev);
|
||||
/* enable debug mode */
|
||||
@ -869,7 +869,7 @@ void mt76x02_dfs_init_detector(struct mt76x02_dev *dev)
|
||||
|
||||
INIT_LIST_HEAD(&dfs_pd->sequences);
|
||||
INIT_LIST_HEAD(&dfs_pd->seq_pool);
|
||||
dfs_pd->region = NL80211_DFS_UNSET;
|
||||
dev->mt76.region = NL80211_DFS_UNSET;
|
||||
dfs_pd->last_sw_check = jiffies;
|
||||
tasklet_init(&dfs_pd->dfs_tasklet, mt76x02_dfs_tasklet,
|
||||
(unsigned long)dev);
|
||||
@ -882,14 +882,14 @@ mt76x02_dfs_set_domain(struct mt76x02_dev *dev,
|
||||
struct mt76x02_dfs_pattern_detector *dfs_pd = &dev->dfs_pd;
|
||||
|
||||
mutex_lock(&dev->mt76.mutex);
|
||||
if (dfs_pd->region != region) {
|
||||
if (dev->mt76.region != region) {
|
||||
tasklet_disable(&dfs_pd->dfs_tasklet);
|
||||
|
||||
dev->ed_monitor = dev->ed_monitor_enabled &&
|
||||
region == NL80211_DFS_ETSI;
|
||||
mt76x02_edcca_init(dev);
|
||||
|
||||
dfs_pd->region = region;
|
||||
dev->mt76.region = region;
|
||||
mt76x02_dfs_init_params(dev);
|
||||
tasklet_enable(&dfs_pd->dfs_tasklet);
|
||||
}
|
||||
|
@ -118,8 +118,6 @@ struct mt76x02_dfs_seq_stats {
|
||||
};
|
||||
|
||||
struct mt76x02_dfs_pattern_detector {
|
||||
enum nl80211_dfs_regions region;
|
||||
|
||||
u8 chirp_pulse_cnt;
|
||||
u32 chirp_pulse_ts;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user