Quellcode durchsuchen

qcacmn: Fetch phy addresses for wbm release ring descs

Fetch phy addresses for wbm release ring descs
in the cookie conversion enabled case

Change-Id: I420dc395bfa7b783dfed98b7258e7c0f0728e543
CRs-Fixed: 3146766
Pavankumar Nandeshwar vor 3 Jahren
Ursprung
Commit
fb2b00a1b9
3 geänderte Dateien mit 18 neuen und 6 gelöschten Zeilen
  1. 14 2
      hal/wifi3.0/be/hal_be_generic_api.c
  2. 4 3
      hal/wifi3.0/be/hal_be_rx.h
  3. 0 1
      hal/wifi3.0/qcn9224/hal_9224.c

+ 14 - 2
hal/wifi3.0/be/hal_be_generic_api.c

@@ -999,12 +999,13 @@ uint8_t hal_get_idle_link_bm_id_be(uint8_t chip_id)
 	return (WBM_IDLE_DESC_LIST + chip_id);
 }
 
+#ifndef DP_FEATURE_HW_COOKIE_CONVERSION
 static inline void
 hal_rx_wbm_rel_buf_paddr_get_be(hal_ring_desc_t rx_desc,
 				struct hal_buf_info *buf_info)
 {
-	struct wbm_release_ring *wbm_rel_ring =
-		 (struct wbm_release_ring *)rx_desc;
+	struct wbm_release_ring_rx *wbm_rel_ring =
+		 (struct wbm_release_ring_rx *)rx_desc;
 
 	buf_info->paddr =
 	 (HAL_RX_WBM_BUF_ADDR_31_0_GET(wbm_rel_ring) |
@@ -1012,6 +1013,17 @@ hal_rx_wbm_rel_buf_paddr_get_be(hal_ring_desc_t rx_desc,
 
 	buf_info->sw_cookie = HAL_RX_WBM_BUF_COOKIE_GET(wbm_rel_ring);
 }
+#else
+static inline void
+hal_rx_wbm_rel_buf_paddr_get_be(hal_ring_desc_t rx_desc,
+				struct hal_buf_info *buf_info)
+{
+	buf_info->paddr =
+	(HAL_RX_GET(rx_desc, WBM2SW_COMPLETION_RING_RX, BUFFER_PHYS_ADDR_31_0) |
+		    (uint64_t)HAL_RX_GET(rx_desc, WBM2SW_COMPLETION_RING_RX,
+			       BUFFER_PHYS_ADDR_39_32) << 32);
+}
+#endif
 
 /**
  * hal_hw_txrx_default_ops_attach_be() - Attach the default hal ops for

+ 4 - 3
hal/wifi3.0/be/hal_be_rx.h

@@ -22,6 +22,7 @@
 
 #include "hal_be_hw_headers.h"
 #include "hal_rx.h"
+#include <wbm_release_ring_rx.h>
 
 #define HAL_RX_DA_IDX_CHIP_ID_OFFSET    14
 #define HAL_RX_DA_IDX_CHIP_ID_MASK      0x3
@@ -359,16 +360,16 @@ static inline uintptr_t hal_rx_wbm_get_desc_va(void *hal_desc)
 
 #define HAL_RX_WBM_BUF_ADDR_39_32_GET(wbm_desc)	\
 	(HAL_RX_BUFFER_ADDR_39_32_GET(&			\
-	(((struct wbm_release_ring *) \
+	(((struct wbm_release_ring_rx *) \
 	wbm_desc)->released_buff_or_desc_addr_info)))
 
 #define HAL_RX_WBM_BUF_ADDR_31_0_GET(wbm_desc)	\
 	(HAL_RX_BUFFER_ADDR_31_0_GET(&			\
-	(((struct wbm_release_ring *) \
+	(((struct wbm_release_ring_rx *) \
 	wbm_desc)->released_buff_or_desc_addr_info)))
 
 #define HAL_RX_WBM_BUF_COOKIE_GET(wbm_desc) \
-	HAL_RX_BUF_COOKIE_GET(&((struct wbm_release_ring *) \
+	HAL_RX_BUF_COOKIE_GET(&((struct wbm_release_ring_rx *) \
 	wbm_desc)->released_buff_or_desc_addr_info)
 
 /**

+ 0 - 1
hal/wifi3.0/qcn9224/hal_9224.c

@@ -38,7 +38,6 @@
 #include "wfss_ce_reg_seq_hwioreg.h"
 #include <uniform_reo_status_header.h>
 #include <wbm_release_ring_tx.h>
-#include <wbm_release_ring_rx.h>
 #include <phyrx_location.h>
 #ifdef QCA_MONITOR_2_0_SUPPORT
 #include <mon_ingress_ring.h>