qcacmn: DSCP-TID map change for second hardware
Change to added entries for 48 DSCP TID map for second version of hardware. Change-Id: Ie4aa0e27616e2f03b012e19d025444c8c53fe341 CRs-Fixed: 2315305
This commit is contained in:
@@ -2623,13 +2623,20 @@ static inline void
|
|||||||
dp_dscp_tid_map_setup(struct dp_pdev *pdev)
|
dp_dscp_tid_map_setup(struct dp_pdev *pdev)
|
||||||
{
|
{
|
||||||
uint8_t map_id;
|
uint8_t map_id;
|
||||||
|
struct dp_soc *soc = pdev->soc;
|
||||||
|
|
||||||
|
if (!soc)
|
||||||
|
return;
|
||||||
|
|
||||||
for (map_id = 0; map_id < DP_MAX_TID_MAPS; map_id++) {
|
for (map_id = 0; map_id < DP_MAX_TID_MAPS; map_id++) {
|
||||||
qdf_mem_copy(pdev->dscp_tid_map[map_id], default_dscp_tid_map,
|
qdf_mem_copy(pdev->dscp_tid_map[map_id],
|
||||||
|
default_dscp_tid_map,
|
||||||
sizeof(default_dscp_tid_map));
|
sizeof(default_dscp_tid_map));
|
||||||
}
|
}
|
||||||
for (map_id = 0; map_id < HAL_MAX_HW_DSCP_TID_MAPS; map_id++) {
|
|
||||||
hal_tx_set_dscp_tid_map(pdev->soc->hal_soc,
|
for (map_id = 0; map_id < soc->num_hw_dscp_tid_map; map_id++) {
|
||||||
pdev->dscp_tid_map[map_id],
|
hal_tx_set_dscp_tid_map(soc->hal_soc,
|
||||||
|
default_dscp_tid_map,
|
||||||
map_id);
|
map_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7048,10 +7055,16 @@ static void dp_set_pdev_dscp_tid_map_wifi3(struct cdp_pdev *pdev_handle,
|
|||||||
{
|
{
|
||||||
uint8_t dscp;
|
uint8_t dscp;
|
||||||
struct dp_pdev *pdev = (struct dp_pdev *) pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *) pdev_handle;
|
||||||
|
struct dp_soc *soc = pdev->soc;
|
||||||
|
|
||||||
|
if (!soc)
|
||||||
|
return;
|
||||||
|
|
||||||
dscp = (tos >> DP_IP_DSCP_SHIFT) & DP_IP_DSCP_MASK;
|
dscp = (tos >> DP_IP_DSCP_SHIFT) & DP_IP_DSCP_MASK;
|
||||||
pdev->dscp_tid_map[map_id][dscp] = tid;
|
pdev->dscp_tid_map[map_id][dscp] = tid;
|
||||||
if (map_id < HAL_MAX_HW_DSCP_TID_MAPS)
|
|
||||||
hal_tx_update_dscp_tid(pdev->soc->hal_soc, tid,
|
if (map_id < soc->num_hw_dscp_tid_map)
|
||||||
|
hal_tx_update_dscp_tid(soc->hal_soc, tid,
|
||||||
map_id, dscp);
|
map_id, dscp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -8198,6 +8211,8 @@ void *dp_soc_attach_wifi3(void *ctrl_psoc, void *hif_handle,
|
|||||||
soc->hal_soc = hif_get_hal_handle(hif_handle);
|
soc->hal_soc = hif_get_hal_handle(hif_handle);
|
||||||
soc->htt_handle = htt_soc_attach(soc, ctrl_psoc, htc_handle,
|
soc->htt_handle = htt_soc_attach(soc, ctrl_psoc, htc_handle,
|
||||||
soc->hal_soc, qdf_osdev);
|
soc->hal_soc, qdf_osdev);
|
||||||
|
soc->num_hw_dscp_tid_map = HAL_MAX_HW_DSCP_TID_MAPS;
|
||||||
|
|
||||||
if (!soc->htt_handle) {
|
if (!soc->htt_handle) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||||
FL("HTT attach failed"));
|
FL("HTT attach failed"));
|
||||||
@@ -8237,6 +8252,7 @@ void *dp_soc_attach_wifi3(void *ctrl_psoc, void *hif_handle,
|
|||||||
wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
|
wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
|
||||||
soc->hw_nac_monitor_support = 1;
|
soc->hw_nac_monitor_support = 1;
|
||||||
soc->ast_override_support = 1;
|
soc->ast_override_support = 1;
|
||||||
|
soc->num_hw_dscp_tid_map = HAL_MAX_HW_DSCP_TID_V2_MAPS;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);
|
qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);
|
||||||
|
@@ -1115,7 +1115,7 @@ static void dp_tx_classify_tid(struct dp_vdev *vdev, qdf_nbuf_t nbuf,
|
|||||||
|
|
||||||
DP_TX_TID_OVERRIDE(msdu_info, nbuf);
|
DP_TX_TID_OVERRIDE(msdu_info, nbuf);
|
||||||
|
|
||||||
if (vdev->dscp_tid_map_id <= 1)
|
if (pdev->soc && vdev->dscp_tid_map_id < pdev->soc->num_hw_dscp_tid_map)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* for mesh packets don't do any classification */
|
/* for mesh packets don't do any classification */
|
||||||
|
@@ -697,6 +697,9 @@ struct dp_soc {
|
|||||||
/*ast override support in HW*/
|
/*ast override support in HW*/
|
||||||
bool ast_override_support;
|
bool ast_override_support;
|
||||||
|
|
||||||
|
/*number of hw dscp tid map*/
|
||||||
|
uint8_t num_hw_dscp_tid_map;
|
||||||
|
|
||||||
/* Link descriptor memory banks */
|
/* Link descriptor memory banks */
|
||||||
struct {
|
struct {
|
||||||
void *base_vaddr_unaligned;
|
void *base_vaddr_unaligned;
|
||||||
|
@@ -80,6 +80,7 @@ do { \
|
|||||||
#define HAL_MAX_HW_DSCP_TID_MAPS 2
|
#define HAL_MAX_HW_DSCP_TID_MAPS 2
|
||||||
#define HAL_MAX_HW_DSCP_TID_MAPS_11AX 32
|
#define HAL_MAX_HW_DSCP_TID_MAPS_11AX 32
|
||||||
|
|
||||||
|
#define HAL_MAX_HW_DSCP_TID_V2_MAPS 48
|
||||||
#define HTT_META_HEADER_LEN_BYTES 64
|
#define HTT_META_HEADER_LEN_BYTES 64
|
||||||
#define HAL_TX_EXT_DESC_WITH_META_DATA \
|
#define HAL_TX_EXT_DESC_WITH_META_DATA \
|
||||||
(HTT_META_HEADER_LEN_BYTES + HAL_TX_EXTENSION_DESC_LEN_BYTES)
|
(HTT_META_HEADER_LEN_BYTES + HAL_TX_EXTENSION_DESC_LEN_BYTES)
|
||||||
|
@@ -68,7 +68,7 @@ static void hal_tx_set_dscp_tid_map_8074v2(void *hal_soc, uint8_t *map,
|
|||||||
|
|
||||||
struct hal_soc *soc = (struct hal_soc *)hal_soc;
|
struct hal_soc *soc = (struct hal_soc *)hal_soc;
|
||||||
|
|
||||||
if (id >= HAL_MAX_HW_DSCP_TID_MAPS_11AX)
|
if (id >= HAL_MAX_HW_DSCP_TID_V2_MAPS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cmn_reg_addr = HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(
|
cmn_reg_addr = HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_ADDR(
|
||||||
|
Reference in New Issue
Block a user