qcacmn: Data path changes for big endian platform

Add reo ring descrptor swap in case of big endian platform.
Convert msi_data into little endian format before writing into
MSI_DATA register. Also change into little endian format while accessing
the shared LMAC registers.

Change-Id: I07f4ae4e6df4608201b63d325c2cbc37436d1592
This commit is contained in:
Nandha Kishore Easwaran
2020-10-20 12:58:35 +05:30
committed by snandini
parent 47c1479e3f
commit 1a0bc1efc4
4 changed files with 35 additions and 10 deletions

View File

@@ -32,6 +32,9 @@
#define HAL_WBM_RELEASE_RING_2_BUFFER_TYPE 0
#define HAL_WBM_RELEASE_RING_2_DESC_TYPE 1
#define HAL_TX_DESC_TLV_TAG_OFFSET 1
#define HAL_TX_DESC_TLV_LEN_OFFSET 10
/*---------------------------------------------------------------------------
Preprocessor definitions and constants
---------------------------------------------------------------------------*/
@@ -45,8 +48,10 @@
#define HAL_TX_DESC_SET_TLV_HDR(desc, tag, len) \
do { \
((struct tlv_32_hdr *) desc)->tlv_tag = (tag); \
((struct tlv_32_hdr *) desc)->tlv_len = (len); \
uint32_t temp = 0; \
temp |= (tag << HAL_TX_DESC_TLV_TAG_OFFSET); \
temp |= (len << HAL_TX_DESC_TLV_LEN_OFFSET); \
(*(uint32_t *)desc) = temp; \
} while (0)
#define HAL_TX_TCL_DATA_TAG WIFITCL_DATA_CMD_E