mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 09:20:13 -04:00
wifi: ath12k: Rename ath12k_* symbols to ath12k_wifi7_* for clarity
Rename functions and global definitions from ath12k_* to ath12k_wifi7_* to reflect their association with the Wi-Fi 7 specific module. Align symbol naming with recent relocation of components into the ath12k/wifi7 directory. This change improves code clarity and supports the modularization effort that separates common and hardware-specific logic into distinct modules. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 Tested-on: IPQ5332 hw1.0 AHB WLAN.WBE.1.3.1-00130-QCAHKSWPL_SILICONZ-1 Signed-off-by: Kiran Venkatappa <quic_kiranv@quicinc.com> Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com> Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com> Link: https://patch.msgid.link/20250812-ath12k-mod-v1-11-8c9b0eb9335d@quicinc.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
committed by
Jeff Johnson
parent
a720270452
commit
bce3b73d1c
@@ -15,7 +15,7 @@
|
||||
|
||||
/* Copy Engine (CE) configs for QCN9274 */
|
||||
/* Target firmware's Copy Engine configuration. */
|
||||
const struct ce_pipe_config ath12k_target_ce_config_wlan_qcn9274[] = {
|
||||
const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_qcn9274[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.pipenum = __cpu_to_le32(0),
|
||||
@@ -148,7 +148,8 @@ const struct ce_pipe_config ath12k_target_ce_config_wlan_qcn9274[] = {
|
||||
* PIPEDIR_OUT = UL = host -> target
|
||||
* PIPEDIR_IN = DL = target -> host
|
||||
*/
|
||||
const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_qcn9274[] = {
|
||||
const struct service_to_pipe
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_qcn9274[] = {
|
||||
{
|
||||
__cpu_to_le32(ATH12K_HTC_SVC_ID_WMI_DATA_VO),
|
||||
__cpu_to_le32(PIPEDIR_OUT),
|
||||
@@ -259,7 +260,7 @@ const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_qcn9274[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct ce_attr ath12k_host_ce_config_qcn9274[] = {
|
||||
const struct ce_attr ath12k_wifi7_host_ce_config_qcn9274[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.flags = CE_ATTR_FLAGS,
|
||||
@@ -395,7 +396,7 @@ const struct ce_attr ath12k_host_ce_config_qcn9274[] = {
|
||||
|
||||
/* Copy Engine (CE) configs for WCN7850 */
|
||||
/* Target firmware's Copy Engine configuration. */
|
||||
const struct ce_pipe_config ath12k_target_ce_config_wlan_wcn7850[] = {
|
||||
const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_wcn7850[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.pipenum = __cpu_to_le32(0),
|
||||
@@ -488,7 +489,8 @@ const struct ce_pipe_config ath12k_target_ce_config_wlan_wcn7850[] = {
|
||||
/* CE 9, 10, 11 are used by MHI driver */
|
||||
};
|
||||
|
||||
const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_wcn7850[] = {
|
||||
const struct service_to_pipe
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_wcn7850[] = {
|
||||
{
|
||||
__cpu_to_le32(ATH12K_HTC_SVC_ID_WMI_DATA_VO),
|
||||
__cpu_to_le32(PIPEDIR_OUT),
|
||||
@@ -569,7 +571,7 @@ const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_wcn7850[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct ce_attr ath12k_host_ce_config_wcn7850[] = {
|
||||
const struct ce_attr ath12k_wifi7_host_ce_config_wcn7850[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.flags = CE_ATTR_FLAGS,
|
||||
@@ -647,7 +649,7 @@ const struct ce_attr ath12k_host_ce_config_wcn7850[] = {
|
||||
|
||||
/* Copy Engine (CE) configs for IPQ5332 */
|
||||
/* Target firmware's Copy Engine configuration. */
|
||||
const struct ce_pipe_config ath12k_target_ce_config_wlan_ipq5332[] = {
|
||||
const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_ipq5332[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.pipenum = __cpu_to_le32(0),
|
||||
@@ -768,7 +770,8 @@ const struct ce_pipe_config ath12k_target_ce_config_wlan_ipq5332[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_ipq5332[] = {
|
||||
const struct service_to_pipe
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_ipq5332[] = {
|
||||
{
|
||||
__cpu_to_le32(ATH12K_HTC_SVC_ID_WMI_DATA_VO),
|
||||
__cpu_to_le32(PIPEDIR_OUT),
|
||||
@@ -868,7 +871,7 @@ const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_ipq5332[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct ce_attr ath12k_host_ce_config_ipq5332[] = {
|
||||
const struct ce_attr ath12k_wifi7_host_ce_config_ipq5332[] = {
|
||||
/* CE0: host->target HTC control and raw streams */
|
||||
{
|
||||
.flags = CE_ATTR_FLAGS,
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
#ifndef ATH12K_WIFI7_CE_H
|
||||
#define ATH12K_WIFI7_CE_H
|
||||
|
||||
extern const struct ce_pipe_config ath12k_target_ce_config_wlan_qcn9274[];
|
||||
extern const struct ce_pipe_config ath12k_target_ce_config_wlan_wcn7850[];
|
||||
extern const struct ce_pipe_config ath12k_target_ce_config_wlan_ipq5332[];
|
||||
extern const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_qcn9274[];
|
||||
extern const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_wcn7850[];
|
||||
extern const struct ce_pipe_config ath12k_wifi7_target_ce_config_wlan_ipq5332[];
|
||||
|
||||
extern const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_qcn9274[];
|
||||
extern const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_wcn7850[];
|
||||
extern const struct service_to_pipe ath12k_target_service_to_ce_map_wlan_ipq5332[];
|
||||
extern const struct service_to_pipe ath12k_wifi7_target_service_to_ce_map_wlan_qcn9274[];
|
||||
extern const struct service_to_pipe ath12k_wifi7_target_service_to_ce_map_wlan_wcn7850[];
|
||||
extern const struct service_to_pipe ath12k_wifi7_target_service_to_ce_map_wlan_ipq5332[];
|
||||
|
||||
extern const struct ce_attr ath12k_host_ce_config_qcn9274[];
|
||||
extern const struct ce_attr ath12k_host_ce_config_wcn7850[];
|
||||
extern const struct ce_attr ath12k_host_ce_config_ipq5332[];
|
||||
extern const struct ce_attr ath12k_wifi7_host_ce_config_qcn9274[];
|
||||
extern const struct ce_attr ath12k_wifi7_host_ce_config_wcn7850[];
|
||||
extern const struct ce_attr ath12k_wifi7_host_ce_config_ipq5332[];
|
||||
|
||||
#endif /* ATH12K_WIFI7_CE_H */
|
||||
|
||||
@@ -24,29 +24,31 @@ static const guid_t wcn7850_uuid = GUID_INIT(0xf634f534, 0x6147, 0x11ec,
|
||||
0x90, 0xd6, 0x02, 0x42,
|
||||
0xac, 0x12, 0x00, 0x03);
|
||||
|
||||
static u8 ath12k_hw_qcn9274_mac_from_pdev_id(int pdev_idx)
|
||||
static u8 ath12k_wifi7_hw_qcn9274_mac_from_pdev_id(int pdev_idx)
|
||||
{
|
||||
return pdev_idx;
|
||||
}
|
||||
|
||||
static int ath12k_hw_mac_id_to_pdev_id_qcn9274(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
static int
|
||||
ath12k_wifi7_hw_mac_id_to_pdev_id_qcn9274(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
{
|
||||
return mac_id;
|
||||
}
|
||||
|
||||
static int ath12k_hw_mac_id_to_srng_id_qcn9274(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
static int
|
||||
ath12k_wifi7_hw_mac_id_to_srng_id_qcn9274(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u8 ath12k_hw_get_ring_selector_qcn9274(struct sk_buff *skb)
|
||||
static u8 ath12k_wifi7_hw_get_ring_selector_qcn9274(struct sk_buff *skb)
|
||||
{
|
||||
return smp_processor_id();
|
||||
}
|
||||
|
||||
static bool ath12k_dp_srng_is_comp_ring_qcn9274(int ring_num)
|
||||
static bool ath12k_wifi7_dp_srng_is_comp_ring_qcn9274(int ring_num)
|
||||
{
|
||||
if (ring_num < 3 || ring_num == 4)
|
||||
return true;
|
||||
@@ -54,30 +56,33 @@ static bool ath12k_dp_srng_is_comp_ring_qcn9274(int ring_num)
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool ath12k_is_frame_link_agnostic_qcn9274(struct ath12k_link_vif *arvif,
|
||||
struct ieee80211_mgmt *mgmt)
|
||||
static bool
|
||||
ath12k_wifi7_is_frame_link_agnostic_qcn9274(struct ath12k_link_vif *arvif,
|
||||
struct ieee80211_mgmt *mgmt)
|
||||
{
|
||||
return ieee80211_is_action(mgmt->frame_control);
|
||||
}
|
||||
|
||||
static int ath12k_hw_mac_id_to_pdev_id_wcn7850(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
static int
|
||||
ath12k_wifi7_hw_mac_id_to_pdev_id_wcn7850(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ath12k_hw_mac_id_to_srng_id_wcn7850(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
static int
|
||||
ath12k_wifi7_hw_mac_id_to_srng_id_wcn7850(const struct ath12k_hw_params *hw,
|
||||
int mac_id)
|
||||
{
|
||||
return mac_id;
|
||||
}
|
||||
|
||||
static u8 ath12k_hw_get_ring_selector_wcn7850(struct sk_buff *skb)
|
||||
static u8 ath12k_wifi7_hw_get_ring_selector_wcn7850(struct sk_buff *skb)
|
||||
{
|
||||
return skb_get_queue_mapping(skb);
|
||||
}
|
||||
|
||||
static bool ath12k_dp_srng_is_comp_ring_wcn7850(int ring_num)
|
||||
static bool ath12k_wifi7_dp_srng_is_comp_ring_wcn7850(int ring_num)
|
||||
{
|
||||
if (ring_num == 0 || ring_num == 2 || ring_num == 4)
|
||||
return true;
|
||||
@@ -99,8 +104,9 @@ static bool ath12k_is_addba_resp_action_code(struct ieee80211_mgmt *mgmt)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool ath12k_is_frame_link_agnostic_wcn7850(struct ath12k_link_vif *arvif,
|
||||
struct ieee80211_mgmt *mgmt)
|
||||
static bool
|
||||
ath12k_wifi7_is_frame_link_agnostic_wcn7850(struct ath12k_link_vif *arvif,
|
||||
struct ieee80211_mgmt *mgmt)
|
||||
{
|
||||
struct ieee80211_vif *vif = ath12k_ahvif_to_vif(arvif->ahvif);
|
||||
struct ath12k_hw *ah = ath12k_ar_to_ah(arvif->ar);
|
||||
@@ -132,23 +138,23 @@ static bool ath12k_is_frame_link_agnostic_wcn7850(struct ath12k_link_vif *arvif,
|
||||
}
|
||||
|
||||
static const struct ath12k_hw_ops qcn9274_ops = {
|
||||
.get_hw_mac_from_pdev_id = ath12k_hw_qcn9274_mac_from_pdev_id,
|
||||
.mac_id_to_pdev_id = ath12k_hw_mac_id_to_pdev_id_qcn9274,
|
||||
.mac_id_to_srng_id = ath12k_hw_mac_id_to_srng_id_qcn9274,
|
||||
.get_hw_mac_from_pdev_id = ath12k_wifi7_hw_qcn9274_mac_from_pdev_id,
|
||||
.mac_id_to_pdev_id = ath12k_wifi7_hw_mac_id_to_pdev_id_qcn9274,
|
||||
.mac_id_to_srng_id = ath12k_wifi7_hw_mac_id_to_srng_id_qcn9274,
|
||||
.rxdma_ring_sel_config = ath12k_dp_rxdma_ring_sel_config_qcn9274,
|
||||
.get_ring_selector = ath12k_hw_get_ring_selector_qcn9274,
|
||||
.dp_srng_is_tx_comp_ring = ath12k_dp_srng_is_comp_ring_qcn9274,
|
||||
.is_frame_link_agnostic = ath12k_is_frame_link_agnostic_qcn9274,
|
||||
.get_ring_selector = ath12k_wifi7_hw_get_ring_selector_qcn9274,
|
||||
.dp_srng_is_tx_comp_ring = ath12k_wifi7_dp_srng_is_comp_ring_qcn9274,
|
||||
.is_frame_link_agnostic = ath12k_wifi7_is_frame_link_agnostic_qcn9274,
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_ops wcn7850_ops = {
|
||||
.get_hw_mac_from_pdev_id = ath12k_hw_qcn9274_mac_from_pdev_id,
|
||||
.mac_id_to_pdev_id = ath12k_hw_mac_id_to_pdev_id_wcn7850,
|
||||
.mac_id_to_srng_id = ath12k_hw_mac_id_to_srng_id_wcn7850,
|
||||
.get_hw_mac_from_pdev_id = ath12k_wifi7_hw_qcn9274_mac_from_pdev_id,
|
||||
.mac_id_to_pdev_id = ath12k_wifi7_hw_mac_id_to_pdev_id_wcn7850,
|
||||
.mac_id_to_srng_id = ath12k_wifi7_hw_mac_id_to_srng_id_wcn7850,
|
||||
.rxdma_ring_sel_config = ath12k_dp_rxdma_ring_sel_config_wcn7850,
|
||||
.get_ring_selector = ath12k_hw_get_ring_selector_wcn7850,
|
||||
.dp_srng_is_tx_comp_ring = ath12k_dp_srng_is_comp_ring_wcn7850,
|
||||
.is_frame_link_agnostic = ath12k_is_frame_link_agnostic_wcn7850,
|
||||
.get_ring_selector = ath12k_wifi7_hw_get_ring_selector_wcn7850,
|
||||
.dp_srng_is_tx_comp_ring = ath12k_wifi7_dp_srng_is_comp_ring_wcn7850,
|
||||
.is_frame_link_agnostic = ath12k_wifi7_is_frame_link_agnostic_wcn7850,
|
||||
};
|
||||
|
||||
#define ATH12K_TX_RING_MASK_0 0x1
|
||||
@@ -181,7 +187,7 @@ static const struct ath12k_hw_ops wcn7850_ops = {
|
||||
#define ATH12K_RX_MON_STATUS_RING_MASK_1 0x2
|
||||
#define ATH12K_RX_MON_STATUS_RING_MASK_2 0x4
|
||||
|
||||
static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_qcn9274 = {
|
||||
static const struct ath12k_hw_ring_mask ath12k_wifi7_hw_ring_mask_qcn9274 = {
|
||||
.tx = {
|
||||
ATH12K_TX_RING_MASK_0,
|
||||
ATH12K_TX_RING_MASK_1,
|
||||
@@ -223,7 +229,7 @@ static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_qcn9274 = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_ipq5332 = {
|
||||
static const struct ath12k_hw_ring_mask ath12k_wifi7_hw_ring_mask_ipq5332 = {
|
||||
.tx = {
|
||||
ATH12K_TX_RING_MASK_0,
|
||||
ATH12K_TX_RING_MASK_1,
|
||||
@@ -263,7 +269,7 @@ static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_ipq5332 = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_wcn7850 = {
|
||||
static const struct ath12k_hw_ring_mask ath12k_wifi7_hw_ring_mask_wcn7850 = {
|
||||
.tx = {
|
||||
ATH12K_TX_RING_MASK_0,
|
||||
ATH12K_TX_RING_MASK_1,
|
||||
@@ -654,7 +660,7 @@ static const struct ath12k_hw_regs wcn7850_regs = {
|
||||
.gcc_gcc_pcie_hot_rst = 0x1e40304,
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_hal_params ath12k_hw_hal_params_qcn9274 = {
|
||||
static const struct ath12k_hw_hal_params ath12k_wifi7_hw_hal_params_qcn9274 = {
|
||||
.rx_buf_rbm = HAL_RX_BUF_RBM_SW3_BM,
|
||||
.wbm2sw_cc_enable = HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW0_EN |
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW1_EN |
|
||||
@@ -663,7 +669,7 @@ static const struct ath12k_hw_hal_params ath12k_hw_hal_params_qcn9274 = {
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW4_EN,
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_hal_params ath12k_hw_hal_params_wcn7850 = {
|
||||
static const struct ath12k_hw_hal_params ath12k_wifi7_hw_hal_params_wcn7850 = {
|
||||
.rx_buf_rbm = HAL_RX_BUF_RBM_SW1_BM,
|
||||
.wbm2sw_cc_enable = HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW0_EN |
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW2_EN |
|
||||
@@ -671,7 +677,7 @@ static const struct ath12k_hw_hal_params ath12k_hw_hal_params_wcn7850 = {
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW4_EN,
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_hal_params ath12k_hw_hal_params_ipq5332 = {
|
||||
static const struct ath12k_hw_hal_params ath12k_wifi7_hw_hal_params_ipq5332 = {
|
||||
.rx_buf_rbm = HAL_RX_BUF_RBM_SW3_BM,
|
||||
.wbm2sw_cc_enable = HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW0_EN |
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW1_EN |
|
||||
@@ -680,18 +686,18 @@ static const struct ath12k_hw_hal_params ath12k_hw_hal_params_ipq5332 = {
|
||||
HAL_WBM_SW_COOKIE_CONV_CFG_WBM2SW4_EN,
|
||||
};
|
||||
|
||||
static const struct ce_ie_addr ath12k_ce_ie_addr_ipq5332 = {
|
||||
static const struct ce_ie_addr ath12k_wifi7_ce_ie_addr_ipq5332 = {
|
||||
.ie1_reg_addr = CE_HOST_IE_ADDRESS - HAL_IPQ5332_CE_WFSS_REG_BASE,
|
||||
.ie2_reg_addr = CE_HOST_IE_2_ADDRESS - HAL_IPQ5332_CE_WFSS_REG_BASE,
|
||||
.ie3_reg_addr = CE_HOST_IE_3_ADDRESS - HAL_IPQ5332_CE_WFSS_REG_BASE,
|
||||
};
|
||||
|
||||
static const struct ce_remap ath12k_ce_remap_ipq5332 = {
|
||||
static const struct ce_remap ath12k_wifi7_ce_remap_ipq5332 = {
|
||||
.base = HAL_IPQ5332_CE_WFSS_REG_BASE,
|
||||
.size = HAL_IPQ5332_CE_SIZE,
|
||||
};
|
||||
|
||||
static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
|
||||
{
|
||||
.name = "qcn9274 hw1.0",
|
||||
.hw_rev = ATH12K_HW_QCN9274_HW10,
|
||||
@@ -707,17 +713,18 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.internal_sleep_clock = false,
|
||||
|
||||
.hw_ops = &qcn9274_ops,
|
||||
.ring_mask = &ath12k_hw_ring_mask_qcn9274,
|
||||
.ring_mask = &ath12k_wifi7_hw_ring_mask_qcn9274,
|
||||
.regs = &qcn9274_v1_regs,
|
||||
|
||||
.host_ce_config = ath12k_host_ce_config_qcn9274,
|
||||
.host_ce_config = ath12k_wifi7_host_ce_config_qcn9274,
|
||||
.ce_count = 16,
|
||||
.target_ce_config = ath12k_target_ce_config_wlan_qcn9274,
|
||||
.target_ce_config = ath12k_wifi7_target_ce_config_wlan_qcn9274,
|
||||
.target_ce_count = 12,
|
||||
.svc_to_ce_map = ath12k_target_service_to_ce_map_wlan_qcn9274,
|
||||
.svc_to_ce_map =
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_qcn9274,
|
||||
.svc_to_ce_map_len = 18,
|
||||
|
||||
.hal_params = &ath12k_hw_hal_params_qcn9274,
|
||||
.hal_params = &ath12k_wifi7_hw_hal_params_qcn9274,
|
||||
|
||||
.rxdma1_enable = false,
|
||||
.num_rxdma_per_pdev = 1,
|
||||
@@ -741,9 +748,9 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.num_tcl_banks = 48,
|
||||
.max_tx_ring = 4,
|
||||
|
||||
.mhi_config = &ath12k_mhi_config_qcn9274,
|
||||
.mhi_config = &ath12k_wifi7_mhi_config_qcn9274,
|
||||
|
||||
.wmi_init = ath12k_wmi_init_qcn9274,
|
||||
.wmi_init = ath12k_wifi7_wmi_init_qcn9274,
|
||||
|
||||
.hal_ops = &hal_qcn9274_ops,
|
||||
|
||||
@@ -794,17 +801,18 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.internal_sleep_clock = true,
|
||||
|
||||
.hw_ops = &wcn7850_ops,
|
||||
.ring_mask = &ath12k_hw_ring_mask_wcn7850,
|
||||
.ring_mask = &ath12k_wifi7_hw_ring_mask_wcn7850,
|
||||
.regs = &wcn7850_regs,
|
||||
|
||||
.host_ce_config = ath12k_host_ce_config_wcn7850,
|
||||
.host_ce_config = ath12k_wifi7_host_ce_config_wcn7850,
|
||||
.ce_count = 9,
|
||||
.target_ce_config = ath12k_target_ce_config_wlan_wcn7850,
|
||||
.target_ce_config = ath12k_wifi7_target_ce_config_wlan_wcn7850,
|
||||
.target_ce_count = 9,
|
||||
.svc_to_ce_map = ath12k_target_service_to_ce_map_wlan_wcn7850,
|
||||
.svc_to_ce_map =
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_wcn7850,
|
||||
.svc_to_ce_map_len = 14,
|
||||
|
||||
.hal_params = &ath12k_hw_hal_params_wcn7850,
|
||||
.hal_params = &ath12k_wifi7_hw_hal_params_wcn7850,
|
||||
|
||||
.rxdma1_enable = false,
|
||||
.num_rxdma_per_pdev = 2,
|
||||
@@ -829,9 +837,9 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.num_tcl_banks = 7,
|
||||
.max_tx_ring = 3,
|
||||
|
||||
.mhi_config = &ath12k_mhi_config_wcn7850,
|
||||
.mhi_config = &ath12k_wifi7_mhi_config_wcn7850,
|
||||
|
||||
.wmi_init = ath12k_wmi_init_wcn7850,
|
||||
.wmi_init = ath12k_wifi7_wmi_init_wcn7850,
|
||||
|
||||
.hal_ops = &hal_wcn7850_ops,
|
||||
|
||||
@@ -881,17 +889,18 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.internal_sleep_clock = false,
|
||||
|
||||
.hw_ops = &qcn9274_ops,
|
||||
.ring_mask = &ath12k_hw_ring_mask_qcn9274,
|
||||
.ring_mask = &ath12k_wifi7_hw_ring_mask_qcn9274,
|
||||
.regs = &qcn9274_v2_regs,
|
||||
|
||||
.host_ce_config = ath12k_host_ce_config_qcn9274,
|
||||
.host_ce_config = ath12k_wifi7_host_ce_config_qcn9274,
|
||||
.ce_count = 16,
|
||||
.target_ce_config = ath12k_target_ce_config_wlan_qcn9274,
|
||||
.target_ce_config = ath12k_wifi7_target_ce_config_wlan_qcn9274,
|
||||
.target_ce_count = 12,
|
||||
.svc_to_ce_map = ath12k_target_service_to_ce_map_wlan_qcn9274,
|
||||
.svc_to_ce_map =
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_qcn9274,
|
||||
.svc_to_ce_map_len = 18,
|
||||
|
||||
.hal_params = &ath12k_hw_hal_params_qcn9274,
|
||||
.hal_params = &ath12k_wifi7_hw_hal_params_qcn9274,
|
||||
|
||||
.rxdma1_enable = true,
|
||||
.num_rxdma_per_pdev = 1,
|
||||
@@ -915,9 +924,9 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.num_tcl_banks = 48,
|
||||
.max_tx_ring = 4,
|
||||
|
||||
.mhi_config = &ath12k_mhi_config_qcn9274,
|
||||
.mhi_config = &ath12k_wifi7_mhi_config_qcn9274,
|
||||
|
||||
.wmi_init = ath12k_wmi_init_qcn9274,
|
||||
.wmi_init = ath12k_wifi7_wmi_init_qcn9274,
|
||||
|
||||
.hal_ops = &hal_qcn9274_ops,
|
||||
|
||||
@@ -967,16 +976,17 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
|
||||
.hw_ops = &qcn9274_ops,
|
||||
.regs = &ipq5332_regs,
|
||||
.ring_mask = &ath12k_hw_ring_mask_ipq5332,
|
||||
.ring_mask = &ath12k_wifi7_hw_ring_mask_ipq5332,
|
||||
|
||||
.host_ce_config = ath12k_host_ce_config_ipq5332,
|
||||
.host_ce_config = ath12k_wifi7_host_ce_config_ipq5332,
|
||||
.ce_count = 12,
|
||||
.target_ce_config = ath12k_target_ce_config_wlan_ipq5332,
|
||||
.target_ce_config = ath12k_wifi7_target_ce_config_wlan_ipq5332,
|
||||
.target_ce_count = 12,
|
||||
.svc_to_ce_map = ath12k_target_service_to_ce_map_wlan_ipq5332,
|
||||
.svc_to_ce_map =
|
||||
ath12k_wifi7_target_service_to_ce_map_wlan_ipq5332,
|
||||
.svc_to_ce_map_len = 18,
|
||||
|
||||
.hal_params = &ath12k_hw_hal_params_ipq5332,
|
||||
.hal_params = &ath12k_wifi7_hw_hal_params_ipq5332,
|
||||
|
||||
.rxdma1_enable = false,
|
||||
.num_rxdma_per_pdev = 1,
|
||||
@@ -999,7 +1009,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.num_tcl_banks = 48,
|
||||
.max_tx_ring = 4,
|
||||
|
||||
.wmi_init = &ath12k_wmi_init_qcn9274,
|
||||
.wmi_init = &ath12k_wifi7_wmi_init_qcn9274,
|
||||
|
||||
.hal_ops = &hal_qcn9274_ops,
|
||||
|
||||
@@ -1023,8 +1033,8 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
|
||||
.iova_mask = 0,
|
||||
.supports_aspm = false,
|
||||
|
||||
.ce_ie_addr = &ath12k_ce_ie_addr_ipq5332,
|
||||
.ce_remap = &ath12k_ce_remap_ipq5332,
|
||||
.ce_ie_addr = &ath12k_wifi7_ce_ie_addr_ipq5332,
|
||||
.ce_remap = &ath12k_wifi7_ce_remap_ipq5332,
|
||||
.bdf_addr_offset = 0xC00000,
|
||||
|
||||
.dp_primary_link_only = true,
|
||||
@@ -1036,14 +1046,14 @@ int ath12k_wifi7_hw_init(struct ath12k_base *ab)
|
||||
const struct ath12k_hw_params *hw_params = NULL;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ath12k_hw_params); i++) {
|
||||
hw_params = &ath12k_hw_params[i];
|
||||
for (i = 0; i < ARRAY_SIZE(ath12k_wifi7_hw_params); i++) {
|
||||
hw_params = &ath12k_wifi7_hw_params[i];
|
||||
|
||||
if (hw_params->hw_rev == ab->hw_rev)
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == ARRAY_SIZE(ath12k_hw_params)) {
|
||||
if (i == ARRAY_SIZE(ath12k_wifi7_hw_params)) {
|
||||
ath12k_err(ab, "Unsupported Wi-Fi 7 hardware version: 0x%x\n",
|
||||
ab->hw_rev);
|
||||
return -EINVAL;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "../mhi.h"
|
||||
#include "mhi.h"
|
||||
|
||||
static const struct mhi_channel_config ath12k_mhi_channels_qcn9274[] = {
|
||||
static const struct mhi_channel_config ath12k_wifi7_mhi_channels_qcn9274[] = {
|
||||
{
|
||||
.num = 20,
|
||||
.name = "IPCR",
|
||||
@@ -38,7 +38,7 @@ static const struct mhi_channel_config ath12k_mhi_channels_qcn9274[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct mhi_event_config ath12k_mhi_events_qcn9274[] = {
|
||||
static struct mhi_event_config ath12k_wifi7_mhi_events_qcn9274[] = {
|
||||
{
|
||||
.num_elements = 32,
|
||||
.irq_moderation_ms = 0,
|
||||
@@ -61,18 +61,18 @@ static struct mhi_event_config ath12k_mhi_events_qcn9274[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct mhi_controller_config ath12k_mhi_config_qcn9274 = {
|
||||
const struct mhi_controller_config ath12k_wifi7_mhi_config_qcn9274 = {
|
||||
.max_channels = 30,
|
||||
.timeout_ms = 10000,
|
||||
.use_bounce_buf = false,
|
||||
.buf_len = 0,
|
||||
.num_channels = ARRAY_SIZE(ath12k_mhi_channels_qcn9274),
|
||||
.ch_cfg = ath12k_mhi_channels_qcn9274,
|
||||
.num_events = ARRAY_SIZE(ath12k_mhi_events_qcn9274),
|
||||
.event_cfg = ath12k_mhi_events_qcn9274,
|
||||
.num_channels = ARRAY_SIZE(ath12k_wifi7_mhi_channels_qcn9274),
|
||||
.ch_cfg = ath12k_wifi7_mhi_channels_qcn9274,
|
||||
.num_events = ARRAY_SIZE(ath12k_wifi7_mhi_events_qcn9274),
|
||||
.event_cfg = ath12k_wifi7_mhi_events_qcn9274,
|
||||
};
|
||||
|
||||
static const struct mhi_channel_config ath12k_mhi_channels_wcn7850[] = {
|
||||
static const struct mhi_channel_config ath12k_wifi7_mhi_channels_wcn7850[] = {
|
||||
{
|
||||
.num = 20,
|
||||
.name = "IPCR",
|
||||
@@ -103,7 +103,7 @@ static const struct mhi_channel_config ath12k_mhi_channels_wcn7850[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct mhi_event_config ath12k_mhi_events_wcn7850[] = {
|
||||
static struct mhi_event_config ath12k_wifi7_mhi_events_wcn7850[] = {
|
||||
{
|
||||
.num_elements = 32,
|
||||
.irq_moderation_ms = 0,
|
||||
@@ -126,13 +126,13 @@ static struct mhi_event_config ath12k_mhi_events_wcn7850[] = {
|
||||
},
|
||||
};
|
||||
|
||||
const struct mhi_controller_config ath12k_mhi_config_wcn7850 = {
|
||||
const struct mhi_controller_config ath12k_wifi7_mhi_config_wcn7850 = {
|
||||
.max_channels = 128,
|
||||
.timeout_ms = 2000,
|
||||
.use_bounce_buf = false,
|
||||
.buf_len = 8192,
|
||||
.num_channels = ARRAY_SIZE(ath12k_mhi_channels_wcn7850),
|
||||
.ch_cfg = ath12k_mhi_channels_wcn7850,
|
||||
.num_events = ARRAY_SIZE(ath12k_mhi_events_wcn7850),
|
||||
.event_cfg = ath12k_mhi_events_wcn7850,
|
||||
.num_channels = ARRAY_SIZE(ath12k_wifi7_mhi_channels_wcn7850),
|
||||
.ch_cfg = ath12k_wifi7_mhi_channels_wcn7850,
|
||||
.num_events = ARRAY_SIZE(ath12k_wifi7_mhi_events_wcn7850),
|
||||
.event_cfg = ath12k_wifi7_mhi_events_wcn7850,
|
||||
};
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
|
||||
#ifndef _ATH12K_WIFI7_MHI_H
|
||||
#define _ATH12K_WIFI7_MHI_H
|
||||
extern const struct mhi_controller_config ath12k_mhi_config_qcn9274;
|
||||
extern const struct mhi_controller_config ath12k_mhi_config_wcn7850;
|
||||
extern const struct mhi_controller_config ath12k_wifi7_mhi_config_qcn9274;
|
||||
extern const struct mhi_controller_config ath12k_wifi7_mhi_config_wcn7850;
|
||||
#endif /* _ATH12K_WIFI7_MHI_H */
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "../hif.h"
|
||||
#include "../mhi.h"
|
||||
#include "hw.h"
|
||||
#include "../hal.h"
|
||||
|
||||
#define QCN9274_DEVICE_ID 0x1109
|
||||
#define WCN7850_DEVICE_ID 0x1107
|
||||
@@ -44,7 +45,7 @@ static const struct ath12k_msi_config ath12k_wifi7_msi_config[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct ath12k_pci_ops ath12k_pci_ops_qcn9274 = {
|
||||
static const struct ath12k_pci_ops ath12k_wifi7_pci_ops_qcn9274 = {
|
||||
.wakeup = NULL,
|
||||
.release = NULL,
|
||||
};
|
||||
@@ -63,7 +64,7 @@ static void ath12k_wifi7_pci_bus_release(struct ath12k_base *ab)
|
||||
mhi_device_put(ab_pci->mhi_ctrl->mhi_dev);
|
||||
}
|
||||
|
||||
static const struct ath12k_pci_ops ath12k_pci_ops_wcn7850 = {
|
||||
static const struct ath12k_pci_ops ath12k_wifi7_pci_ops_wcn7850 = {
|
||||
.wakeup = ath12k_wifi7_pci_bus_wake_up,
|
||||
.release = ath12k_wifi7_pci_bus_release,
|
||||
};
|
||||
@@ -99,7 +100,7 @@ static int ath12k_wifi7_pci_probe(struct pci_dev *pdev,
|
||||
case QCN9274_DEVICE_ID:
|
||||
ab_pci->msi_config = &ath12k_wifi7_msi_config[0];
|
||||
ab->static_window_map = true;
|
||||
ab_pci->pci_ops = &ath12k_pci_ops_qcn9274;
|
||||
ab_pci->pci_ops = &ath12k_wifi7_pci_ops_qcn9274;
|
||||
ab->hal_rx_ops = &hal_rx_qcn9274_ops;
|
||||
ath12k_wifi7_pci_read_hw_version(ab, &soc_hw_version_major,
|
||||
&soc_hw_version_minor);
|
||||
@@ -122,7 +123,7 @@ static int ath12k_wifi7_pci_probe(struct pci_dev *pdev,
|
||||
ab->id.bdf_search = ATH12K_BDF_SEARCH_BUS_AND_BOARD;
|
||||
ab_pci->msi_config = &ath12k_wifi7_msi_config[0];
|
||||
ab->static_window_map = false;
|
||||
ab_pci->pci_ops = &ath12k_pci_ops_wcn7850;
|
||||
ab_pci->pci_ops = &ath12k_wifi7_pci_ops_wcn7850;
|
||||
ab->hal_rx_ops = &hal_rx_wcn7850_ops;
|
||||
ath12k_wifi7_pci_read_hw_version(ab, &soc_hw_version_major,
|
||||
&soc_hw_version_minor);
|
||||
@@ -154,7 +155,7 @@ static int ath12k_wifi7_pci_probe(struct pci_dev *pdev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ath12k_pci_driver ath12k_pci_wifi7_driver = {
|
||||
static struct ath12k_pci_driver ath12k_wifi7_pci_driver = {
|
||||
.name = "ath12k_wifi7_pci",
|
||||
.id_table = ath12k_wifi7_pci_id_table,
|
||||
.ops.probe = ath12k_wifi7_pci_probe,
|
||||
@@ -165,7 +166,7 @@ int ath12k_wifi7_pci_init(void)
|
||||
int ret;
|
||||
|
||||
ret = ath12k_pci_register_driver(ATH12K_DEVICE_FAMILY_WIFI7,
|
||||
&ath12k_pci_wifi7_driver);
|
||||
&ath12k_wifi7_pci_driver);
|
||||
if (ret) {
|
||||
pr_err("Failed to register ath12k Wi-Fi 7 driver: %d\n",
|
||||
ret);
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
#include "../core.h"
|
||||
#include "wmi.h"
|
||||
|
||||
void ath12k_wmi_init_qcn9274(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config)
|
||||
void ath12k_wifi7_wmi_init_qcn9274(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config)
|
||||
{
|
||||
config->num_vdevs = ab->num_radios * TARGET_NUM_VDEVS(ab);
|
||||
config->num_peers = ab->num_radios *
|
||||
@@ -58,8 +58,8 @@ void ath12k_wmi_init_qcn9274(struct ath12k_base *ab,
|
||||
config->peer_metadata_ver = ATH12K_PEER_METADATA_V1B;
|
||||
}
|
||||
|
||||
void ath12k_wmi_init_wcn7850(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config)
|
||||
void ath12k_wifi7_wmi_init_wcn7850(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config)
|
||||
{
|
||||
config->num_vdevs = 4;
|
||||
config->num_peers = 16;
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
#ifndef ATH12K_WMI_WIFI7_H
|
||||
#define ATH12K_WMI_WIFI7_H
|
||||
|
||||
void ath12k_wmi_init_qcn9274(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config);
|
||||
void ath12k_wmi_init_wcn7850(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config);
|
||||
void ath12k_wifi7_wmi_init_qcn9274(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config);
|
||||
void ath12k_wifi7_wmi_init_wcn7850(struct ath12k_base *ab,
|
||||
struct ath12k_wmi_resource_config_arg *config);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user