mirror of https://gitee.com/openkylin/linux.git
ath10k: reorder functions
This is done to avoid forward declarations with upcomming patches. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
1bbc09752d
commit
72654fa7b5
|
@ -489,91 +489,6 @@ static inline int ath10k_vdev_setup_sync(struct ath10k *ar)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ath10k_vdev_start(struct ath10k_vif *arvif)
|
|
||||||
{
|
|
||||||
struct ath10k *ar = arvif->ar;
|
|
||||||
struct cfg80211_chan_def *chandef = &ar->chandef;
|
|
||||||
struct wmi_vdev_start_request_arg arg = {};
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
lockdep_assert_held(&ar->conf_mutex);
|
|
||||||
|
|
||||||
reinit_completion(&ar->vdev_setup_done);
|
|
||||||
|
|
||||||
arg.vdev_id = arvif->vdev_id;
|
|
||||||
arg.dtim_period = arvif->dtim_period;
|
|
||||||
arg.bcn_intval = arvif->beacon_interval;
|
|
||||||
|
|
||||||
arg.channel.freq = chandef->chan->center_freq;
|
|
||||||
arg.channel.band_center_freq1 = chandef->center_freq1;
|
|
||||||
arg.channel.mode = chan_to_phymode(chandef);
|
|
||||||
|
|
||||||
arg.channel.min_power = 0;
|
|
||||||
arg.channel.max_power = chandef->chan->max_power * 2;
|
|
||||||
arg.channel.max_reg_power = chandef->chan->max_reg_power * 2;
|
|
||||||
arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain * 2;
|
|
||||||
|
|
||||||
if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
|
|
||||||
arg.ssid = arvif->u.ap.ssid;
|
|
||||||
arg.ssid_len = arvif->u.ap.ssid_len;
|
|
||||||
arg.hidden_ssid = arvif->u.ap.hidden_ssid;
|
|
||||||
|
|
||||||
/* For now allow DFS for AP mode */
|
|
||||||
arg.channel.chan_radar =
|
|
||||||
!!(chandef->chan->flags & IEEE80211_CHAN_RADAR);
|
|
||||||
} else if (arvif->vdev_type == WMI_VDEV_TYPE_IBSS) {
|
|
||||||
arg.ssid = arvif->vif->bss_conf.ssid;
|
|
||||||
arg.ssid_len = arvif->vif->bss_conf.ssid_len;
|
|
||||||
}
|
|
||||||
|
|
||||||
ath10k_dbg(ATH10K_DBG_MAC,
|
|
||||||
"mac vdev %d start center_freq %d phymode %s\n",
|
|
||||||
arg.vdev_id, arg.channel.freq,
|
|
||||||
ath10k_wmi_phymode_str(arg.channel.mode));
|
|
||||||
|
|
||||||
ret = ath10k_wmi_vdev_start(ar, &arg);
|
|
||||||
if (ret) {
|
|
||||||
ath10k_warn("failed to start WMI vdev %i: %d\n",
|
|
||||||
arg.vdev_id, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = ath10k_vdev_setup_sync(ar);
|
|
||||||
if (ret) {
|
|
||||||
ath10k_warn("failed to synchronise setup for vdev %i: %d\n",
|
|
||||||
arg.vdev_id, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ath10k_vdev_stop(struct ath10k_vif *arvif)
|
|
||||||
{
|
|
||||||
struct ath10k *ar = arvif->ar;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
lockdep_assert_held(&ar->conf_mutex);
|
|
||||||
|
|
||||||
reinit_completion(&ar->vdev_setup_done);
|
|
||||||
|
|
||||||
ret = ath10k_wmi_vdev_stop(ar, arvif->vdev_id);
|
|
||||||
if (ret) {
|
|
||||||
ath10k_warn("failed to stop WMI vdev %i: %d\n",
|
|
||||||
arvif->vdev_id, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = ath10k_vdev_setup_sync(ar);
|
|
||||||
if (ret) {
|
|
||||||
ath10k_warn("failed to syncronise setup for vdev %i: %d\n",
|
|
||||||
arvif->vdev_id, ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool ath10k_monitor_is_enabled(struct ath10k *ar)
|
static bool ath10k_monitor_is_enabled(struct ath10k *ar)
|
||||||
{
|
{
|
||||||
lockdep_assert_held(&ar->conf_mutex);
|
lockdep_assert_held(&ar->conf_mutex);
|
||||||
|
@ -909,6 +824,91 @@ static void ath10k_config_radar_detection(struct ath10k *ar)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ath10k_vdev_start(struct ath10k_vif *arvif)
|
||||||
|
{
|
||||||
|
struct ath10k *ar = arvif->ar;
|
||||||
|
struct cfg80211_chan_def *chandef = &ar->chandef;
|
||||||
|
struct wmi_vdev_start_request_arg arg = {};
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
lockdep_assert_held(&ar->conf_mutex);
|
||||||
|
|
||||||
|
reinit_completion(&ar->vdev_setup_done);
|
||||||
|
|
||||||
|
arg.vdev_id = arvif->vdev_id;
|
||||||
|
arg.dtim_period = arvif->dtim_period;
|
||||||
|
arg.bcn_intval = arvif->beacon_interval;
|
||||||
|
|
||||||
|
arg.channel.freq = chandef->chan->center_freq;
|
||||||
|
arg.channel.band_center_freq1 = chandef->center_freq1;
|
||||||
|
arg.channel.mode = chan_to_phymode(chandef);
|
||||||
|
|
||||||
|
arg.channel.min_power = 0;
|
||||||
|
arg.channel.max_power = chandef->chan->max_power * 2;
|
||||||
|
arg.channel.max_reg_power = chandef->chan->max_reg_power * 2;
|
||||||
|
arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain * 2;
|
||||||
|
|
||||||
|
if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
|
||||||
|
arg.ssid = arvif->u.ap.ssid;
|
||||||
|
arg.ssid_len = arvif->u.ap.ssid_len;
|
||||||
|
arg.hidden_ssid = arvif->u.ap.hidden_ssid;
|
||||||
|
|
||||||
|
/* For now allow DFS for AP mode */
|
||||||
|
arg.channel.chan_radar =
|
||||||
|
!!(chandef->chan->flags & IEEE80211_CHAN_RADAR);
|
||||||
|
} else if (arvif->vdev_type == WMI_VDEV_TYPE_IBSS) {
|
||||||
|
arg.ssid = arvif->vif->bss_conf.ssid;
|
||||||
|
arg.ssid_len = arvif->vif->bss_conf.ssid_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
ath10k_dbg(ATH10K_DBG_MAC,
|
||||||
|
"mac vdev %d start center_freq %d phymode %s\n",
|
||||||
|
arg.vdev_id, arg.channel.freq,
|
||||||
|
ath10k_wmi_phymode_str(arg.channel.mode));
|
||||||
|
|
||||||
|
ret = ath10k_wmi_vdev_start(ar, &arg);
|
||||||
|
if (ret) {
|
||||||
|
ath10k_warn("failed to start WMI vdev %i: %d\n",
|
||||||
|
arg.vdev_id, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ath10k_vdev_setup_sync(ar);
|
||||||
|
if (ret) {
|
||||||
|
ath10k_warn("failed to synchronise setup for vdev %i: %d\n",
|
||||||
|
arg.vdev_id, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int ath10k_vdev_stop(struct ath10k_vif *arvif)
|
||||||
|
{
|
||||||
|
struct ath10k *ar = arvif->ar;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
lockdep_assert_held(&ar->conf_mutex);
|
||||||
|
|
||||||
|
reinit_completion(&ar->vdev_setup_done);
|
||||||
|
|
||||||
|
ret = ath10k_wmi_vdev_stop(ar, arvif->vdev_id);
|
||||||
|
if (ret) {
|
||||||
|
ath10k_warn("failed to stop WMI vdev %i: %d\n",
|
||||||
|
arvif->vdev_id, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ath10k_vdev_setup_sync(ar);
|
||||||
|
if (ret) {
|
||||||
|
ath10k_warn("failed to syncronise setup for vdev %i: %d\n",
|
||||||
|
arvif->vdev_id, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static void ath10k_control_beaconing(struct ath10k_vif *arvif,
|
static void ath10k_control_beaconing(struct ath10k_vif *arvif,
|
||||||
struct ieee80211_bss_conf *info)
|
struct ieee80211_bss_conf *info)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue