On 02/29/2016 10:33 AM, Michal Kazior wrote:
On 26 February 2016 at 20:03, Peter Oh <p...@qca.qualcomm.com> wrote:
Check and set Rx MAC timestamp when firmware indicates it.
Firmware adds it in Rx beacon frame only at this moment.
Driver and mac80211 may utilize it to detect such clockdrift
or beacon collision and use the result for beacon collision
avoidance.

Signed-off-by: Peter Oh <p...@qca.qualcomm.com>
---
[...]
+       if (rx_status & WMI_RX_STATUS_EXT_INFO) {
+               status->mactime =
+                       __le32_to_cpu(arg.ext_info.rx_mac_timestamp_l32) |
+
(u64)__le32_to_cpu(arg.ext_info.rx_mac_timestamp_u32)
+                       << 32;
+               status->flag |= RX_FLAG_MACTIME_END;
+       }
         /* Hardware can Rx CCK rates on 5GHz. In that case phy_mode is set
to
          * MODE_11B. This means phy_mode is not a reliable source for the
band
          * of mgmt rx.
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h
b/drivers/net/wireless/ath/ath10k/wmi.h
index 4d3cbc4..f209d51 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3037,11 +3037,18 @@ struct wmi_10_4_mgmt_rx_event {
         u8 buf[0];
  } __packed;

+struct wmi_mgmt_rx_ext_info {
+       __le32 rx_mac_timestamp_l32;
+       __le32 rx_mac_timestamp_u32;
Oh.. I feel bad for noticing this so late.
review is always appreciated.
  I think this can be
represented with a mere __le64 and then accessed via le64_to_cpu().
sent new patch based on your comment.

Thanks,
Peter

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to