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

Commit 453d6f91 authored by Dundi Raviteja's avatar Dundi Raviteja
Browse files

wlan: SME changes to support SW PTA

Changes required in SME layer to support SW PTA.
SCO, NUD and BT status are sent to firmware via
SW PTA request.

Receive SCO status from HDD and pass it to WDA
using commnand WDA_SW_PTA_REQ.

Change-Id: Iab84da82d61ff417a1755fbb119d9cd9b377c79b
CRs-Fixed: 2792123
parent 15c65448
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -6501,4 +6501,31 @@ struct sir_sae_msg {
    uint8_t sae_status;
    tSirMacAddr peer_mac_addr;
};

#ifdef FEATURE_WLAN_SW_PTA
/**
 * enum sir_sw_pta_param_type - Type of sw pta coex param
 * @SCO_STATUS: Enable/Disable SCO
 * @NUD_STATUS: Enable/Disable NUD
 * @BT_STATUS: Enable/Disable BT
 */
enum sir_sw_pta_param_type {
	SCO_STATUS,
	NUD_STATUS,
	BT_STATUS,
};

#define SW_PTA_COEX_PARAMS_MAX_LEN 32
/**
 * struct sir_sw_pta_req - sw pta coex params request
 * @param_type: sw pta coex param type
 * @length: sw pta coex params value length
 * @value: sw pta coex params value
 */
struct sir_sw_pta_req {
	enum sir_sw_pta_param_type param_type;
	uint8_t length;
	uint8_t value[SW_PTA_COEX_PARAMS_MAX_LEN];
};
#endif
#endif /* __SIR_API_H */
+3 −0
Original line number Diff line number Diff line
@@ -404,6 +404,9 @@ enum eWniMsgTypes
    eWNI_SME_TRIGGER_SAE,
    eWNI_SME_SEND_MGMT_FRAME_TX,
    eWNI_SME_SEND_SAE_MSG,
#ifdef FEATURE_WLAN_SW_PTA
    eWNI_SME_SW_PTA_RESP,
#endif
    eWNI_SME_MSG_TYPES_END
};

+4 −0
Original line number Diff line number Diff line
@@ -832,6 +832,10 @@ struct sir_mgmt_msg {

#define SIR_HAL_BLACKLIST_REQ              (SIR_HAL_ITC_MSG_TYPES_BEGIN + 308)

#ifdef FEATURE_WLAN_SW_PTA
#define SIR_HAL_SW_PTA_REQ                (SIR_HAL_ITC_MSG_TYPES_BEGIN + 309)
#endif

#define SIR_HAL_MSG_TYPES_END              (SIR_HAL_MSG_TYPES_BEGIN + 0x1FF)

// CFG message types
+3 −0
Original line number Diff line number Diff line
@@ -211,6 +211,9 @@ typedef struct tagSmeCmd
        tpSirUpdateChanList chan_list;
        tpRoamParams RoamParams;
        bool olpc_mode_enable;
#ifdef FEATURE_WLAN_SW_PTA
	struct sir_sw_pta_req *sw_pta_req;
#endif
    }u;
}tSmeCmd;

+6 −0
Original line number Diff line number Diff line
@@ -110,6 +110,9 @@ typedef enum eSmeCommandType
    eSmeCommandRemainOnChannel,
    eSmeCommandNoAUpdate,
    eSmeCommandBlackList,
#ifdef FEATURE_WLAN_SW_PTA
    eSmeCommandSwPTAReq,
#endif
} eSmeCommandType;


@@ -195,6 +198,9 @@ typedef struct tagSmeStruct
   void (*roaming_mbb_callback)(void* mac, tANI_U32 session_id,
          void* bss_description, void *reassoc_req, tANI_U32 csr_roam_op_code);
#endif
#ifdef FEATURE_WLAN_SW_PTA
    void (*sw_pta_resp_cb)(uint8_t status);
#endif
} tSmeStruct, *tpSmeStruct;


Loading