wmi.h (b5aeff16b20f65e6bb9ebafd06c1c96c2b503089) wmi.h (0c936b3c96337c3fd5ad4951ca7bdc54fa578a02)
1/*
2 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc.
4 * Copyright (c) 2006-2012 Wilocity
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

--- 1701 unchanged lines hidden (view full) ---

1710 WMI_LINK_STATS_SNAPSHOT = 0x00,
1711 WMI_LINK_STATS_PERIODIC = 0x01,
1712 WMI_LINK_STATS_STOP_PERIODIC = 0x02,
1713};
1714
1715/* WMI_LINK_STATS_EVENT record identifiers */
1716enum wmi_link_stats_record_type {
1717 WMI_LINK_STATS_TYPE_BASIC = 0x01,
1/*
2 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc.
4 * Copyright (c) 2006-2012 Wilocity
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

--- 1701 unchanged lines hidden (view full) ---

1710 WMI_LINK_STATS_SNAPSHOT = 0x00,
1711 WMI_LINK_STATS_PERIODIC = 0x01,
1712 WMI_LINK_STATS_STOP_PERIODIC = 0x02,
1713};
1714
1715/* WMI_LINK_STATS_EVENT record identifiers */
1716enum wmi_link_stats_record_type {
1717 WMI_LINK_STATS_TYPE_BASIC = 0x01,
1718 WMI_LINK_STATS_TYPE_MAC = 0x02,
1719 WMI_LINK_STATS_TYPE_PHY = 0x04,
1720 WMI_LINK_STATS_TYPE_OTA = 0x08,
1718 WMI_LINK_STATS_TYPE_GLOBAL = 0x02,
1721};
1722
1723/* WMI_LINK_STATS_CMDID */
1724struct wmi_link_stats_cmd {
1725 /* bitmask of required record types
1726 * (wmi_link_stats_record_type_e)
1727 */
1728 __le32 record_type_mask;
1729 /* 0xff for all cids */
1730 u8 cid;
1731 /* wmi_link_stats_action_e */
1732 u8 action;
1733 u8 reserved[6];
1719};
1720
1721/* WMI_LINK_STATS_CMDID */
1722struct wmi_link_stats_cmd {
1723 /* bitmask of required record types
1724 * (wmi_link_stats_record_type_e)
1725 */
1726 __le32 record_type_mask;
1727 /* 0xff for all cids */
1728 u8 cid;
1729 /* wmi_link_stats_action_e */
1730 u8 action;
1731 u8 reserved[6];
1734 /* for WMI_LINK_STATS_PERIODIC */
1732 /* range = 100 - 10000 */
1735 __le32 interval_msec;
1736} __packed;
1737
1738/* WMI_SET_GRANT_MCS_CMDID */
1739struct wmi_set_grant_mcs_cmd {
1740 u8 mcs;
1741 u8 reserved[3];
1742} __packed;

--- 2031 unchanged lines hidden (view full) ---

3774struct wmi_link_stats_config_done_event {
3775 /* wmi_fw_status_e */
3776 u8 status;
3777 u8 reserved[3];
3778} __packed;
3779
3780/* WMI_LINK_STATS_EVENTID */
3781struct wmi_link_stats_event {
1733 __le32 interval_msec;
1734} __packed;
1735
1736/* WMI_SET_GRANT_MCS_CMDID */
1737struct wmi_set_grant_mcs_cmd {
1738 u8 mcs;
1739 u8 reserved[3];
1740} __packed;

--- 2031 unchanged lines hidden (view full) ---

3772struct wmi_link_stats_config_done_event {
3773 /* wmi_fw_status_e */
3774 u8 status;
3775 u8 reserved[3];
3776} __packed;
3777
3778/* WMI_LINK_STATS_EVENTID */
3779struct wmi_link_stats_event {
3780 __le64 tsf;
3782 __le16 payload_size;
3783 u8 has_next;
3784 u8 reserved[5];
3781 __le16 payload_size;
3782 u8 has_next;
3783 u8 reserved[5];
3785 /* a stream of records, e.g. wmi_link_stats_basic_s */
3784 /* a stream of wmi_link_stats_record_s */
3786 u8 payload[0];
3787} __packed;
3788
3785 u8 payload[0];
3786} __packed;
3787
3789/* WMI_LINK_STATS_EVENT record struct */
3790struct wmi_link_stats_basic {
3791 /* WMI_LINK_STATS_TYPE_BASIC */
3788/* WMI_LINK_STATS_EVENT */
3789struct wmi_link_stats_record {
3790 /* wmi_link_stats_record_type_e */
3792 u8 record_type_id;
3791 u8 record_type_id;
3792 u8 reserved;
3793 __le16 record_size;
3794 u8 record[0];
3795} __packed;
3796
3797/* WMI_LINK_STATS_TYPE_BASIC */
3798struct wmi_link_stats_basic {
3793 u8 cid;
3799 u8 cid;
3794 /* 0: fail; 1: OK; 2: retrying */
3795 u8 bf_status;
3796 s8 rssi;
3797 u8 sqi;
3800 s8 rssi;
3801 u8 sqi;
3802 u8 bf_mcs;
3803 u8 per_average;
3798 u8 selected_rfc;
3804 u8 selected_rfc;
3799 __le16 bf_mcs;
3805 u8 rx_effective_ant_num;
3806 u8 my_rx_sector;
3807 u8 my_tx_sector;
3808 u8 other_rx_sector;
3809 u8 other_tx_sector;
3810 u8 reserved[7];
3811 /* 1/4 Db units */
3812 __le16 snr;
3800 __le32 tx_tpt;
3801 __le32 tx_goodput;
3802 __le32 rx_goodput;
3813 __le32 tx_tpt;
3814 __le32 tx_goodput;
3815 __le32 rx_goodput;
3803 __le16 my_rx_sector;
3804 __le16 my_tx_sector;
3805 __le16 other_rx_sector;
3806 __le16 other_tx_sector;
3807 __le32 reserved[2];
3816 __le32 bf_count;
3817 __le32 rx_bcast_frames;
3808} __packed;
3809
3818} __packed;
3819
3820/* WMI_LINK_STATS_TYPE_GLOBAL */
3821struct wmi_link_stats_global {
3822 /* all ack-able frames */
3823 __le32 rx_frames;
3824 /* all ack-able frames */
3825 __le32 tx_frames;
3826 __le32 rx_ba_frames;
3827 __le32 tx_ba_frames;
3828 __le32 tx_beacons;
3829 __le32 rx_mic_errors;
3830 __le32 rx_crc_errors;
3831 __le32 tx_fail_no_ack;
3832 u8 reserved[8];
3833} __packed;
3834
3810/* WMI_SET_GRANT_MCS_EVENTID */
3811struct wmi_set_grant_mcs_event {
3812 /* wmi_fw_status */
3813 u8 status;
3814 u8 reserved[3];
3815} __packed;
3816
3817/* WMI_SET_AP_SLOT_SIZE_EVENTID */

--- 21 unchanged lines hidden ---
3835/* WMI_SET_GRANT_MCS_EVENTID */
3836struct wmi_set_grant_mcs_event {
3837 /* wmi_fw_status */
3838 u8 status;
3839 u8 reserved[3];
3840} __packed;
3841
3842/* WMI_SET_AP_SLOT_SIZE_EVENTID */

--- 21 unchanged lines hidden ---