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:
@@ -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)
|
||||||
|
@@ -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,
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user