qcacmn: Rearrange fields in dp_tx_desc to avoid padding
Current dp_tx_desc structure size is 136 bytes, re-arranged the fields to fit in exactly 128 bytes to align with number of descriptor per page and page offset bit maps Also add a compilation assert on tx desc size Change-Id: Ifcb18a9da637cb71c0427b56ad4054d2206ddfbb
This commit is contained in:

committed by
nshrivas

parent
e7e012dc4d
commit
bd70ec6350
@@ -37,6 +37,21 @@
|
|||||||
#define DP_TX_DESC_ID_OFFSET_MASK 0x00001F
|
#define DP_TX_DESC_ID_OFFSET_MASK 0x00001F
|
||||||
#define DP_TX_DESC_ID_OFFSET_OS 0
|
#define DP_TX_DESC_ID_OFFSET_OS 0
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compilation assert on tx desc size
|
||||||
|
*
|
||||||
|
* if assert is hit please update POOL_MASK,
|
||||||
|
* PAGE_MASK according to updated size
|
||||||
|
*
|
||||||
|
* for current PAGE mask allowed size range of tx_desc
|
||||||
|
* is between 128 and 256
|
||||||
|
*/
|
||||||
|
QDF_COMPILE_TIME_ASSERT(dp_tx_desc_size,
|
||||||
|
((sizeof(struct dp_tx_desc_s)) <=
|
||||||
|
(PAGE_SIZE >> DP_TX_DESC_ID_PAGE_OS)) &&
|
||||||
|
((sizeof(struct dp_tx_desc_s)) >
|
||||||
|
(PAGE_SIZE >> (DP_TX_DESC_ID_PAGE_OS + 1))));
|
||||||
|
|
||||||
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
|
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
|
||||||
#define TX_DESC_LOCK_CREATE(lock)
|
#define TX_DESC_LOCK_CREATE(lock)
|
||||||
#define TX_DESC_LOCK_DESTROY(lock)
|
#define TX_DESC_LOCK_DESTROY(lock)
|
||||||
|
@@ -386,8 +386,8 @@ struct dp_tx_desc_s {
|
|||||||
qdf_nbuf_t nbuf;
|
qdf_nbuf_t nbuf;
|
||||||
uint16_t length;
|
uint16_t length;
|
||||||
uint16_t flags;
|
uint16_t flags;
|
||||||
qdf_dma_addr_t dma_addr;
|
|
||||||
uint32_t id;
|
uint32_t id;
|
||||||
|
qdf_dma_addr_t dma_addr;
|
||||||
struct dp_vdev *vdev;
|
struct dp_vdev *vdev;
|
||||||
struct dp_pdev *pdev;
|
struct dp_pdev *pdev;
|
||||||
uint8_t tx_encap_type;
|
uint8_t tx_encap_type;
|
||||||
|
Reference in New Issue
Block a user