qcacmn: Add hal_tx_desc_set_mesh_en API

Implement hal_tx_desc_set_mesh_en API
based on the chipset as
the macro to set mesh_en value is
chipset dependent.

Change-Id: I43c85e4ed6fd4f9992de5b71857cdb8becd1dd36
CRs-Fixed: 2522133
This commit is contained in:
Venkata Sharath Chandra Manchala
2019-09-21 18:59:21 -07:00
committed by nshrivas
parent 685045eb9c
commit 38e84d2722
9 changed files with 123 additions and 7 deletions

View File

@@ -743,6 +743,24 @@ hal_rx_msdu_end_sa_sw_peer_id_get_9000(uint8_t *buf)
return HAL_RX_MSDU_END_SA_SW_PEER_ID_GET(msdu_end);
}
/**
* hal_tx_desc_set_mesh_en_9000 - Set mesh_enable flag in Tx descriptor
* @desc: Handle to Tx Descriptor
* @en: For raw WiFi frames, this indicates transmission to a mesh STA,
* enabling the interpretation of the 'Mesh Control Present' bit
* (bit 8) of QoS Control (otherwise this bit is ignored),
* For native WiFi frames, this indicates that a 'Mesh Control' field
* is present between the header and the LLC.
*
* Return: void
*/
static inline
void hal_tx_desc_set_mesh_en_9000(void *desc, uint8_t en)
{
HAL_SET_FLD(desc, TCL_DATA_CMD_4, MESH_ENABLE) |=
HAL_TX_SM(TCL_DATA_CMD_4, MESH_ENABLE, en);
}
struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = {
/* init and setup */
@@ -763,6 +781,7 @@ struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = {
hal_tx_desc_set_cache_set_num_generic,
hal_tx_comp_get_status_generic,
hal_tx_comp_get_release_reason_generic,
hal_tx_desc_set_mesh_en_9000,
/* rx */
hal_rx_msdu_start_nss_get_8074v2,