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

Commit 95ce5a88 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I094f5ad9e90e25b035211ffeede05ebe828cdbdf
WMI: add SPECTRAL_CAPABILITIES evt msg def, extend PDEV_SSCAN_FW_PARAM evt msg
CRs-Fixed: 2262693
parent 04205988
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -565,6 +565,7 @@ typedef enum {
    WMI_SERVICE_RTT_11AZ_TB_SUPPORT = 313, /* FW support for 11AZ trigger based ranging */
    WMI_SERVICE_RTT_11AZ_MAC_SEC_SUPPORT = 314, /* FW support for 11AZ secure FTM */
    WMI_SERVICE_RTT_11AZ_MAC_PHY_SEC_SUPPORT = 315, /* FW support for 11AZ secure LTF + FTM */
    WMI_SERVICE_SPECTRAL_SESSION_INFO_SUPPORT = 316, /* Information corresponding to each Spectral scan session will be sent by the FW before the reports corresponding to that session are sent */

    WMI_MAX_EXT2_SERVICE

+13 −1
Original line number Diff line number Diff line
@@ -1225,6 +1225,10 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_sw_cal_ver_cap,
    WMITLV_TAG_STRUC_wmi_soc_tqm_reset_enable_disable_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_pktlog_decode_info_evt_fixed_param,
    WMITLV_TAG_STRUC_wmi_spectral_scan_bw_capabilities,
    WMITLV_TAG_STRUC_wmi_spectral_fft_size_capabilities,
    WMITLV_TAG_STRUC_wmi_pdev_sscan_chan_info,
    WMITLV_TAG_STRUC_wmi_pdev_sscan_per_detector_info,
} WMITLV_TAG_ID;

/*
@@ -1987,6 +1991,7 @@ typedef enum {
    OP(WMI_QUIET_HANDLING_EVENTID) \
    OP(WMI_RESMGR_CHAN_TIME_QUOTA_CHANGED_EVENTID) \
    OP(WMI_PDEV_PKTLOG_DECODE_INFO_EVENTID) \
    OP(WMI_SPECTRAL_CAPABILITIES_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -4948,6 +4953,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sw_cal_ver_cap, sw_cal_ver_cap, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);

#define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_scan_bw_capabilities, sscan_bw_caps, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_fft_size_capabilities, fft_size_caps, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SPECTRAL_CAPABILITIES_EVENTID);

#define WMITLV_TABLE_WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID(id,op,buf,len) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_chan_rf_characterization_info_event_fixed_param, wmi_chan_rf_characterization_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_CHAN_RF_CHARACTERIZATION_INFO, wmi_chan_rf_characterization_info, WMITLV_SIZE_VAR)
@@ -6508,7 +6518,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SCHED_METHOD_EVENTID);
/* Send sscan fw params to host */
#define WMITLV_TABLE_WMI_PDEV_SSCAN_FW_PARAM_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, wmi_pdev_sscan_fw_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_chan_info, wmi_pdev_sscan_chan_info,chan_info, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_per_detector_info, det_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID);

/* Send sscan related event start/stop trigger to host */
+103 −1
Original line number Diff line number Diff line
@@ -1467,6 +1467,9 @@ typedef enum {
    /** Spectral scan related event start/stop trigger to host  */
    WMI_SSCAN_EVT_MESSAGE_EVENTID,
    /** Spectral scan capabilities advertisement */
    WMI_SPECTRAL_CAPABILITIES_EVENTID,
    /* PDEV specific events */
    /** TPC config for the current operating channel */
@@ -6803,6 +6806,51 @@ typedef struct {
    A_UINT32 mid_5mhz_bins;
} wmi_pdev_sscan_fft_bin_index;
#define WMI_SPECTRAL_CHAN_PUNCTURE_BMAP_GET(puncture_bmap) WMI_GET_BITS(puncture_bmap, 0, 16)
#define WMI_SPECTRAL_CHAN_PUNCTURE_BMAP_SET(puncture_bmap, value) WMI_SET_BITS(puncture_bmap, 0 , 16, value)
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_chan_info */
    /*
     *  For contiguous channels, cfreq1 should be represent the center of the entire span and
     *  cfreq2 should be 0 whereas for non-contiguous channels, cfreq1 should represent the
     *  center of primary segment whereas cfreq2 should represent the center of secondary segment
    */
    /* Information corresponding to operating channel */
    A_UINT32 operating_pri20_freq; /* In MHz */
    A_UINT32 operating_cfreq1;     /* In MHz */
    A_UINT32 operating_cfreq2;     /* In MHz */
    A_UINT32 operating_bw;         /* as per enum wmi_channel_width */
    /*
     * bits [15:0] are used to represent puncture modes where each bit indicates
     * whether that 20MHz channel is punctured.
     * bits [31:16] are reserved.
     */
    A_UINT32 operating_puncture_20mhz_bitmap;
    /* Information corresponding to channel in which spectral scan is done */
    A_UINT32 sscan_cfreq1; /* In MHz */
    A_UINT32 sscan_cfreq2; /* In MHz */
    A_UINT32 sscan_bw; /*  as per enum wmi_channel_width */
    /*
     * bits [15:0] are used to represent puncture modes where each bit indicates
     * whether that 20MHz channel is punctured.
     * bits [31:16] are reserved.
     */
    A_UINT32 sscan_puncture_20mhz_bitmap;
} wmi_pdev_sscan_chan_info;
typedef struct
{
     A_UINT32 tlv_header;  /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_per_detector_info */
     A_UINT32 detector_id; /** ID of the detector involved in the spectral scan */
     /*
      * Start/End frequency (in MHz) to indicate the frequency range to which the detector is listening
     */
     A_UINT32 start_freq;       /* in MHz */
     A_UINT32 end_freq;         /* in MHz */
} wmi_pdev_sscan_per_detector_info;
typedef enum {
    /** Enum to indicate bmsk of spectral scan stop evt on scan count max out */
    WMI_SSCAN_EVT_BMSK_SCAN_STOP_SCOUNT = 0X00000001,
@@ -9123,6 +9171,8 @@ typedef enum {
    WMI_CHAN_WIDTH_165   = 7,
    WMI_CHAN_WIDTH_160P160 = 8,
    WMI_CHAN_WIDTH_320   = 9,
    WMI_CHAN_WIDTH_MAX,
} wmi_channel_width;
/*Clear stats*/
@@ -29119,6 +29169,9 @@ typedef struct {
#define WMI_SUPPORT_ADFS_320_GET(flags) WMI_GET_BITS(flags, 9, 1)
#define WMI_SUPPORT_ADFS_320_SET(flags, value) WMI_SET_BITS(flags, 9, 1, value)
#define WMI_SUPPORT_AGILE_SPECTRAL_320_GET(flags) WMI_GET_BITS(flags, 10, 1)
#define WMI_SUPPORT_AGILE_SPECTRAL_320_SET(flags, value) WMI_SET_BITS(flags, 10, 1, value)
#define WMI_SUPPORT_CHAIN_MASK_2G_GET(flags) WMI_GET_BITS(flags, 27, 1)
#define WMI_SUPPORT_CHAIN_MASK_2G_SET(flags, value) WMI_SET_BITS(flags, 27, 1, value)
@@ -29150,7 +29203,8 @@ typedef struct {
                     supports_aDFS_160:1,
                     supports_chan_width_320:1,
                     supports_aDFS_320:1,
                     reserved:17, /* bits 26:10 */
                     supports_agile_spectral_320:1,
                     reserved:16, /* bits 26:11 */
                     chain_mask_2G:1,
                     chain_mask_5G:1,
                     chain_mask_tx:1,
@@ -32173,6 +32227,54 @@ typedef struct {
     **************************************************************************/
} wmi_spectral_bin_scaling_params;
#define WMI_SPECTRAL_BW_CAPS_GET(bw_caps, index) WMI_GET_BITS(bw_caps, index, 1)
#define WMI_SPECTRAL_BW_CAPS_SET(bw_caps, index, value) WMI_SET_BITS(bw_caps, index, 1, value)
#define WMI_SPECTRAL_FFT_SIZE_CAPS_GET(fft_size_caps, index) WMI_GET_BITS(ft_size_caps, index, 1)
#define WMI_SPECTRAL_FFT_SIZE_CAPS_SET(fft_size_caps, index, value) WMI_SET_BITS(fft_size_caps, index, 1, value)
typedef struct {
    A_UINT32 tlv_header;   /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_spectral_scan_bw_capabilities */
    A_UINT32 pdev_id;      /* ID of pdev for which the bandwidth capabilities are advertised */
    A_UINT32 sscan_mode;   /* scan mode to denote whether this is a normal/agile scan (refer to wmi_spectral_scan_mode) */
    A_UINT32 operating_bw; /* Operating bandwidth which supports the bandwidth capabilities,  as per enum wmi_channel_width */
    union {
        struct {           /* To indicate the scan bandwidths support for the operating bandwidth and scan mode */
            A_UINT32 supports_sscan_bw_20:1,
                     supports_sscan_bw_40:1,
                     supports_sscan_bw_80:1,
                     supports_sscan_bw_160:1,
                     supports_sscan_bw_80p80:1,
                     supports_sscan_bw_320:1,
                     reserved:26;
        };
        A_UINT32 supported_flags;
    };
} wmi_spectral_scan_bw_capabilities;
typedef struct {
    A_UINT32 tlv_header;  /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_spectral_fft_size_capabilities */
    A_UINT32 pdev_id;     /* ID of pdev for which the bandwidth capabilities are advertised */
    A_UINT32 sscan_bw;    /* sscan bandwidth, as per enum wmi_channel_width */
    union {
        struct {          /* To indicate the scan FFT sizes supported in the sscan bandwidth */
            A_UINT32 supports_fft_size_1:1,
                     supports_fft_size_2:1,
                     supports_fft_size_3:1,
                     supports_fft_size_4:1,
                     supports_fft_size_5:1,
                     supports_fft_size_6:1,
                     supports_fft_size_7:1,
                     supports_fft_size_8:1,
                     supports_fft_size_9:1,
                     supports_fft_size_10:1,
                     supports_fft_size_11:1,
                     reserved:21;
        };
        A_UINT32 supported_flags;
    };
} wmi_spectral_fft_size_capabilities;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_ctl_failsafe_event_params */
    A_UINT32 pdev_id;   /* ID of pdev to which ctl failsafe status is sent */
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,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_ 1096
#define __WMI_REVISION_ 1097

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