From 6d056b995959706221d2d31bbcf7d67655583840 Mon Sep 17 00:00:00 2001 From: Srinivas Girigowda Date: Mon, 20 Jun 2022 20:45:46 -0700 Subject: [PATCH] qcacmn: Add support for Mango device id Add support for Mango device id. Change-Id: I2b32a39e258caab408723db77f132af364dc6b04 CRs-Fixed: 3232512 --- dp/inc/cdp_txrx_cmn_reg.h | 4 +++- dp/wifi3.0/dp_main.c | 3 +++ dp/wifi3.0/monitor/dp_mon.c | 4 ++++ hal/wifi3.0/be/hal_be_api_mon.h | 1 + hal/wifi3.0/hal_srng.c | 1 + hif/inc/hif.h | 1 + hif/inc/target_type.h | 7 +++++- hif/src/ath_procfs.c | 8 +++++-- hif/src/ce/ce_main.c | 4 ++++ hif/src/hif_hw_version.h | 3 ++- hif/src/hif_main.c | 11 +++++++++ hif/src/hif_main.h | 1 + hif/src/pcie/if_pci.c | 5 +++- hif/src/regtable.c | 11 +++++++++ target_if/cfr/src/target_if_cfr.c | 13 ++++++++--- target_if/spectral/target_if_spectral.c | 24 +++++++++++++------- umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h | 1 + 17 files changed, 85 insertions(+), 17 deletions(-) diff --git a/dp/inc/cdp_txrx_cmn_reg.h b/dp/inc/cdp_txrx_cmn_reg.h index 0386e30f0d..4881c40b7c 100644 --- a/dp/inc/cdp_txrx_cmn_reg.h +++ b/dp/inc/cdp_txrx_cmn_reg.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -131,6 +131,7 @@ static inline int cdp_get_arch_type_from_devid(uint16_t devid) case BERYLLIUM_DP: case KIWI_DEVICE_ID: case QCN9224_DEVICE_ID: + case MANGO_DEVICE_ID: return CDP_ARCH_TYPE_BE; default: return CDP_ARCH_TYPE_NONE; @@ -174,6 +175,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid, case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */ case KIWI_DEVICE_ID: case QCN9224_DEVICE_ID: + case MANGO_DEVICE_ID: return dp_soc_attach_wifi3(psoc, ¶ms); break; default: diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 013e67732d..9f300222f7 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -9951,6 +9951,7 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id, pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID; break; case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: pdev->ch_band_lmac_id_mapping[REG_BAND_2G] = DP_MAC0_LMAC_ID; pdev->ch_band_lmac_id_mapping[REG_BAND_5G] = DP_MAC0_LMAC_ID; pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID; @@ -15474,6 +15475,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc) soc->wlan_cfg_ctx->rxdma1_enable = 0; break; case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx, REO_DST_RING_SIZE_QCA6290); soc->ast_override_support = 1; @@ -15576,6 +15578,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc) soc->wlan_cfg_ctx->rxdma1_enable = 0; break; case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx, REO_DST_RING_SIZE_QCA6290); soc->wlan_cfg_ctx->rxdma1_enable = 0; diff --git a/dp/wifi3.0/monitor/dp_mon.c b/dp/wifi3.0/monitor/dp_mon.c index 5dff31153d..adaf0a8d39 100644 --- a/dp/wifi3.0/monitor/dp_mon.c +++ b/dp/wifi3.0/monitor/dp_mon.c @@ -4917,6 +4917,7 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc) case TARGET_TYPE_QCA6490: case TARGET_TYPE_QCA6750: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: /* do nothing */ break; case TARGET_TYPE_QCA8074: @@ -4978,6 +4979,7 @@ static void dp_mon_pdev_per_target_config(struct dp_pdev *pdev) target_type = hal_get_target_type(soc->hal_soc); switch (target_type) { case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: mon_pdev->is_tlv_hdr_64_bit = true; break; default: @@ -5595,6 +5597,7 @@ void dp_mon_ops_register(struct dp_soc *soc) case TARGET_TYPE_QCA6490: case TARGET_TYPE_QCA6750: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: case TARGET_TYPE_QCA8074: case TARGET_TYPE_QCA8074V2: case TARGET_TYPE_QCA6018: @@ -5653,6 +5656,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc) case TARGET_TYPE_QCA6490: case TARGET_TYPE_QCA6750: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: case TARGET_TYPE_QCA8074: case TARGET_TYPE_QCA8074V2: case TARGET_TYPE_QCA6018: diff --git a/hal/wifi3.0/be/hal_be_api_mon.h b/hal/wifi3.0/be/hal_be_api_mon.h index 9842b5c767..767af2969e 100644 --- a/hal/wifi3.0/be/hal_be_api_mon.h +++ b/hal/wifi3.0/be/hal_be_api_mon.h @@ -2266,6 +2266,7 @@ hal_rx_status_get_tlv_info_generic_be(void *rx_tlv_hdr, void *ppduinfo, case TARGET_TYPE_QCA6490: case TARGET_TYPE_QCA6750: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: ppdu_info->rx_status.nss = 0; break; default: diff --git a/hal/wifi3.0/hal_srng.c b/hal/wifi3.0/hal_srng.c index 08e500a19e..3373829f79 100644 --- a/hal/wifi3.0/hal_srng.c +++ b/hal/wifi3.0/hal_srng.c @@ -440,6 +440,7 @@ static void hal_target_based_configure(struct hal_soc *hal) #endif #ifdef QCA_WIFI_KIWI case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: hal->use_register_windowing = true; hal_kiwi_attach(hal); break; diff --git a/hif/inc/hif.h b/hif/inc/hif.h index ca82a526f9..8510b89d4b 100644 --- a/hif/inc/hif.h +++ b/hif/inc/hif.h @@ -80,6 +80,7 @@ typedef void *hif_handle_t; #define HIF_TYPE_KIWI 26 #define HIF_TYPE_QCN9224 27 #define HIF_TYPE_QCA9574 28 +#define HIF_TYPE_MANGO 29 #define DMA_COHERENT_MASK_DEFAULT 37 diff --git a/hif/inc/target_type.h b/hif/inc/target_type.h index 4057d1712d..cf4dd49098 100644 --- a/hif/inc/target_type.h +++ b/hif/inc/target_type.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2013-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -85,6 +85,11 @@ extern "C" { #define TARGET_TYPE_QCA9574 33 #endif +/* Yamuna */ +#ifndef TARGET_TYPE_MANGO +#define TARGET_TYPE_MANGO 34 +#endif + #ifdef __cplusplus } #endif diff --git a/hif/src/ath_procfs.c b/hif/src/ath_procfs.c index f6ee93badd..50e1f0c0f3 100644 --- a/hif/src/ath_procfs.c +++ b/hif/src/ath_procfs.c @@ -112,7 +112,8 @@ static ssize_t ath_procfs_diag_read_legacy(struct file *file, (tgt_info->target_type == TARGET_TYPE_QCA5018) || (tgt_info->target_type == TARGET_TYPE_QCA6018) || (tgt_info->target_type == TARGET_TYPE_QCN7605) || - (tgt_info->target_type == TARGET_TYPE_KIWI))) || + (tgt_info->target_type == TARGET_TYPE_KIWI) || + (tgt_info->target_type == TARGET_TYPE_MANGO))) || (scn->bus_type == QDF_BUS_TYPE_IPCI && (tgt_info->target_type == TARGET_TYPE_QCA6750)) || ((scn->bus_type == QDF_BUS_TYPE_USB) && @@ -194,7 +195,8 @@ static ssize_t ath_procfs_diag_write_legacy(struct file *file, (tgt_info->target_type == TARGET_TYPE_QCA5018) || (tgt_info->target_type == TARGET_TYPE_QCA6018) || (tgt_info->target_type == TARGET_TYPE_QCN7605) || - (tgt_info->target_type == TARGET_TYPE_KIWI))) || + (tgt_info->target_type == TARGET_TYPE_KIWI) || + (tgt_info->target_type == TARGET_TYPE_MANGO))) || (scn->bus_type == QDF_BUS_TYPE_IPCI && (tgt_info->target_type == TARGET_TYPE_QCA6750)) || ((scn->bus_type == QDF_BUS_TYPE_USB) && @@ -341,6 +343,7 @@ static ssize_t ath_procfs_diag_read_ext(struct file *file, char __user *buf, case TARGET_TYPE_QCA6390: case TARGET_TYPE_QCA6490: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: if (op_type == OP_TYPE_EXT_DIRECT) rv = ath_procfs_direct_read(scn, offset, @@ -416,6 +419,7 @@ static ssize_t ath_procfs_diag_write_ext(struct file *file, case TARGET_TYPE_QCA6390: case TARGET_TYPE_QCA6490: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: if (op_type == OP_TYPE_EXT_DIRECT) rv = ath_procfs_direct_write(scn, offset, diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index 5fdaf1101a..0dafe93dce 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -1365,6 +1365,7 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn, sizeof(target_service_to_ce_map_qca6750); break; case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: *tgt_svc_map_to_use = target_service_to_ce_map_kiwi; *sz_tgt_svc_map_to_use = sizeof(target_service_to_ce_map_kiwi); @@ -1674,6 +1675,7 @@ bool ce_srng_based(struct hif_softc *scn) case TARGET_TYPE_QCN6122: case TARGET_TYPE_QCA5018: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: case TARGET_TYPE_QCN9224: case TARGET_TYPE_QCA9574: return true; @@ -3804,6 +3806,7 @@ int hif_wlan_enable(struct hif_softc *scn) switch (tgt_info->target_type) { case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: hif_prepare_hal_shadow_reg_cfg_v3(scn, &cfg); break; default: @@ -4052,6 +4055,7 @@ void hif_ce_prepare_config(struct hif_softc *scn) scn->ce_count = QCA_6750_CE_COUNT; break; case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: hif_state->host_ce_config = host_ce_config_wlan_kiwi; hif_state->target_ce_config = target_ce_config_wlan_kiwi; hif_state->target_ce_config_sz = diff --git a/hif/src/hif_hw_version.h b/hif/src/hif_hw_version.h index ea05cbdf36..7825d31e61 100644 --- a/hif/src/hif_hw_version.h +++ b/hif/src/hif_hw_version.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -40,6 +40,7 @@ #define WCN3990_v2_1 0x40010002 #define WCN3998 0x40030001 #define AR900B_REV_2 0x1 +#define MANGO_V1 0xDEADBEEF // TODO Define this struct qwlan_hw { u32 id; diff --git a/hif/src/hif_main.c b/hif/src/hif_main.c index 8640ff7930..4b8331aa3f 100644 --- a/hif/src/hif_main.c +++ b/hif/src/hif_main.c @@ -362,6 +362,11 @@ static const struct qwlan_hw qwlan_hw_list[] = { .id = KIWI_V1, .subid = 0xE, .name = "KIWI_V1", + }, + { + .id = MANGO_V1, + .subid = 0xF, + .name = "MANGO_V1", } }; @@ -1614,6 +1619,12 @@ int hif_get_device_type(uint32_t device_id, hif_info(" *********** KIWI *************"); break; + case MANGO_DEVICE_ID: + *hif_type = HIF_TYPE_MANGO; + *target_type = TARGET_TYPE_MANGO; + hif_info(" *********** MANGO *************"); + break; + case QCA8074V2_DEVICE_ID: *hif_type = HIF_TYPE_QCA8074V2; *target_type = TARGET_TYPE_QCA8074V2; diff --git a/hif/src/hif_main.h b/hif/src/hif_main.h index f0ee68d18d..6b0f11d3f1 100644 --- a/hif/src/hif_main.h +++ b/hif/src/hif_main.h @@ -97,6 +97,7 @@ /* TODO: change IDs for HastingsPrime */ #define QCA6490_EMULATION_DEVICE_ID (0x010a) #define QCA6490_DEVICE_ID (0x1103) +#define MANGO_DEVICE_ID (0x110a) /* TODO: change IDs for Moselle */ #define QCA6750_EMULATION_DEVICE_ID (0x010c) diff --git a/hif/src/pcie/if_pci.c b/hif/src/pcie/if_pci.c index 5fe186cac1..eef470925e 100644 --- a/hif/src/pcie/if_pci.c +++ b/hif/src/pcie/if_pci.c @@ -3668,6 +3668,7 @@ static bool hif_is_pld_based_target(struct hif_pci_softc *sc, case AR6320_DEVICE_ID: case QCN7605_DEVICE_ID: case KIWI_DEVICE_ID: + case MANGO_DEVICE_ID: return true; } return false; @@ -3696,6 +3697,7 @@ static void hif_pci_init_reg_windowing_support(struct hif_pci_softc *sc, case TARGET_TYPE_QCA6490: case TARGET_TYPE_QCA6390: case TARGET_TYPE_KIWI: + case TARGET_TYPE_MANGO: sc->use_register_windowing = true; qdf_spinlock_create(&sc->register_access_lock); sc->register_window = 0; @@ -3917,7 +3919,8 @@ int hif_pci_addr_in_boundary(struct hif_softc *scn, uint32_t offset) tgt_info->target_type == TARGET_TYPE_QCA6490 || tgt_info->target_type == TARGET_TYPE_QCN7605 || tgt_info->target_type == TARGET_TYPE_QCA8074 || - tgt_info->target_type == TARGET_TYPE_KIWI) { + tgt_info->target_type == TARGET_TYPE_KIWI || + tgt_info->target_type == TARGET_TYPE_MANGO) { /* * Need to consider offset's memtype for QCA6290/QCA8074, * also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be diff --git a/hif/src/regtable.c b/hif/src/regtable.c index dc6a8d1c88..748da0f564 100644 --- a/hif/src/regtable.c +++ b/hif/src/regtable.c @@ -180,6 +180,12 @@ void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type) scn->target_ce_def = KIWI_CE_TARGETdef; hif_info("TARGET_TYPE_KIWI"); break; + + case TARGET_TYPE_MANGO: + scn->targetdef = KIWI_TARGETdef; + scn->target_ce_def = KIWI_CE_TARGETdef; + hif_info("TARGET_TYPE_MANGO"); + break; #endif /* KIWI_HEADERS_DEF */ #if defined(QCA6750_HEADERS_DEF) @@ -316,6 +322,11 @@ void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type) scn->hostdef = KIWI_HOSTdef; hif_info("HIF_TYPE_KIWI"); break; + + case HIF_TYPE_MANGO: + scn->hostdef = KIWI_HOSTdef; + hif_info("HIF_TYPE_MANGO"); + break; #endif /* KIWI_HEADERS_DEF */ #if defined(QCA6750_HEADERS_DEF) diff --git a/target_if/cfr/src/target_if_cfr.c b/target_if/cfr/src/target_if_cfr.c index 2d83cbe85c..188bc37796 100644 --- a/target_if/cfr/src/target_if_cfr.c +++ b/target_if/cfr/src/target_if_cfr.c @@ -250,7 +250,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr, else if (target_type == TARGET_TYPE_QCN9224 || target_type == TARGET_TYPE_QCA6490 || target_type == TARGET_TYPE_QCA6750 || - target_type == TARGET_TYPE_KIWI) + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) hdr->cmn.cfr_metadata_version = CFR_META_VERSION_7; else if ((target_type == TARGET_TYPE_QCA6018) || ((target_type == TARGET_TYPE_QCA5018) && (!is_rcc))) @@ -272,6 +273,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr, hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MOSELLE; else if (target_type == TARGET_TYPE_KIWI) hdr->cmn.chip_type = CFR_CAPTURE_RADIO_KIWI; + else if (target_type == TARGET_TYPE_MANGO) + hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MANGO; else hdr->cmn.chip_type = CFR_CAPTURE_RADIO_CYP; } @@ -337,6 +340,8 @@ static QDF_STATUS target_if_cfr_init_target(struct wlan_objmgr_psoc *psoc, cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MOSELLE; else if (target == TARGET_TYPE_KIWI) cfr_pdev->chip_type = CFR_CAPTURE_RADIO_KIWI; + else if (target == TARGET_TYPE_MANGO) + cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MANGO; return status; } @@ -377,7 +382,8 @@ target_if_cfr_init_pdev(struct wlan_objmgr_psoc *psoc, if (target_type == TARGET_TYPE_QCA6490 || target_type == TARGET_TYPE_QCA6750 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { status = target_if_cfr_init_target(psoc, pdev, target_type); } else if (target_type == TARGET_TYPE_ADRASTEA) { @@ -401,7 +407,8 @@ target_if_cfr_deinit_pdev(struct wlan_objmgr_psoc *psoc, if (target_type == TARGET_TYPE_QCA6490 || target_type == TARGET_TYPE_QCA6750 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { status = target_if_cfr_deinit_target(psoc, pdev); } else if (target_type == TARGET_TYPE_ADRASTEA) { status = cfr_adrastea_deinit_pdev(psoc, pdev); diff --git a/target_if/spectral/target_if_spectral.c b/target_if/spectral/target_if_spectral.c index cf2bca89a3..11ca543ad3 100644 --- a/target_if/spectral/target_if_spectral.c +++ b/target_if/spectral/target_if_spectral.c @@ -2116,7 +2116,8 @@ target_if_init_spectral_param_min_max( target_type == TARGET_TYPE_QCN6122 || target_type == TARGET_TYPE_QCA5018 || target_type == TARGET_TYPE_QCA6490 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { param_min_max->fft_size_max[CH_WIDTH_40MHZ] = SPECTRAL_PARAM_FFT_SIZE_MAX_GEN3_QCN9000; param_min_max->fft_size_max[CH_WIDTH_80MHZ] = @@ -2476,7 +2477,8 @@ target_if_init_spectral_capability(struct target_if_spectral *spectral, if (target_type == TARGET_TYPE_QCN9000 || target_type == TARGET_TYPE_QCN6122 || target_type == TARGET_TYPE_QCA6490 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { pcap->num_detectors_160mhz = 1; pcap->num_detectors_80p80mhz = 1; pcap->num_detectors_320mhz = 0; @@ -3133,7 +3135,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar, target_type == TARGET_TYPE_QCA5018 || target_type == TARGET_TYPE_QCA6750 || target_type == TARGET_TYPE_QCA6490 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { swar->fftbin_size_war = SPECTRAL_FFTBIN_SIZE_WAR_2BYTE_TO_1BYTE; rparams->hw_fft_bin_width = 2; } else if (target_type == TARGET_TYPE_QCA8074 || @@ -3155,7 +3158,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar, target_type == TARGET_TYPE_QCN9000 || target_type == TARGET_TYPE_QCA6490 || target_type == TARGET_TYPE_QCN9224 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { swar->inband_fftbin_size_adj = 1; swar->null_fftbin_adj = 1; } else { @@ -3198,7 +3202,8 @@ target_if_spectral_report_params_init( target_type == TARGET_TYPE_QCA6750 || target_type == TARGET_TYPE_QCA6490 || target_type == TARGET_TYPE_QCN9224 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { rparams->version = SPECTRAL_REPORT_FORMAT_VERSION_2; rparams->num_spectral_detectors = NUM_SPECTRAL_DETECTORS_GEN3_V2; @@ -3237,7 +3242,8 @@ target_if_spectral_report_params_init( target_type == TARGET_TYPE_QCN6122 || target_type == TARGET_TYPE_QCN9224 || target_type == TARGET_TYPE_QCA6490 || - target_type == TARGET_TYPE_KIWI) { + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) { rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_1] = SPECTRAL_SCAN_MODE_AGILE; rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_2] = @@ -3660,7 +3666,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev) target_type == TARGET_TYPE_QCN9000 || target_type == TARGET_TYPE_QCA6750 || target_type == TARGET_TYPE_QCN9224 || - target_type == TARGET_TYPE_KIWI) + target_type == TARGET_TYPE_KIWI || + target_type == TARGET_TYPE_MANGO) spectral->direct_dma_support = true; target_if_spectral_report_params_init(&spectral->rparams, @@ -3681,7 +3688,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev) (target_type == TARGET_TYPE_QCA6490) || (target_type == TARGET_TYPE_QCN9224) || (target_type == TARGET_TYPE_QCA6750) || - (target_type == TARGET_TYPE_KIWI)) { + (target_type == TARGET_TYPE_KIWI) || + (target_type == TARGET_TYPE_MANGO)) { spectral->spectral_gen = SPECTRAL_GEN3; spectral->hdr_sig_exp = SPECTRAL_PHYERR_SIGNATURE_GEN3; spectral->tag_sscan_summary_exp = diff --git a/umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h b/umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h index fc08bff71b..922bfa7e3d 100644 --- a/umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h +++ b/umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h @@ -119,6 +119,7 @@ enum cfrradiotype { CFR_CAPTURE_RADIO_ALDER, CFR_CAPTURE_RADIO_WAIKIKI, CFR_CAPTURE_RADIO_KIWI, + CFR_CAPTURE_RADIO_MANGO, CFR_CAPTURE_RADIO_MAX = 0xFF, };