Message ID | 20220406094107.17878-3-quic_mpubbise@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | add support for WCN6750 | expand |
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> writes: > Add HW params for WCN6750. It is similar to the HW params > of QCA6390 with few differences wrt DP APIs and register > offsets. > > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1 > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 > Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1 > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> > --- > drivers/net/wireless/ath/ath11k/core.c | 61 ++++++++++++++++++++++++++ > drivers/net/wireless/ath/ath11k/core.h | 1 + > drivers/net/wireless/ath/ath11k/qmi.h | 2 + > 3 files changed, 64 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c > index cbac1919867f..8695f999acb2 100644 > --- a/drivers/net/wireless/ath/ath11k/core.c > +++ b/drivers/net/wireless/ath/ath11k/core.c > @@ -427,6 +427,67 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { > .dbr_debug_support = false, > .global_reset = true, > }, > + { > + .name = "wcn6750 hw1.0", > + .hw_rev = ATH11K_HW_WCN6750_HW10, > + .fw = { > + .dir = "WCN6750/hw1.0", > + .board_size = 256 * 1024, > + .cal_offset = 128 * 1024, > + }, > + .max_radios = 1, > + .bdf_addr = 0x4B0C0000, > + .ring_mask = &ath11k_hw_ring_mask_qca6390, > + .internal_sleep_clock = false, > + .qmi_service_ins_id = ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_WCN6750, > + .host_ce_config = ath11k_host_ce_config_qca6390, > + .ce_count = 9, > + .target_ce_config = ath11k_target_ce_config_wlan_qca6390, > + .target_ce_count = 9, > + .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, > + .svc_to_ce_map_len = 14, > + .rfkill_pin = 0, > + .rfkill_cfg = 0, > + .rfkill_on_level = 0, > + .single_pdev_only = true, > + .rxdma1_enable = false, > + .num_rxmda_per_pdev = 1, > + .rx_mac_buf_ring = true, > + .vdev_start_delay = true, > + .htt_peer_map_v2 = false, > + > + .spectral = { > + .fft_sz = 0, > + .fft_pad_sz = 0, > + .summary_pad_sz = 0, > + .fft_hdr_len = 0, > + .max_fft_bins = 0, > + }, > + > + .interface_modes = BIT(NL80211_IFTYPE_STATION) | > + BIT(NL80211_IFTYPE_AP), > + .supports_monitor = false, > + .supports_shadow_regs = true, > + .idle_ps = true, > + .supports_sta_ps = true, > + .cold_boot_calib = false, > + .fw_mem_mode = 0, > + .num_vdevs = 16 + 1, > + .num_peers = 512, > + .supports_suspend = false, > + .supports_regdb = true, > + .fix_l1ss = false, > + .credit_flow = true, > + .max_tx_ring = DP_TCL_NUM_RING_MAX_QCA6390, > + .hal_params = &ath11k_hw_hal_params_qca6390, > + .supports_dynamic_smps_6ghz = false, > + .alloc_cacheable_memory = false, > + .supports_rssi_stats = true, > + .fw_wmi_diag_event = false, > + .current_cc_support = true, > + .dbr_debug_support = false, > + .global_reset = false, > + }, In the pending branch I added: + .bios_sar_capa = NULL,
On 4/27/2022 10:51 AM, Kalle Valo wrote: > Manikanta Pubbisetty <quic_mpubbise@quicinc.com> writes: > >> Add HW params for WCN6750. It is similar to the HW params >> of QCA6390 with few differences wrt DP APIs and register >> offsets. >> >> Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1 >> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 >> Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1 >> Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1 >> >> Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> >> --- >> drivers/net/wireless/ath/ath11k/core.c | 61 ++++++++++++++++++++++++++ >> drivers/net/wireless/ath/ath11k/core.h | 1 + >> drivers/net/wireless/ath/ath11k/qmi.h | 2 + >> 3 files changed, 64 insertions(+) >> >> diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c >> index cbac1919867f..8695f999acb2 100644 >> --- a/drivers/net/wireless/ath/ath11k/core.c >> +++ b/drivers/net/wireless/ath/ath11k/core.c >> @@ -427,6 +427,67 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { >> .dbr_debug_support = false, >> .global_reset = true, >> }, >> + { >> + .name = "wcn6750 hw1.0", >> + .hw_rev = ATH11K_HW_WCN6750_HW10, >> + .fw = { >> + .dir = "WCN6750/hw1.0", >> + .board_size = 256 * 1024, >> + .cal_offset = 128 * 1024, >> + }, >> + .max_radios = 1, >> + .bdf_addr = 0x4B0C0000, >> + .ring_mask = &ath11k_hw_ring_mask_qca6390, >> + .internal_sleep_clock = false, >> + .qmi_service_ins_id = ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_WCN6750, >> + .host_ce_config = ath11k_host_ce_config_qca6390, >> + .ce_count = 9, >> + .target_ce_config = ath11k_target_ce_config_wlan_qca6390, >> + .target_ce_count = 9, >> + .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, >> + .svc_to_ce_map_len = 14, >> + .rfkill_pin = 0, >> + .rfkill_cfg = 0, >> + .rfkill_on_level = 0, >> + .single_pdev_only = true, >> + .rxdma1_enable = false, >> + .num_rxmda_per_pdev = 1, >> + .rx_mac_buf_ring = true, >> + .vdev_start_delay = true, >> + .htt_peer_map_v2 = false, >> + >> + .spectral = { >> + .fft_sz = 0, >> + .fft_pad_sz = 0, >> + .summary_pad_sz = 0, >> + .fft_hdr_len = 0, >> + .max_fft_bins = 0, >> + }, >> + >> + .interface_modes = BIT(NL80211_IFTYPE_STATION) | >> + BIT(NL80211_IFTYPE_AP), >> + .supports_monitor = false, >> + .supports_shadow_regs = true, >> + .idle_ps = true, >> + .supports_sta_ps = true, >> + .cold_boot_calib = false, >> + .fw_mem_mode = 0, >> + .num_vdevs = 16 + 1, >> + .num_peers = 512, >> + .supports_suspend = false, >> + .supports_regdb = true, >> + .fix_l1ss = false, >> + .credit_flow = true, >> + .max_tx_ring = DP_TCL_NUM_RING_MAX_QCA6390, >> + .hal_params = &ath11k_hw_hal_params_qca6390, >> + .supports_dynamic_smps_6ghz = false, >> + .alloc_cacheable_memory = false, >> + .supports_rssi_stats = true, >> + .fw_wmi_diag_event = false, >> + .current_cc_support = true, >> + .dbr_debug_support = false, >> + .global_reset = false, >> + }, > > In the pending branch I added: > > + .bios_sar_capa = NULL, > This is the only other change I had in V5, thanks for adding this. Manikanta
diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c index cbac1919867f..8695f999acb2 100644 --- a/drivers/net/wireless/ath/ath11k/core.c +++ b/drivers/net/wireless/ath/ath11k/core.c @@ -427,6 +427,67 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .dbr_debug_support = false, .global_reset = true, }, + { + .name = "wcn6750 hw1.0", + .hw_rev = ATH11K_HW_WCN6750_HW10, + .fw = { + .dir = "WCN6750/hw1.0", + .board_size = 256 * 1024, + .cal_offset = 128 * 1024, + }, + .max_radios = 1, + .bdf_addr = 0x4B0C0000, + .ring_mask = &ath11k_hw_ring_mask_qca6390, + .internal_sleep_clock = false, + .qmi_service_ins_id = ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_WCN6750, + .host_ce_config = ath11k_host_ce_config_qca6390, + .ce_count = 9, + .target_ce_config = ath11k_target_ce_config_wlan_qca6390, + .target_ce_count = 9, + .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, + .svc_to_ce_map_len = 14, + .rfkill_pin = 0, + .rfkill_cfg = 0, + .rfkill_on_level = 0, + .single_pdev_only = true, + .rxdma1_enable = false, + .num_rxmda_per_pdev = 1, + .rx_mac_buf_ring = true, + .vdev_start_delay = true, + .htt_peer_map_v2 = false, + + .spectral = { + .fft_sz = 0, + .fft_pad_sz = 0, + .summary_pad_sz = 0, + .fft_hdr_len = 0, + .max_fft_bins = 0, + }, + + .interface_modes = BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_AP), + .supports_monitor = false, + .supports_shadow_regs = true, + .idle_ps = true, + .supports_sta_ps = true, + .cold_boot_calib = false, + .fw_mem_mode = 0, + .num_vdevs = 16 + 1, + .num_peers = 512, + .supports_suspend = false, + .supports_regdb = true, + .fix_l1ss = false, + .credit_flow = true, + .max_tx_ring = DP_TCL_NUM_RING_MAX_QCA6390, + .hal_params = &ath11k_hw_hal_params_qca6390, + .supports_dynamic_smps_6ghz = false, + .alloc_cacheable_memory = false, + .supports_rssi_stats = true, + .fw_wmi_diag_event = false, + .current_cc_support = true, + .dbr_debug_support = false, + .global_reset = false, + }, }; static inline struct ath11k_pdev *ath11k_core_get_single_pdev(struct ath11k_base *ab) diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h index fa299bfb4efc..e63b01ba68c8 100644 --- a/drivers/net/wireless/ath/ath11k/core.h +++ b/drivers/net/wireless/ath/ath11k/core.h @@ -140,6 +140,7 @@ enum ath11k_hw_rev { ATH11K_HW_QCN9074_HW10, ATH11K_HW_WCN6855_HW20, ATH11K_HW_WCN6855_HW21, + ATH11K_HW_WCN6750_HW10, }; enum ath11k_firmware_mode { diff --git a/drivers/net/wireless/ath/ath11k/qmi.h b/drivers/net/wireless/ath/ath11k/qmi.h index 61678de56ac7..872646c3b3ed 100644 --- a/drivers/net/wireless/ath/ath11k/qmi.h +++ b/drivers/net/wireless/ath/ath11k/qmi.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause-Clear */ /* * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022, Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef ATH11K_QMI_H @@ -20,6 +21,7 @@ #define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCA6390 0x01 #define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_IPQ8074 0x02 #define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCN9074 0x07 +#define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_WCN6750 0x03 #define ATH11K_QMI_WLANFW_MAX_TIMESTAMP_LEN_V01 32 #define ATH11K_QMI_RESP_LEN_MAX 8192 #define ATH11K_QMI_WLANFW_MAX_NUM_MEM_SEG_V01 52
Add HW params for WCN6750. It is similar to the HW params of QCA6390 with few differences wrt DP APIs and register offsets. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1 Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1 Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1 Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> --- drivers/net/wireless/ath/ath11k/core.c | 61 ++++++++++++++++++++++++++ drivers/net/wireless/ath/ath11k/core.h | 1 + drivers/net/wireless/ath/ath11k/qmi.h | 2 + 3 files changed, 64 insertions(+)