mac80211: implement hardware offload for remain-on-channel
This allows drivers to support remain-on-channel offload if they implement smarter timing or need to use a device implementation like iwlwifi. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
c96e96354a
commit
21f8358964
8 changed files with 306 additions and 3 deletions
|
@ -933,6 +933,50 @@ TRACE_EVENT(drv_get_antenna,
|
|||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(drv_remain_on_channel,
|
||||
TP_PROTO(struct ieee80211_local *local, struct ieee80211_channel *chan,
|
||||
enum nl80211_channel_type chantype, unsigned int duration),
|
||||
|
||||
TP_ARGS(local, chan, chantype, duration),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
LOCAL_ENTRY
|
||||
__field(int, center_freq)
|
||||
__field(int, channel_type)
|
||||
__field(unsigned int, duration)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
LOCAL_ASSIGN;
|
||||
__entry->center_freq = chan->center_freq;
|
||||
__entry->channel_type = chantype;
|
||||
__entry->duration = duration;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
LOCAL_PR_FMT " freq:%dMHz duration:%dms",
|
||||
LOCAL_PR_ARG, __entry->center_freq, __entry->duration
|
||||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(drv_cancel_remain_on_channel,
|
||||
TP_PROTO(struct ieee80211_local *local),
|
||||
|
||||
TP_ARGS(local),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
LOCAL_ENTRY
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
LOCAL_ASSIGN;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
LOCAL_PR_FMT, LOCAL_PR_ARG
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
* Tracing for API calls that drivers call.
|
||||
*/
|
||||
|
@ -1170,6 +1214,42 @@ TRACE_EVENT(api_chswitch_done,
|
|||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(api_ready_on_channel,
|
||||
TP_PROTO(struct ieee80211_local *local),
|
||||
|
||||
TP_ARGS(local),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
LOCAL_ENTRY
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
LOCAL_ASSIGN;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
LOCAL_PR_FMT, LOCAL_PR_ARG
|
||||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(api_remain_on_channel_expired,
|
||||
TP_PROTO(struct ieee80211_local *local),
|
||||
|
||||
TP_ARGS(local),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
LOCAL_ENTRY
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
LOCAL_ASSIGN;
|
||||
),
|
||||
|
||||
TP_printk(
|
||||
LOCAL_PR_FMT, LOCAL_PR_ARG
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
* Tracing for internal functions
|
||||
* (which may also be called in response to driver calls)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue