mt76: move nl80211_dfs_regions in mt76_dev data structure
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 21 Jun 2019 20:31:28 +0000 (22:31 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 27 Jun 2019 10:58:13 +0000 (12:58 +0200)
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>
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c
drivers/net/wireless/mediatek/mt76/mt7603/init.c
drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h
drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c
drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c
drivers/net/wireless/mediatek/mt76/mt76x02_dfs.h

index e10ecbb..850ef16 100644 (file)
@@ -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;
index 9c0bea4..a1bc310 100644 (file)
@@ -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);
index 85744cd..38834c7 100644 (file)
@@ -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
index 60f8269..2c6f7b4 100644 (file)
@@ -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;
index ffdba5f..1b1e424 100644 (file)
@@ -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);
 
index 84b8456..50e9b31 100644 (file)
@@ -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);
        }
index 70b394e..0408613 100644 (file)
@@ -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;