Skip to content

Commit

Permalink
mt76: move nl80211_dfs_regions in mt76_dev data structure
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Lorenzo Bianconi authored and Felix Fietkau committed Jun 27, 2019
1 parent 07d557f commit d8b8890
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 16 deletions.
2 changes: 2 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt76.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/wireless/mediatek/mt76/mt7603/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
16 changes: 8 additions & 8 deletions drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 */
Expand Down Expand Up @@ -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);
Expand All @@ -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);
}
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/wireless/mediatek/mt76/mt76x02_dfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down

0 comments on commit d8b8890

Please sign in to comment.