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 --- |