qcacmn: Increase size of MSDU EXT DESC

Size of MSDU Extension descriptor increased to accomodate HTT Meta data.

Change-Id: Iaaf87f2f184ec9f144501b9a508bf91d08cad791
CRs-Fixed: 1114769
This commit is contained in:
Ishank Jain
2017-01-23 22:42:37 +05:30
committed by qcabuildsw
parent db8db581cd
commit 2f81e9605e
3 changed files with 16 additions and 5 deletions

View File

@@ -205,14 +205,14 @@ struct dp_tx_ext_desc_elem_s *dp_tx_prepare_ext_desc(struct dp_vdev *vdev,
struct dp_tx_msdu_info_s *msdu_info, uint8_t desc_pool_id) struct dp_tx_msdu_info_s *msdu_info, uint8_t desc_pool_id)
{ {
uint8_t i; uint8_t i;
uint8_t cached_ext_desc[HAL_TX_EXTENSION_DESC_LEN_BYTES]; uint8_t cached_ext_desc[HAL_TX_EXT_DESC_WITH_META_DATA];
struct dp_tx_seg_info_s *seg_info; struct dp_tx_seg_info_s *seg_info;
struct dp_tx_ext_desc_elem_s *msdu_ext_desc; struct dp_tx_ext_desc_elem_s *msdu_ext_desc;
struct dp_soc *soc = vdev->pdev->soc; struct dp_soc *soc = vdev->pdev->soc;
/* Allocate an extension descriptor */ /* Allocate an extension descriptor */
msdu_ext_desc = dp_tx_ext_desc_alloc(soc, desc_pool_id); msdu_ext_desc = dp_tx_ext_desc_alloc(soc, desc_pool_id);
qdf_mem_zero(&cached_ext_desc[0], HAL_TX_EXTENSION_DESC_LEN_BYTES); qdf_mem_zero(&cached_ext_desc[0], HAL_TX_EXT_DESC_WITH_META_DATA);
if (!msdu_ext_desc) if (!msdu_ext_desc)
return NULL; return NULL;
@@ -934,6 +934,13 @@ qdf_nbuf_t dp_tx_send(void *vap_dev, qdf_nbuf_t nbuf)
struct dp_tx_seg_info_s seg_info; struct dp_tx_seg_info_s seg_info;
struct dp_vdev *vdev = (struct dp_vdev *) vap_dev; struct dp_vdev *vdev = (struct dp_vdev *) vap_dev;
qdf_mem_set(&msdu_info, sizeof(msdu_info), 0x0);
qdf_mem_set(&seg_info, sizeof(seg_info), 0x0);
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG,
"%s , skb %0x:%0x:%0x:%0x:%0x:%0x\n",
__func__, nbuf->data[0], nbuf->data[1], nbuf->data[2],
nbuf->data[3], nbuf->data[4], nbuf->data[5]);
/* /*
* Set Default Host TID value to invalid TID * Set Default Host TID value to invalid TID
* (TID override disabled) * (TID override disabled)

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016 The Linux Foundation. All rights reserved. * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -158,7 +158,7 @@ QDF_STATUS dp_tx_ext_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
QDF_STATUS status; QDF_STATUS status;
/* Coherent tx extension descriptor alloc */ /* Coherent tx extension descriptor alloc */
soc->tx_ext_desc[pool_id].elem_size = HAL_TX_EXTENSION_DESC_LEN_BYTES; soc->tx_ext_desc[pool_id].elem_size = HAL_TX_EXT_DESC_WITH_META_DATA;
soc->tx_ext_desc[pool_id].elem_count = num_elem; soc->tx_ext_desc[pool_id].elem_count = num_elem;
qdf_mem_multi_pages_alloc(soc->osdev, qdf_mem_multi_pages_alloc(soc->osdev,
&soc->tx_ext_desc[pool_id].desc_pages, &soc->tx_ext_desc[pool_id].desc_pages,

View File

@@ -70,6 +70,10 @@ do { \
#define HAL_TX_COMPLETION_DESC_LEN_DWORDS (NUM_OF_DWORDS_WBM_RELEASE_RING) #define HAL_TX_COMPLETION_DESC_LEN_DWORDS (NUM_OF_DWORDS_WBM_RELEASE_RING)
#define HAL_TX_COMPLETION_DESC_LEN_BYTES (NUM_OF_DWORDS_WBM_RELEASE_RING*4) #define HAL_TX_COMPLETION_DESC_LEN_BYTES (NUM_OF_DWORDS_WBM_RELEASE_RING*4)
#define HTT_META_HEADER_LEN_BYTES 64
#define HAL_TX_EXT_DESC_WITH_META_DATA \
(HTT_META_HEADER_LEN_BYTES + HAL_TX_EXTENSION_DESC_LEN_BYTES)
/* Length of WBM release ring without the status words */ /* Length of WBM release ring without the status words */
#define HAL_TX_COMPLETION_DESC_BASE_LEN 12 #define HAL_TX_COMPLETION_DESC_BASE_LEN 12
@@ -698,7 +702,7 @@ static inline void hal_tx_ext_desc_sync(uint8_t *desc_cached,
uint8_t *hw_desc) uint8_t *hw_desc)
{ {
qdf_mem_copy(&hw_desc[0], &desc_cached[0], qdf_mem_copy(&hw_desc[0], &desc_cached[0],
HAL_TX_EXTENSION_DESC_LEN_BYTES); HAL_TX_EXT_DESC_WITH_META_DATA);
} }
/** /**