Commit 1ff715ff authored by Avraham Stern's avatar Avraham Stern Committed by Johannes Berg
Browse files

wifi: cfg80211: add hardware timestamps to frame RX info



Add hardware timestamps to management frame RX info.
This shall be used by drivers that support hardware timestamping for
Timing measurement and Fine timing measurement action frames RX.

Signed-off-by: default avatarAvraham Stern <avraham.stern@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 00b3d840
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -7800,6 +7800,8 @@ void cfg80211_conn_failed(struct net_device *dev, const u8 *mac_addr,
 * @buf: Management frame (header + body)
 * @len: length of the frame data
 * @flags: flags, as defined in enum nl80211_rxmgmt_flags
 * @rx_tstamp: Hardware timestamp of frame RX in nanoseconds
 * @ack_tstamp: Hardware timestamp of ack TX in nanoseconds
 */
struct cfg80211_rx_info {
	int freq;
@@ -7807,6 +7809,8 @@ struct cfg80211_rx_info {
	const u8 *buf;
	size_t len;
	u32 flags;
	u64 rx_tstamp;
	u64 ack_tstamp;
};

/**
+9 −1
Original line number Diff line number Diff line
@@ -18383,7 +18383,15 @@ int nl80211_send_mgmt(struct cfg80211_registered_device *rdev,
	     nla_put_u32(msg, NL80211_ATTR_RX_SIGNAL_DBM, info->sig_dbm)) ||
	    nla_put(msg, NL80211_ATTR_FRAME, info->len, info->buf) ||
	    (info->flags &&
	     nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)))
	     nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)) ||
	    (info->rx_tstamp && nla_put_u64_64bit(msg,
						  NL80211_ATTR_RX_HW_TIMESTAMP,
						  info->rx_tstamp,
						  NL80211_ATTR_PAD)) ||
	    (info->ack_tstamp && nla_put_u64_64bit(msg,
						   NL80211_ATTR_TX_HW_TIMESTAMP,
						   info->ack_tstamp,
						   NL80211_ATTR_PAD)))
		goto nla_put_failure;
	genlmsg_end(msg, hdr);