Переглянути джерело

qcacld-3.0: iHelium: Increase RX_HTT_HDR_STATUS_LEN from 64 to 256bytes

Increase packet header bytes to 256, HL1.0 target offload features on
iHelium FW requires header bytes to be increased from 64 to 256bytes.
And round up the HTT_RX_BUF_SIZE to CACHE_LINE_SZ.

Change-Id: Iec45f5747956d0797411f76c2fec1368a13e7d6d
CRs-Fixed: 1039073
Manjunathappa Prakash 8 роки тому
батько
коміт
70ea728fe9
1 змінених файлів з 12 додано та 6 видалено
  1. 12 6
      core/dp/htt/htt_internal.h

+ 12 - 6
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.