qcacmn: Data path changes for QCN9100 bringup
Initial changes made for bring up of QCN9100 in data path and hal Change-Id: I6cbe90428b552b6ff5733bc0f60bfb9f7933bc9a
This commit is contained in:

committed by
snandini

parent
52ea4c89d9
commit
6756b1a5aa
@@ -115,6 +115,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
|
||||
case QCA5018_DEVICE_ID:
|
||||
case QCA6290_DEVICE_ID:
|
||||
case QCN9000_DEVICE_ID:
|
||||
case QCN9100_DEVICE_ID:
|
||||
case QCA6390_DEVICE_ID:
|
||||
case QCA6490_DEVICE_ID:
|
||||
case QCA6750_DEVICE_ID:
|
||||
|
@@ -12919,6 +12919,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
|
||||
dp_config_full_mon_mode((struct cdp_soc_t *)soc, 1);
|
||||
break;
|
||||
case TARGET_TYPE_QCA5018:
|
||||
case TARGET_TYPE_QCN9100:
|
||||
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
||||
REO_DST_RING_SIZE_QCA8074);
|
||||
soc->ast_override_support = 1;
|
||||
@@ -12968,6 +12969,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
|
||||
break;
|
||||
case TARGET_TYPE_QCA8074V2:
|
||||
case TARGET_TYPE_QCA6018:
|
||||
case TARGET_TYPE_QCN9100:
|
||||
case TARGET_TYPE_QCA5018:
|
||||
wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
|
||||
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
||||
|
@@ -903,6 +903,7 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
|
||||
case TARGET_TYPE_QCA6018:
|
||||
case TARGET_TYPE_QCA5018:
|
||||
case TARGET_TYPE_QCN9000:
|
||||
case TARGET_TYPE_QCN9100:
|
||||
#ifdef QCA_WIFI_QCA6390
|
||||
case TARGET_TYPE_QCA6390:
|
||||
#endif
|
||||
|
@@ -40,6 +40,9 @@ void hal_qca6490_attach(struct hal_soc *hal);
|
||||
#ifdef QCA_WIFI_QCN9000
|
||||
void hal_qcn9000_attach(struct hal_soc *hal);
|
||||
#endif
|
||||
#ifdef QCA_WIFI_QCN9100
|
||||
void hal_qcn9100_attach(struct hal_soc *hal);
|
||||
#endif
|
||||
#ifdef QCA_WIFI_QCA6750
|
||||
void hal_qca6750_attach(struct hal_soc *hal);
|
||||
#endif
|
||||
@@ -324,6 +327,18 @@ static void hal_target_based_configure(struct hal_soc *hal)
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(QCA_WIFI_QCN9100)
|
||||
case TARGET_TYPE_QCN9100:
|
||||
hal->use_register_windowing = true;
|
||||
/*
|
||||
* Static window map is enabled for qcn9000 to use 2mb bar
|
||||
* size and use multiple windows to write into registers.
|
||||
*/
|
||||
hal->static_window_map = true;
|
||||
hal_qcn9100_attach(hal);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifdef QCA_WIFI_QCN9000
|
||||
case TARGET_TYPE_QCN9000:
|
||||
hal->use_register_windowing = true;
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -24,28 +24,26 @@
|
||||
#include "hal_api_mon.h"
|
||||
|
||||
/**
|
||||
* hal_tx_desc_set_dscp_tid_table_id_8074v2() - Sets DSCP to TID conversion
|
||||
* hal_tx_desc_set_dscp_tid_table_id_9100() - Sets DSCP to TID conversion
|
||||
* table ID
|
||||
* @desc: Handle to Tx Descriptor
|
||||
* @id: DSCP to tid conversion table to be used for this frame
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
|
||||
static void hal_tx_desc_set_dscp_tid_table_id_8074v2(void *desc, uint8_t id)
|
||||
static void hal_tx_desc_set_dscp_tid_table_id_9100(void *desc, uint8_t id)
|
||||
{
|
||||
HAL_SET_FLD(desc, TCL_DATA_CMD_5,
|
||||
DSCP_TID_TABLE_NUM) |=
|
||||
HAL_TX_SM(TCL_DATA_CMD_5,
|
||||
DSCP_TID_TABLE_NUM, id);
|
||||
DSCP_TID_TABLE_NUM) |=
|
||||
HAL_TX_SM(TCL_DATA_CMD_5, DSCP_TID_TABLE_NUM, id);
|
||||
}
|
||||
|
||||
|
||||
#define DSCP_TID_TABLE_SIZE 24
|
||||
#define NUM_WORDS_PER_DSCP_TID_TABLE (DSCP_TID_TABLE_SIZE / 4)
|
||||
#define HAL_TX_NUM_DSCP_REGISTER_SIZE 32
|
||||
|
||||
/**
|
||||
* hal_tx_set_dscp_tid_map_8074v2() - Configure default DSCP to TID map table
|
||||
* hal_tx_set_dscp_tid_map_9100() - Configure default DSCP to TID map table
|
||||
* @soc: HAL SoC context
|
||||
* @map: DSCP-TID mapping table
|
||||
* @id: mapping table ID - 0,1
|
||||
@@ -57,10 +55,8 @@ static void hal_tx_desc_set_dscp_tid_table_id_8074v2(void *desc, uint8_t id)
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
|
||||
static void hal_tx_set_dscp_tid_map_8074v2(struct hal_soc *soc,
|
||||
uint8_t *map,
|
||||
uint8_t id)
|
||||
static void hal_tx_set_dscp_tid_map_9100(struct hal_soc *soc,
|
||||
uint8_t *map, uint8_t id)
|
||||
{
|
||||
int i;
|
||||
uint32_t addr, cmn_reg_addr;
|
||||
@@ -115,7 +111,7 @@ static void hal_tx_set_dscp_tid_map_8074v2(struct hal_soc *soc,
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_tx_update_dscp_tid_8074v2() - Update the dscp tid map table as
|
||||
* hal_tx_update_dscp_tid_9100() - Update the dscp tid map table as
|
||||
updated by user
|
||||
* @soc: HAL SoC context
|
||||
* @map: DSCP-TID mapping table
|
||||
@@ -124,15 +120,16 @@ static void hal_tx_set_dscp_tid_map_8074v2(struct hal_soc *soc,
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void hal_tx_update_dscp_tid_8074v2(struct hal_soc *soc, uint8_t tid,
|
||||
uint8_t id, uint8_t dscp)
|
||||
static void hal_tx_update_dscp_tid_9100(struct hal_soc *soc, uint8_t tid,
|
||||
uint8_t id, uint8_t dscp)
|
||||
{
|
||||
uint32_t addr, addr1, cmn_reg_addr, regmask = 0xFFFFFFFF;
|
||||
uint32_t addr, addr1, cmn_reg_addr;
|
||||
uint32_t start_value = 0, end_value = 0;
|
||||
uint32_t regval;
|
||||
uint8_t end_bits = 0;
|
||||
uint8_t start_bits = 0;
|
||||
uint32_t start_index, end_index;
|
||||
|
||||
cmn_reg_addr = HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(
|
||||
SEQ_WCSS_UMAC_MAC_TCL_REG_OFFSET);
|
||||
|
||||
@@ -169,7 +166,7 @@ static void hal_tx_update_dscp_tid_8074v2(struct hal_soc *soc, uint8_t tid,
|
||||
regval = HAL_REG_READ(soc, addr);
|
||||
|
||||
if (end_index < start_index)
|
||||
regval &= (regmask >> start_bits);
|
||||
regval &= (~0) >> start_bits;
|
||||
else
|
||||
regval &= ~(7 << start_index);
|
||||
|
||||
@@ -194,7 +191,7 @@ static void hal_tx_update_dscp_tid_8074v2(struct hal_soc *soc, uint8_t tid,
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_tx_desc_set_lmac_id - Set the lmac_id value
|
||||
* hal_tx_desc_set_lmac_id_9100 - Set the lmac_id value
|
||||
* @desc: Handle to Tx Descriptor
|
||||
* @lmac_id: mac Id to ast matching
|
||||
* b00 – mac 0
|
||||
@@ -204,21 +201,22 @@ static void hal_tx_update_dscp_tid_8074v2(struct hal_soc *soc, uint8_t tid,
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void hal_tx_desc_set_lmac_id_8074v2(void *desc, uint8_t lmac_id)
|
||||
static void hal_tx_desc_set_lmac_id_9100(void *desc, uint8_t lmac_id)
|
||||
{
|
||||
HAL_SET_FLD(desc, TCL_DATA_CMD_4, LMAC_ID) |=
|
||||
HAL_TX_SM(TCL_DATA_CMD_4, LMAC_ID, lmac_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_tx_init_cmd_credit_ring_8074v2() - Initialize command/credit SRNG
|
||||
* hal_tx_init_cmd_credit_ring_9100() - Initialize TCL command/credit SRNG
|
||||
* @hal_soc_hdl: Handle to HAL SoC structure
|
||||
* @hal_srng: Handle to HAL SRNG structure
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static inline void hal_tx_init_cmd_credit_ring_8074v2(hal_soc_handle_t hal_soc_hdl,
|
||||
hal_ring_handle_t hal_ring_hdl)
|
||||
static inline void
|
||||
hal_tx_init_cmd_credit_ring_9100(hal_soc_handle_t hal_soc_hdl,
|
||||
hal_ring_handle_t hal_ring_hdl)
|
||||
{
|
||||
uint8_t *desc_addr;
|
||||
struct hal_srng_params srng_params;
|
||||
|
Reference in New Issue
Block a user