diff --git a/core/dp/htt/htt_internal.h b/core/dp/htt/htt_internal.h index 6dfec008e304..0bf6aca751e5 100644 --- a/core/dp/htt/htt_internal.h +++ b/core/dp/htt/htt_internal.h @@ -64,7 +64,6 @@ struct htt_host_fw_desc_base { * which is written either by the 11ac HW MAC into the host Rx data * buffer ring directly or generated by FW and copied from Rx indication */ -#define RX_HTT_HDR_STATUS_LEN 64 struct htt_host_rx_desc_base { struct htt_host_fw_desc_base fw_desc; struct rx_attention attention; @@ -75,6 +74,12 @@ struct htt_host_rx_desc_base { struct rx_mpdu_end mpdu_end; struct rx_ppdu_start ppdu_start; struct rx_ppdu_end ppdu_end; +#ifdef QCA_WIFI_3_0_ADRASTEA +/* Increased to support some of offload features */ +#define RX_HTT_HDR_STATUS_LEN 256 +#else +#define RX_HTT_HDR_STATUS_LEN 64 +#endif char rx_hdr_status[RX_HTT_HDR_STATUS_LEN]; }; @@ -376,11 +381,12 @@ static inline void htt_print_rx_desc(struct htt_host_rx_desc_base *rx_desc) #define IS_PWR2(value) (((value) ^ ((value)-1)) == ((value) << 1) - 1) -/* FIX THIS - * Should be: sizeof(struct htt_host_rx_desc) + max rx MSDU size, - * rounded up to a cache line size. - */ -#define HTT_RX_BUF_SIZE 1920 +/* Max rx MSDU size including L2 headers */ +#define MSDU_SIZE 1560 +/* Rounding up to a cache line size. */ +#define HTT_RX_BUF_SIZE roundup(MSDU_SIZE + \ + sizeof(struct htt_host_rx_desc_base), \ + QDF_CACHE_LINE_SZ) #define MAX_RX_PAYLOAD_SZ (HTT_RX_BUF_SIZE - RX_STD_DESC_SIZE) /* * DMA_MAP expects the buffer to be an integral number of cache lines.