qcacmn: Add HAL APIs for flow override in BE

Add HAL APIs to access TX fields to override default flow
classification by hardware.

Change-Id: If2eb0c5a966f87081a7714836c2c4bc0bd47fa86
CRs-Fixed: 3114311
This commit is contained in:
Mohit Khanna
2022-01-24 09:29:24 -08:00
کامیت شده توسط Madan Koyyalamudi
والد 97f83cd810
کامیت 5805824049

مشاهده پرونده

@@ -64,6 +64,19 @@ enum hal_tx_vdev_mismatch_notify {
HAL_TX_VDEV_MISMATCH_FW_NOTIFY,
};
/* enum hal_tx_notify_frame_type - TX notify frame type
* @NO_TX_NOTIFY: Not a notify frame
* @TX_HARD_NOTIFY: Hard notify TX frame
* @TX_SOFT_NOTIFY_E: Soft Notify Tx frame
* @TX_SEMI_HARD_NOTIFY_E: Semi Hard notify TX frame
*/
enum hal_tx_notify_frame_type {
NO_TX_NOTIFY = 0,
TX_HARD_NOTIFY = 1,
TX_SOFT_NOTIFY_E = 2,
TX_SEMI_HARD_NOTIFY_E = 3
};
/*---------------------------------------------------------------------------
* Structures
* ---------------------------------------------------------------------------
@@ -225,6 +238,62 @@ union hal_tx_ppe_pri2tid_map1_config {
*---------------------------------------------------------------------------
*/
/**
* hal_tx_desc_set_tx_notify_frame - Set TX notify_frame field in Tx desc
* @desc: Handle to Tx Descriptor
* @val: Value to be set
*
* Return: None
*/
static inline void hal_tx_desc_set_tx_notify_frame(void *desc,
uint8_t val)
{
HAL_SET_FLD(desc, TCL_DATA_CMD, TX_NOTIFY_FRAME) |=
HAL_TX_SM(TCL_DATA_CMD, TX_NOTIFY_FRAME, val);
}
/**
* hal_tx_desc_set_flow_override_enable - Set flow_override_enable field
* @desc: Handle to Tx Descriptor
* @val: Value to be set
*
* Return: None
*/
static inline void hal_tx_desc_set_flow_override_enable(void *desc,
uint8_t val)
{
HAL_SET_FLD(desc, TCL_DATA_CMD, FLOW_OVERRIDE_ENABLE) |=
HAL_TX_SM(TCL_DATA_CMD, FLOW_OVERRIDE_ENABLE, val);
}
/**
* hal_tx_desc_set_flow_override - Set flow_override field in TX desc
* @desc: Handle to Tx Descriptor
* @val: Value to be set
*
* Return: None
*/
static inline void hal_tx_desc_set_flow_override(void *desc,
uint8_t val)
{
HAL_SET_FLD(desc, TCL_DATA_CMD, FLOW_OVERRIDE) |=
HAL_TX_SM(TCL_DATA_CMD, FLOW_OVERRIDE, val);
}
/**
* hal_tx_desc_set_who_classify_info_sel - Set who_classify_info_sel field
* @desc: Handle to Tx Descriptor
* @val: Value to be set
*
* Return: None
*/
static inline void hal_tx_desc_set_who_classify_info_sel(void *desc,
uint8_t val)
{
HAL_SET_FLD(desc, TCL_DATA_CMD, WHO_CLASSIFY_INFO_SEL) |=
HAL_TX_SM(TCL_DATA_CMD, WHO_CLASSIFY_INFO_SEL, val);
}
/**
* hal_tx_desc_set_buf_length - Set Data length in bytes in Tx Descriptor
* @desc: Handle to Tx Descriptor