mbox series

[0/7] cfg80211/mac80211: updates intended for v5.19 2022-04-06

Message ID 20220406120924.979792-1-luca@coelho.fi
Headers show
Series cfg80211/mac80211: updates intended for v5.19 2022-04-06 | expand

Message

Luca Coelho April 6, 2022, 12:09 p.m. UTC
From: Luca Coelho <luciano.coelho@intel.com>

Hi,

Here are some patches that implement time measurement timestamps in
cfg80211 and mac80211.  Then there is an iwlwifi patch on top that
depends on them.

Since we have a single tree now, I sent the series with both cfg/mac
and iwlwifi patches.  Let me know if you prefer to have them
separately.

As usual, I'm pushing this to a pending branch, for kbuild bot, and
I will report if there are any issues.

Please review.

Cheers,
Luca.


Avraham Stern (7):
  nl80211: add RX and TX timestamp attributes
  cfg80211: add a function for reporting TX status with hardware
    timestamps
  cfg80211/nl80211: move rx management data into a struct
  cfg80211: add hardware timestamps to frame RX info
  ieee80211: add helper functions for detecting TM/FTM frames
  mac80211: add hardware timestamps for RX and TX
  iwlwifi: mvm: report hardware timestamps in RX/TX status

 .../wireless/intel/iwlwifi/fw/api/commands.h  |  20 +-
 .../wireless/intel/iwlwifi/fw/api/datapath.h  | 126 ++++++++++++-
 .../net/wireless/intel/iwlwifi/mvm/Makefile   |   2 +-
 .../net/wireless/intel/iwlwifi/mvm/mac80211.c |   4 +
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h  |   8 +
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c  |  12 ++
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |   7 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c  |   6 +
 .../wireless/intel/iwlwifi/mvm/time-sync.c    | 172 ++++++++++++++++++
 .../wireless/intel/iwlwifi/mvm/time-sync.h    |  30 +++
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c   |   4 +-
 include/linux/ieee80211.h                     |  54 ++++++
 include/net/cfg80211.h                        | 111 ++++++++++-
 include/net/mac80211.h                        |  30 ++-
 include/uapi/linux/nl80211.h                  |  27 ++-
 net/mac80211/rx.c                             |  32 +++-
 net/mac80211/status.c                         |  40 +++-
 net/wireless/mlme.c                           |  21 +--
 net/wireless/nl80211.c                        |  69 ++++---
 net/wireless/nl80211.h                        |   5 +-
 net/wireless/trace.h                          |   8 +-
 21 files changed, 713 insertions(+), 75 deletions(-)
 create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/time-sync.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/time-sync.h

Comments

Jeff Johnson April 6, 2022, 5:20 p.m. UTC | #1
On 4/6/2022 5:09 AM, Luca Coelho wrote:
[...snip...]
> +/**
> + * cfg80211_rx_mgmt_ext - management frame notification with extended info
> + * @wdev: wireless device receiving the frame
> + * @info: RX info as defined in struct cfg80211_rx_info
> + *
> + * This function is called whenever an Action frame is received for a station
> + * mode interface, but is not processed in kernel.
> + *
> + * Return: %true if a user space application has registered for this frame.
> + * For action frames, that makes it responsible for rejecting unrecognized
> + * action frames; %false otherwise, in which case for action frames the
> + * driver is responsible for rejecting the frame.
> + */
> +bool cfg80211_rx_mgmt_ext(struct wireless_dev *wdev,
> +			  struct cfg80211_rx_info *info);

can/should info be const?

/jeff
Kalle Valo April 7, 2022, 4:16 a.m. UTC | #2
Luca Coelho <luca@coelho.fi> writes:

> From: Avraham Stern <avraham.stern@intel.com>
>
> When the low level driver reports hardware timestamps for frame
> TX status or frame RX, pass the timestamps to cfg80211.

So the driver is supposed to set timestamps for all frames, not just
management frames?