mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 04:54:41 +08:00
iwlwifi: mvm: expose some static APIs for use by TDLS code
Mostly functions related to building Tx-commands for sending to FW. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
7992074960
commit
6ce73e6569
@ -831,6 +831,16 @@ int __must_check iwl_mvm_send_cmd_pdu_status(struct iwl_mvm *mvm, u8 id,
|
||||
int iwl_mvm_tx_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
struct ieee80211_sta *sta);
|
||||
int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb);
|
||||
void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info, u8 sta_id);
|
||||
void iwl_mvm_set_tx_cmd_crypto(struct iwl_mvm *mvm,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct sk_buff *skb_frag);
|
||||
void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct ieee80211_sta *sta, __le16 fc);
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
const char *iwl_mvm_get_tx_fail_reason(u32 status);
|
||||
#else
|
||||
@ -900,6 +910,8 @@ void iwl_mvm_phy_ctxt_ref(struct iwl_mvm *mvm,
|
||||
void iwl_mvm_phy_ctxt_unref(struct iwl_mvm *mvm,
|
||||
struct iwl_mvm_phy_ctxt *ctxt);
|
||||
int iwl_mvm_phy_ctx_count(struct iwl_mvm *mvm);
|
||||
u8 iwl_mvm_get_channel_width(struct cfg80211_chan_def *chandef);
|
||||
u8 iwl_mvm_get_ctrl_pos(struct cfg80211_chan_def *chandef);
|
||||
|
||||
/* MAC (virtual interface) programming */
|
||||
int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
|
||||
|
@ -68,7 +68,7 @@
|
||||
#include "mvm.h"
|
||||
|
||||
/* Maps the driver specific channel width definition to the the fw values */
|
||||
static inline u8 iwl_mvm_get_channel_width(struct cfg80211_chan_def *chandef)
|
||||
u8 iwl_mvm_get_channel_width(struct cfg80211_chan_def *chandef)
|
||||
{
|
||||
switch (chandef->width) {
|
||||
case NL80211_CHAN_WIDTH_20_NOHT:
|
||||
@ -90,7 +90,7 @@ static inline u8 iwl_mvm_get_channel_width(struct cfg80211_chan_def *chandef)
|
||||
* Maps the driver specific control channel position (relative to the center
|
||||
* freq) definitions to the the fw values
|
||||
*/
|
||||
static inline u8 iwl_mvm_get_ctrl_pos(struct cfg80211_chan_def *chandef)
|
||||
u8 iwl_mvm_get_ctrl_pos(struct cfg80211_chan_def *chandef)
|
||||
{
|
||||
switch (chandef->chan->center_freq - chandef->center_freq1) {
|
||||
case -70:
|
||||
|
@ -73,9 +73,9 @@
|
||||
/*
|
||||
* Sets most of the Tx cmd's fields
|
||||
*/
|
||||
static void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info, u8 sta_id)
|
||||
void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info, u8 sta_id)
|
||||
{
|
||||
struct ieee80211_hdr *hdr = (void *)skb->data;
|
||||
__le16 fc = hdr->frame_control;
|
||||
@ -149,11 +149,9 @@ static void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
/*
|
||||
* Sets the fields in the Tx cmd that are rate related
|
||||
*/
|
||||
static void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct ieee80211_sta *sta,
|
||||
__le16 fc)
|
||||
void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct ieee80211_sta *sta, __le16 fc)
|
||||
{
|
||||
u32 rate_flags;
|
||||
int rate_idx;
|
||||
@ -232,10 +230,10 @@ static void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm,
|
||||
/*
|
||||
* Sets the fields in the Tx cmd that are crypto related
|
||||
*/
|
||||
static void iwl_mvm_set_tx_cmd_crypto(struct iwl_mvm *mvm,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct sk_buff *skb_frag)
|
||||
void iwl_mvm_set_tx_cmd_crypto(struct iwl_mvm *mvm,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct iwl_tx_cmd *tx_cmd,
|
||||
struct sk_buff *skb_frag)
|
||||
{
|
||||
struct ieee80211_key_conf *keyconf = info->control.hw_key;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user