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
2022-03-08 02:26:34 -08:00
提交者 Madan Koyyalamudi
父节点 c3bb3fb37a
当前提交 fb2b00a1b9
修改 3 个文件,包含 18 行新增6 行删除

查看文件

@@ -999,12 +999,13 @@ uint8_t hal_get_idle_link_bm_id_be(uint8_t chip_id)
return (WBM_IDLE_DESC_LIST + chip_id); return (WBM_IDLE_DESC_LIST + chip_id);
} }
#ifndef DP_FEATURE_HW_COOKIE_CONVERSION
static inline void static inline void
hal_rx_wbm_rel_buf_paddr_get_be(hal_ring_desc_t rx_desc, hal_rx_wbm_rel_buf_paddr_get_be(hal_ring_desc_t rx_desc,
struct hal_buf_info *buf_info) struct hal_buf_info *buf_info)
{ {
struct wbm_release_ring *wbm_rel_ring = struct wbm_release_ring_rx *wbm_rel_ring =
(struct wbm_release_ring *)rx_desc; (struct wbm_release_ring_rx *)rx_desc;
buf_info->paddr = buf_info->paddr =
(HAL_RX_WBM_BUF_ADDR_31_0_GET(wbm_rel_ring) | (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); 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 * hal_hw_txrx_default_ops_attach_be() - Attach the default hal ops for

查看文件

@@ -22,6 +22,7 @@
#include "hal_be_hw_headers.h" #include "hal_be_hw_headers.h"
#include "hal_rx.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_OFFSET 14
#define HAL_RX_DA_IDX_CHIP_ID_MASK 0x3 #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) \ #define HAL_RX_WBM_BUF_ADDR_39_32_GET(wbm_desc) \
(HAL_RX_BUFFER_ADDR_39_32_GET(& \ (HAL_RX_BUFFER_ADDR_39_32_GET(& \
(((struct wbm_release_ring *) \ (((struct wbm_release_ring_rx *) \
wbm_desc)->released_buff_or_desc_addr_info))) wbm_desc)->released_buff_or_desc_addr_info)))
#define HAL_RX_WBM_BUF_ADDR_31_0_GET(wbm_desc) \ #define HAL_RX_WBM_BUF_ADDR_31_0_GET(wbm_desc) \
(HAL_RX_BUFFER_ADDR_31_0_GET(& \ (HAL_RX_BUFFER_ADDR_31_0_GET(& \
(((struct wbm_release_ring *) \ (((struct wbm_release_ring_rx *) \
wbm_desc)->released_buff_or_desc_addr_info))) wbm_desc)->released_buff_or_desc_addr_info)))
#define HAL_RX_WBM_BUF_COOKIE_GET(wbm_desc) \ #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) wbm_desc)->released_buff_or_desc_addr_info)
/** /**

查看文件

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