Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c834169 authored by spuligil's avatar spuligil
Browse files

fw-api: CL 19259024 - update fw common interface files

Change-Id: I57883794da67018a8f6396694a18a20e7d458226
WMI: add puncture_bitmap to chan_width_peer_list
CRs-Fixed: 2262693
parent 1c5ee277
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -595,6 +595,8 @@ typedef enum {
    WMI_SERVICE_TDLS_WIDEBAND_SUPPORT = 342, /* FW supports Wideband TDLS */
    WMI_SERVICE_FEATURE_SET_EVENT_SUPPORT = 343, /* FW supports sending of supported feature set event during init time */
    WMI_SERVICE_HALPHY_CTRL_PATH_STATS = 344, /* HALPHY STATS through control path */
    WMI_SERVICE_PEER_CHWIDTH_PUNCTURE_BITMAP_SUPPORT = 345, /* FW supports puncture bitmap change with channel width switch */


    WMI_MAX_EXT2_SERVICE

+30 −1
Original line number Diff line number Diff line
@@ -16581,6 +16581,19 @@ typedef struct {
 */
#define WMI_PEER_PUNCTURE_20MHZ_BITMAP                 0x26
#define WMI_PEER_CHWIDTH_PUNCTURE_BITMAP_GET_CHWIDTH(value32)          WMI_GET_BITS(value32, 0x0, 8)
#define WMI_PEER_CHWIDTH_PUNCTURE_BITMAP_GET_PUNCTURE_BMAP(value32)    WMI_GET_BITS(value32, 0x8, 16)
/* peer channel bandwidth and puncture_bitmap
 * BIT 0-7  -  Peer channel width
 *             This bitfield holds a wmi_channel_width enum value.
 * BIT 8-23 -  Peer Puncture bitmap where each bit indicates whether
 *             a 20 MHz BW is punctured.
 *             The variable should be read from left, LSb (bit 8) will
 *             represent the lowest-frequency 20 MHz portion.
 *             Bit value: 0 - 20 MHz channel is punctured, 1 - not punctured
 */
#define WMI_PEER_CHWIDTH_PUNCTURE_20MHZ_BITMAP         0x27
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_set_param_cmd_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
@@ -35871,11 +35884,26 @@ typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUCT_wmi_chan_width_peer_list */
    wmi_mac_addr peer_macaddr;
    A_UINT32 chan_width; /* wmi_channel_width */
    A_UINT32 puncture_20mhz_bitmap; /* per peer wmi puncture_bitmap,
                                     * each bit indicates one 20 MHz BW
                                     * punctured.
                                     * This variable should be read from left,
                                     * LSb will point to the lowest-frequency
                                     * 20 MHz frequency slice.
                                     * bit value:
                                     *     0 - 20 MHz BW is punctured
                                     *     1 - not punctured
                                     */
} wmi_chan_width_peer_list;
#define WMI_PEER_CHAN_WIDTH_SWITCH_SET_VALID_VDEV_ID(comp) WMI_SET_BITS(comp, 31,1, 1)
#define WMI_PEER_CHAN_WIDTH_SWITCH_GET_VALID_VDEV_ID(comp) WMI_GET_BITS(comp, 31, 1)
#define WMI_PEER_CHAN_WIDTH_SWITCH_SET_VALID_PUNCTURE_BITMAP(comp) WMI_SET_BITS(comp, 30, 1, 1)
#define WMI_PEER_CHAN_WIDTH_SWITCH_GET_VALID_PUNCTURE_BITMAP(comp) WMI_GET_BITS(comp, 30, 1)
/* bits 29:8 currently unused */
#define WMI_PEER_CHAN_WIDTH_SWITCH_SET_VDEV_ID(comp, value) WMI_SET_BITS(comp, 0, 8, value)
#define WMI_PEER_CHAN_WIDTH_SWITCH_GET_VDEV_ID(comp) WMI_GET_BITS(comp, 0, 8)
@@ -35884,7 +35912,8 @@ typedef struct {
    A_UINT32 num_peers;
    /* vdev_var:
     * The MSb (bit 31) indicates that the vdev_id is valid.
     * The LSB is used to infer the actual vdev_id.
     * Bit 30 indicates that the puncture bitmap is valid.
     * The LSB (bits 0-7) is used to infer the actual vdev_id.
     * The other bits can be used for future enhancements.
     */
    A_UINT32 vdev_var;
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@
#define __WMI_VER_MINOR_    0
/** WMI revision number has to be incremented when there is a
 *  change that may or may not break compatibility. */
#define __WMI_REVISION_ 1196
#define __WMI_REVISION_ 1197

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work