qcacmn: Remove IP from files
remove IP from code Change-Id: If119a4af213b10aadb9f1344e50b0342e72405c2 CRs-Fixed: 3073864
This commit is contained in:

committed by
Madan Koyyalamudi

parent
2832d48c89
commit
ad2829718c
@@ -129,7 +129,7 @@ static inline int cdp_get_arch_type_from_devid(uint16_t devid)
|
|||||||
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
||||||
return CDP_ARCH_TYPE_LI;
|
return CDP_ARCH_TYPE_LI;
|
||||||
case BERYLLIUM_DP:
|
case BERYLLIUM_DP:
|
||||||
case WCN7850_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
case QCN9224_DEVICE_ID:
|
case QCN9224_DEVICE_ID:
|
||||||
return CDP_ARCH_TYPE_BE;
|
return CDP_ARCH_TYPE_BE;
|
||||||
default:
|
default:
|
||||||
@@ -172,7 +172,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
|
|||||||
case RUMIM2M_DEVICE_ID_NODE3: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE3: /*lithium emulation */
|
||||||
case RUMIM2M_DEVICE_ID_NODE4: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE4: /*lithium emulation */
|
||||||
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
||||||
case WCN7850_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
case QCN9224_DEVICE_ID:
|
case QCN9224_DEVICE_ID:
|
||||||
return dp_soc_attach_wifi3(psoc, ¶ms);
|
return dp_soc_attach_wifi3(psoc, ¶ms);
|
||||||
break;
|
break;
|
||||||
|
@@ -1264,7 +1264,7 @@ static int dp_tx_ipa_uc_attach(struct dp_soc *soc, struct dp_pdev *pdev)
|
|||||||
qdf_mem_dp_tx_skb_inc(qdf_nbuf_get_end_offset(nbuf));
|
qdf_mem_dp_tx_skb_inc(qdf_nbuf_get_end_offset(nbuf));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO - WCN7850 code can directly call the be handler
|
* TODO - KIWI code can directly call the be handler
|
||||||
* instead of hal soc ops.
|
* instead of hal soc ops.
|
||||||
*/
|
*/
|
||||||
hal_rxdma_buff_addr_info_set(soc->hal_soc, ring_entry,
|
hal_rxdma_buff_addr_info_set(soc->hal_soc, ring_entry,
|
||||||
@@ -1903,7 +1903,7 @@ static void dp_ipa_wdi_tx_params(struct dp_soc *soc,
|
|||||||
(uint8_t *)QDF_IPA_WDI_SETUP_INFO_DESC_FORMAT_TEMPLATE(tx);
|
(uint8_t *)QDF_IPA_WDI_SETUP_INFO_DESC_FORMAT_TEMPLATE(tx);
|
||||||
desc_size = sizeof(struct tcl_data_cmd);
|
desc_size = sizeof(struct tcl_data_cmd);
|
||||||
#ifndef DP_BE_WAR
|
#ifndef DP_BE_WAR
|
||||||
/* TODO - WCN7850 does not have these fields */
|
/* TODO - KIWI does not have these fields */
|
||||||
HAL_TX_DESC_SET_TLV_HDR(desc_addr, HAL_TX_TCL_DATA_TAG, desc_size);
|
HAL_TX_DESC_SET_TLV_HDR(desc_addr, HAL_TX_TCL_DATA_TAG, desc_size);
|
||||||
#endif
|
#endif
|
||||||
tcl_desc_ptr = (struct tcl_data_cmd *)
|
tcl_desc_ptr = (struct tcl_data_cmd *)
|
||||||
@@ -1911,7 +1911,7 @@ static void dp_ipa_wdi_tx_params(struct dp_soc *soc,
|
|||||||
tcl_desc_ptr->buf_addr_info.return_buffer_manager =
|
tcl_desc_ptr->buf_addr_info.return_buffer_manager =
|
||||||
HAL_RX_BUF_RBM_SW2_BM(soc->wbm_sw0_bm_id);
|
HAL_RX_BUF_RBM_SW2_BM(soc->wbm_sw0_bm_id);
|
||||||
#ifndef DP_BE_WAR
|
#ifndef DP_BE_WAR
|
||||||
/* TODO - WCN7850 does not have these fields */
|
/* TODO - KIWI does not have these fields */
|
||||||
tcl_desc_ptr->addrx_en = 1; /* Address X search enable in ASE */
|
tcl_desc_ptr->addrx_en = 1; /* Address X search enable in ASE */
|
||||||
tcl_desc_ptr->encap_type = HAL_TX_ENCAP_TYPE_ETHERNET;
|
tcl_desc_ptr->encap_type = HAL_TX_ENCAP_TYPE_ETHERNET;
|
||||||
tcl_desc_ptr->packet_offset = 2; /* padding for alignment */
|
tcl_desc_ptr->packet_offset = 2; /* padding for alignment */
|
||||||
@@ -2006,7 +2006,7 @@ dp_ipa_wdi_tx_smmu_params(struct dp_soc *soc,
|
|||||||
tx_smmu);
|
tx_smmu);
|
||||||
desc_size = sizeof(struct tcl_data_cmd);
|
desc_size = sizeof(struct tcl_data_cmd);
|
||||||
#ifndef DP_BE_WAR
|
#ifndef DP_BE_WAR
|
||||||
/* TODO - WCN7850 does not have these fields */
|
/* TODO - KIWI does not have these fields */
|
||||||
HAL_TX_DESC_SET_TLV_HDR(desc_addr, HAL_TX_TCL_DATA_TAG, desc_size);
|
HAL_TX_DESC_SET_TLV_HDR(desc_addr, HAL_TX_TCL_DATA_TAG, desc_size);
|
||||||
#endif
|
#endif
|
||||||
tcl_desc_ptr = (struct tcl_data_cmd *)
|
tcl_desc_ptr = (struct tcl_data_cmd *)
|
||||||
@@ -2014,7 +2014,7 @@ dp_ipa_wdi_tx_smmu_params(struct dp_soc *soc,
|
|||||||
tcl_desc_ptr->buf_addr_info.return_buffer_manager =
|
tcl_desc_ptr->buf_addr_info.return_buffer_manager =
|
||||||
HAL_RX_BUF_RBM_SW2_BM(soc->wbm_sw0_bm_id);
|
HAL_RX_BUF_RBM_SW2_BM(soc->wbm_sw0_bm_id);
|
||||||
#ifndef DP_BE_WAR
|
#ifndef DP_BE_WAR
|
||||||
/* TODO - WCN7850 does not have these fields */
|
/* TODO - KIWI does not have these fields */
|
||||||
tcl_desc_ptr->addrx_en = 1; /* Address X search enable in ASE */
|
tcl_desc_ptr->addrx_en = 1; /* Address X search enable in ASE */
|
||||||
tcl_desc_ptr->encap_type = HAL_TX_ENCAP_TYPE_ETHERNET;
|
tcl_desc_ptr->encap_type = HAL_TX_ENCAP_TYPE_ETHERNET;
|
||||||
tcl_desc_ptr->packet_offset = 2; /* padding for alignment */
|
tcl_desc_ptr->packet_offset = 2; /* padding for alignment */
|
||||||
|
@@ -4066,7 +4066,7 @@ bool dp_reo_remap_config(struct dp_soc *soc, uint32_t *remap0,
|
|||||||
target_type = hal_get_target_type(soc->hal_soc);
|
target_type = hal_get_target_type(soc->hal_soc);
|
||||||
|
|
||||||
switch (target_type) {
|
switch (target_type) {
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring,
|
hal_compute_reo_remap_ix2_ix3(soc->hal_soc, ring,
|
||||||
soc->num_reo_dest_rings -
|
soc->num_reo_dest_rings -
|
||||||
USE_2_IPA_RX_REO_RINGS, remap1,
|
USE_2_IPA_RX_REO_RINGS, remap1,
|
||||||
@@ -9236,7 +9236,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_5G] = 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;
|
pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
pdev->ch_band_lmac_id_mapping[REG_BAND_2G] = DP_MAC0_LMAC_ID;
|
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_5G] = DP_MAC0_LMAC_ID;
|
||||||
pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
|
pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
|
||||||
@@ -14241,7 +14241,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
|
|||||||
}
|
}
|
||||||
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
||||||
REO_DST_RING_SIZE_QCA6290);
|
REO_DST_RING_SIZE_QCA6290);
|
||||||
soc->ast_override_support = 1;
|
soc->ast_override_support = 1;
|
||||||
@@ -14343,7 +14343,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
|
|||||||
REO_DST_RING_SIZE_QCA6290);
|
REO_DST_RING_SIZE_QCA6290);
|
||||||
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
|
||||||
REO_DST_RING_SIZE_QCA6290);
|
REO_DST_RING_SIZE_QCA6290);
|
||||||
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
||||||
|
@@ -1719,7 +1719,7 @@ void dp_rx_msdu_stats_update(struct dp_soc *soc, qdf_nbuf_t nbuf,
|
|||||||
peer->stats.rx.last_rx_ts = qdf_system_ticks();
|
peer->stats.rx.last_rx_ts = qdf_system_ticks();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO - For WCN7850 this field is present in ring_desc
|
* TODO - For KIWI this field is present in ring_desc
|
||||||
* Try to use ring desc instead of tlv.
|
* Try to use ring desc instead of tlv.
|
||||||
*/
|
*/
|
||||||
is_ampdu = hal_rx_mpdu_info_ampdu_flag_get(soc->hal_soc, rx_tlv_hdr);
|
is_ampdu = hal_rx_mpdu_info_ampdu_flag_get(soc->hal_soc, rx_tlv_hdr);
|
||||||
|
@@ -1104,7 +1104,7 @@ free_nbuf:
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_WCN7850)
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_KIWI)
|
||||||
/**
|
/**
|
||||||
* dp_rx_null_q_handle_invalid_peer_id_exception() - to find exception
|
* dp_rx_null_q_handle_invalid_peer_id_exception() - to find exception
|
||||||
* @soc: pointer to dp_soc struct
|
* @soc: pointer to dp_soc struct
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
* copyright notice and this permission notice appear in all copies.
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
@@ -4455,7 +4455,7 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
@@ -4516,7 +4516,7 @@ static void dp_mon_pdev_per_target_config(struct dp_pdev *pdev)
|
|||||||
|
|
||||||
target_type = hal_get_target_type(soc->hal_soc);
|
target_type = hal_get_target_type(soc->hal_soc);
|
||||||
switch (target_type) {
|
switch (target_type) {
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
mon_pdev->is_tlv_hdr_64_bit = true;
|
mon_pdev->is_tlv_hdr_64_bit = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -4843,7 +4843,7 @@ void dp_mon_ops_register(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
case TARGET_TYPE_QCA8074V2:
|
case TARGET_TYPE_QCA8074V2:
|
||||||
case TARGET_TYPE_QCA6018:
|
case TARGET_TYPE_QCA6018:
|
||||||
@@ -4901,7 +4901,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
case TARGET_TYPE_QCA8074V2:
|
case TARGET_TYPE_QCA8074V2:
|
||||||
case TARGET_TYPE_QCA6018:
|
case TARGET_TYPE_QCA6018:
|
||||||
|
@@ -195,7 +195,7 @@ void *hal_rx_msdu_ext_desc_info_get_ptr_be(void *msdu_details_ptr)
|
|||||||
return HAL_RX_MSDU_EXT_DESC_INFO_GET(msdu_details_ptr);
|
return HAL_RX_MSDU_EXT_DESC_INFO_GET(msdu_details_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_WIFI_WCN7850
|
#ifdef QCA_WIFI_KIWI
|
||||||
static inline uint32_t
|
static inline uint32_t
|
||||||
hal_wbm2sw_release_source_get(void *hal_desc, enum hal_be_wbm_release_dir dir)
|
hal_wbm2sw_release_source_get(void *hal_desc, enum hal_be_wbm_release_dir dir)
|
||||||
{
|
{
|
||||||
|
@@ -329,7 +329,7 @@ static inline uint32_t
|
|||||||
hal_rx_update_rssi_chain(struct hal_rx_ppdu_info *ppdu_info,
|
hal_rx_update_rssi_chain(struct hal_rx_ppdu_info *ppdu_info,
|
||||||
uint8_t *rssi_info_tlv)
|
uint8_t *rssi_info_tlv)
|
||||||
{
|
{
|
||||||
// TODO - Find all these registers for wcn7850
|
// TODO - Find all these registers for kiwi
|
||||||
#if 0
|
#if 0
|
||||||
HAL_RX_PPDU_UPDATE_RSSI(ppdu_info, rssi_info_tlv)
|
HAL_RX_PPDU_UPDATE_RSSI(ppdu_info, rssi_info_tlv)
|
||||||
#endif
|
#endif
|
||||||
@@ -813,7 +813,7 @@ hal_rx_status_get_tlv_info_generic_be(void *rx_tlv_hdr, void *ppduinfo,
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
ppdu_info->rx_status.nss = 0;
|
ppdu_info->rx_status.nss = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1344,7 +1344,7 @@ hal_rx_status_get_tlv_info_generic_be(void *rx_tlv_hdr, void *ppduinfo,
|
|||||||
"RSSI_PRI20_CHAIN3: %d\n", rssi_value);
|
"RSSI_PRI20_CHAIN3: %d\n", rssi_value);
|
||||||
|
|
||||||
#ifdef DP_BE_NOTYET_WAR
|
#ifdef DP_BE_NOTYET_WAR
|
||||||
// TODO - this is not preset for wcn7850
|
// TODO - this is not preset for kiwi
|
||||||
rssi_value = HAL_RX_GET(rssi_info_tlv,
|
rssi_value = HAL_RX_GET(rssi_info_tlv,
|
||||||
RECEIVE_RSSI_INFO, RSSI_PRI20_CHAIN4);
|
RECEIVE_RSSI_INFO, RSSI_PRI20_CHAIN4);
|
||||||
ppdu_info->rx_status.rssi[4] = rssi_value;
|
ppdu_info->rx_status.rssi[4] = rssi_value;
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -28,7 +29,7 @@
|
|||||||
#include "wbm2sw_completion_ring_tx.h"
|
#include "wbm2sw_completion_ring_tx.h"
|
||||||
#include "wbm2sw_completion_ring_rx.h"
|
#include "wbm2sw_completion_ring_rx.h"
|
||||||
|
|
||||||
#if defined(QCA_WIFI_WCN7850)
|
#if defined(QCA_WIFI_KIWI)
|
||||||
#include "msmhwioreg.h"
|
#include "msmhwioreg.h"
|
||||||
#endif
|
#endif
|
||||||
#include <reo_descriptor_threshold_reached_status.h>
|
#include <reo_descriptor_threshold_reached_status.h>
|
||||||
|
@@ -794,7 +794,7 @@ hal_rx_msdu_packet_metadata_get_generic_be(uint8_t *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hal_rx_msdu_start_nss_get_7850(): API to get the NSS
|
* hal_rx_msdu_start_nss_get_kiwi(): API to get the NSS
|
||||||
* Interval from rx_msdu_start
|
* Interval from rx_msdu_start
|
||||||
*
|
*
|
||||||
* @buf: pointer to the start of RX PKT TLV header
|
* @buf: pointer to the start of RX PKT TLV header
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
|
|
||||||
/* calculate the register address offset from bar0 of shadow register x */
|
/* calculate the register address offset from bar0 of shadow register x */
|
||||||
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_WCN7850)
|
defined(QCA_WIFI_KIWI)
|
||||||
#define SHADOW_REGISTER_START_ADDRESS_OFFSET 0x000008FC
|
#define SHADOW_REGISTER_START_ADDRESS_OFFSET 0x000008FC
|
||||||
#define SHADOW_REGISTER_END_ADDRESS_OFFSET \
|
#define SHADOW_REGISTER_END_ADDRESS_OFFSET \
|
||||||
((SHADOW_REGISTER_START_ADDRESS_OFFSET) + (4 * (MAX_SHADOW_REGISTERS)))
|
((SHADOW_REGISTER_START_ADDRESS_OFFSET) + (4 * (MAX_SHADOW_REGISTERS)))
|
||||||
@@ -129,7 +130,7 @@ static inline void hal_reg_write_result_check(struct hal_soc *hal_soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
||||||
!defined(QCA_WIFI_WCN7850)
|
!defined(QCA_WIFI_KIWI)
|
||||||
static inline void hal_lock_reg_access(struct hal_soc *soc,
|
static inline void hal_lock_reg_access(struct hal_soc *soc,
|
||||||
unsigned long *flags)
|
unsigned long *flags)
|
||||||
{
|
{
|
||||||
@@ -234,7 +235,7 @@ static inline void hal_tx_init_cmd_credit_ring(hal_soc_handle_t hal_soc_hdl,
|
|||||||
* that window would be a bug
|
* that window would be a bug
|
||||||
*/
|
*/
|
||||||
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
||||||
!defined(QCA_WIFI_QCA6750) && !defined(QCA_WIFI_WCN7850)
|
!defined(QCA_WIFI_QCA6750) && !defined(QCA_WIFI_KIWI)
|
||||||
static inline void hal_write32_mb(struct hal_soc *hal_soc, uint32_t offset,
|
static inline void hal_write32_mb(struct hal_soc *hal_soc, uint32_t offset,
|
||||||
uint32_t value)
|
uint32_t value)
|
||||||
{
|
{
|
||||||
@@ -466,7 +467,7 @@ static inline void hal_srng_write_address_32_mb(struct hal_soc *hal_soc,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
#if !defined(QCA_WIFI_QCA6390) && !defined(QCA_WIFI_QCA6490) && \
|
||||||
!defined(QCA_WIFI_QCA6750) && !defined(QCA_WIFI_WCN7850)
|
!defined(QCA_WIFI_QCA6750) && !defined(QCA_WIFI_KIWI)
|
||||||
/**
|
/**
|
||||||
* hal_read32_mb() - Access registers to read configuration
|
* hal_read32_mb() - Access registers to read configuration
|
||||||
* @hal_soc: hal soc handle
|
* @hal_soc: hal soc handle
|
||||||
@@ -863,7 +864,7 @@ extern void hal_detach(void *hal_soc);
|
|||||||
#define HAL_SRNG_MSI_INTR 0x00020000
|
#define HAL_SRNG_MSI_INTR 0x00020000
|
||||||
#define HAL_SRNG_CACHED_DESC 0x00040000
|
#define HAL_SRNG_CACHED_DESC 0x00040000
|
||||||
|
|
||||||
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_WCN7850)
|
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_KIWI)
|
||||||
#define HAL_SRNG_PREFETCH_TIMER 1
|
#define HAL_SRNG_PREFETCH_TIMER 1
|
||||||
#else
|
#else
|
||||||
#define HAL_SRNG_PREFETCH_TIMER 0
|
#define HAL_SRNG_PREFETCH_TIMER 0
|
||||||
|
@@ -1183,7 +1183,7 @@ void hal_qca6490_attach(struct hal_soc *hal_soc);
|
|||||||
void hal_qca6390_attach(struct hal_soc *hal_soc);
|
void hal_qca6390_attach(struct hal_soc *hal_soc);
|
||||||
void hal_qca6290_attach(struct hal_soc *hal_soc);
|
void hal_qca6290_attach(struct hal_soc *hal_soc);
|
||||||
void hal_qca8074_attach(struct hal_soc *hal_soc);
|
void hal_qca8074_attach(struct hal_soc *hal_soc);
|
||||||
void hal_wcn7850_attach(struct hal_soc *hal_soc);
|
void hal_kiwi_attach(struct hal_soc *hal_soc);
|
||||||
void hal_qcn9224_attach(struct hal_soc *hal_soc);
|
void hal_qcn9224_attach(struct hal_soc *hal_soc);
|
||||||
/*
|
/*
|
||||||
* hal_soc_to_dp_hal_roc - API to convert hal_soc to opaque
|
* hal_soc_to_dp_hal_roc - API to convert hal_soc to opaque
|
||||||
|
@@ -56,8 +56,8 @@ void hal_qca6750_attach(struct hal_soc *hal);
|
|||||||
#ifdef QCA_WIFI_QCA5018
|
#ifdef QCA_WIFI_QCA5018
|
||||||
void hal_qca5018_attach(struct hal_soc *hal);
|
void hal_qca5018_attach(struct hal_soc *hal);
|
||||||
#endif
|
#endif
|
||||||
#ifdef QCA_WIFI_WCN7850
|
#ifdef QCA_WIFI_KIWI
|
||||||
void hal_wcn7850_attach(struct hal_soc *hal);
|
void hal_kiwi_attach(struct hal_soc *hal);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_VERBOSE_DEBUG
|
#ifdef ENABLE_VERBOSE_DEBUG
|
||||||
@@ -423,10 +423,10 @@ static void hal_target_based_configure(struct hal_soc *hal)
|
|||||||
hal_qca6750_attach(hal);
|
hal_qca6750_attach(hal);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef QCA_WIFI_WCN7850
|
#ifdef QCA_WIFI_KIWI
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
hal->use_register_windowing = true;
|
hal->use_register_windowing = true;
|
||||||
hal_wcn7850_attach(hal);
|
hal_kiwi_attach(hal);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if defined(QCA_WIFI_QCA8074) && defined(WIFI_TARGET_TYPE_3_0)
|
#if defined(QCA_WIFI_QCA8074) && defined(WIFI_TARGET_TYPE_3_0)
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -553,7 +554,7 @@ static inline uint32_t hal_tx_comp_get_buffer_type(void *hal_desc)
|
|||||||
HAL_TX_COMP_BUFFER_OR_DESC_TYPE_LSB;
|
HAL_TX_COMP_BUFFER_OR_DESC_TYPE_LSB;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_WIFI_WCN7850
|
#ifdef QCA_WIFI_KIWI
|
||||||
/**
|
/**
|
||||||
* hal_tx_comp_get_buffer_source() - Get buffer release source value
|
* hal_tx_comp_get_buffer_source() - Get buffer release source value
|
||||||
* @hal_desc: completion ring descriptor pointer
|
* @hal_desc: completion ring descriptor pointer
|
||||||
|
@@ -115,8 +115,8 @@
|
|||||||
#define UNIFIED_WBM_RELEASE_RING_6_TX_RATE_STATS_INFO_TX_RATE_STATS_LSB \
|
#define UNIFIED_WBM_RELEASE_RING_6_TX_RATE_STATS_INFO_TX_RATE_STATS_LSB \
|
||||||
WBM2SW_COMPLETION_RING_TX_TX_RATE_STATS_PPDU_TRANSMISSION_TSF_LSB
|
WBM2SW_COMPLETION_RING_TX_TX_RATE_STATS_PPDU_TRANSMISSION_TSF_LSB
|
||||||
|
|
||||||
#include "hal_7850_tx.h"
|
#include "hal_kiwi_tx.h"
|
||||||
#include "hal_7850_rx.h"
|
#include "hal_kiwi_rx.h"
|
||||||
|
|
||||||
#include "hal_be_rx_tlv.h"
|
#include "hal_be_rx_tlv.h"
|
||||||
|
|
||||||
@@ -125,20 +125,20 @@
|
|||||||
|
|
||||||
#define LINK_DESC_SIZE (NUM_OF_DWORDS_RX_MSDU_LINK << 2)
|
#define LINK_DESC_SIZE (NUM_OF_DWORDS_RX_MSDU_LINK << 2)
|
||||||
|
|
||||||
static uint32_t hal_get_link_desc_size_7850(void)
|
static uint32_t hal_get_link_desc_size_kiwi(void)
|
||||||
{
|
{
|
||||||
return LINK_DESC_SIZE;
|
return LINK_DESC_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_dump_msdu_end_tlv_7850: dump RX msdu_end TLV in structured
|
* hal_rx_dump_msdu_end_tlv_kiwi: dump RX msdu_end TLV in structured
|
||||||
* human readable format.
|
* human readable format.
|
||||||
* @ msdu_end: pointer the msdu_end TLV in pkt.
|
* @ msdu_end: pointer the msdu_end TLV in pkt.
|
||||||
* @ dbg_level: log level.
|
* @ dbg_level: log level.
|
||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void hal_rx_dump_msdu_end_tlv_7850(void *msduend,
|
static void hal_rx_dump_msdu_end_tlv_kiwi(void *msduend,
|
||||||
uint8_t dbg_level)
|
uint8_t dbg_level)
|
||||||
{
|
{
|
||||||
struct rx_msdu_end *msdu_end = (struct rx_msdu_end *)msduend;
|
struct rx_msdu_end *msdu_end = (struct rx_msdu_end *)msduend;
|
||||||
@@ -440,7 +440,7 @@ static void hal_rx_dump_msdu_end_tlv_7850(void *msduend,
|
|||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static inline void hal_rx_dump_pkt_hdr_tlv_7850(struct rx_pkt_tlvs *pkt_tlvs,
|
static inline void hal_rx_dump_pkt_hdr_tlv_kiwi(struct rx_pkt_tlvs *pkt_tlvs,
|
||||||
uint8_t dbg_level)
|
uint8_t dbg_level)
|
||||||
{
|
{
|
||||||
struct rx_pkt_hdr_tlv *pkt_hdr_tlv = &pkt_tlvs->pkt_hdr_tlv;
|
struct rx_pkt_hdr_tlv *pkt_hdr_tlv = &pkt_tlvs->pkt_hdr_tlv;
|
||||||
@@ -463,7 +463,7 @@ static inline void hal_rx_dump_pkt_hdr_tlv_7850(struct rx_pkt_tlvs *pkt_tlvs,
|
|||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static inline void hal_rx_dump_mpdu_start_tlv_7850(void *mpdustart,
|
static inline void hal_rx_dump_mpdu_start_tlv_kiwi(void *mpdustart,
|
||||||
uint8_t dbg_level)
|
uint8_t dbg_level)
|
||||||
{
|
{
|
||||||
struct rx_mpdu_start *mpdu_start = (struct rx_mpdu_start *)mpdustart;
|
struct rx_mpdu_start *mpdu_start = (struct rx_mpdu_start *)mpdustart;
|
||||||
@@ -683,14 +683,14 @@ static inline void hal_rx_dump_mpdu_start_tlv_7850(void *mpdustart,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_dump_pkt_tlvs_7850(): API to print RX Pkt TLVS for 7850
|
* hal_rx_dump_pkt_tlvs_kiwi(): API to print RX Pkt TLVS for kiwi
|
||||||
* @hal_soc_hdl: hal_soc handle
|
* @hal_soc_hdl: hal_soc handle
|
||||||
* @buf: pointer the pkt buffer
|
* @buf: pointer the pkt buffer
|
||||||
* @dbg_level: log level
|
* @dbg_level: log level
|
||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void hal_rx_dump_pkt_tlvs_7850(hal_soc_handle_t hal_soc_hdl,
|
static void hal_rx_dump_pkt_tlvs_kiwi(hal_soc_handle_t hal_soc_hdl,
|
||||||
uint8_t *buf, uint8_t dbg_level)
|
uint8_t *buf, uint8_t dbg_level)
|
||||||
{
|
{
|
||||||
struct rx_pkt_tlvs *pkt_tlvs = (struct rx_pkt_tlvs *)buf;
|
struct rx_pkt_tlvs *pkt_tlvs = (struct rx_pkt_tlvs *)buf;
|
||||||
@@ -698,13 +698,13 @@ static void hal_rx_dump_pkt_tlvs_7850(hal_soc_handle_t hal_soc_hdl,
|
|||||||
struct rx_mpdu_start *mpdu_start =
|
struct rx_mpdu_start *mpdu_start =
|
||||||
&pkt_tlvs->mpdu_start_tlv.rx_mpdu_start;
|
&pkt_tlvs->mpdu_start_tlv.rx_mpdu_start;
|
||||||
|
|
||||||
hal_rx_dump_msdu_end_tlv_7850(msdu_end, dbg_level);
|
hal_rx_dump_msdu_end_tlv_kiwi(msdu_end, dbg_level);
|
||||||
hal_rx_dump_mpdu_start_tlv_7850(mpdu_start, dbg_level);
|
hal_rx_dump_mpdu_start_tlv_kiwi(mpdu_start, dbg_level);
|
||||||
hal_rx_dump_pkt_hdr_tlv_7850(pkt_tlvs, dbg_level);
|
hal_rx_dump_pkt_hdr_tlv_kiwi(pkt_tlvs, dbg_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_tlv_populate_mpdu_desc_info_7850() - Populate the local mpdu_desc_info
|
* hal_rx_tlv_populate_mpdu_desc_info_kiwi() - Populate the local mpdu_desc_info
|
||||||
* elements from the rx tlvs
|
* elements from the rx tlvs
|
||||||
* @buf: start address of rx tlvs [Validated by caller]
|
* @buf: start address of rx tlvs [Validated by caller]
|
||||||
* @mpdu_desc_info_hdl: Buffer to populate the mpdu_dsc_info
|
* @mpdu_desc_info_hdl: Buffer to populate the mpdu_dsc_info
|
||||||
@@ -713,7 +713,7 @@ static void hal_rx_dump_pkt_tlvs_7850(hal_soc_handle_t hal_soc_hdl,
|
|||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
hal_rx_tlv_populate_mpdu_desc_info_7850(uint8_t *buf,
|
hal_rx_tlv_populate_mpdu_desc_info_kiwi(uint8_t *buf,
|
||||||
void *mpdu_desc_info_hdl)
|
void *mpdu_desc_info_hdl)
|
||||||
{
|
{
|
||||||
struct hal_rx_mpdu_desc_info *mpdu_desc_info =
|
struct hal_rx_mpdu_desc_info *mpdu_desc_info =
|
||||||
@@ -731,7 +731,7 @@ hal_rx_tlv_populate_mpdu_desc_info_7850(uint8_t *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_reo_status_get_header_7850 - Process reo desc info
|
* hal_reo_status_get_header_kiwi - Process reo desc info
|
||||||
* @d - Pointer to reo descriptior
|
* @d - Pointer to reo descriptior
|
||||||
* @b - tlv type info
|
* @b - tlv type info
|
||||||
* @h1 - Pointer to hal_reo_status_header where info to be stored
|
* @h1 - Pointer to hal_reo_status_header where info to be stored
|
||||||
@@ -739,7 +739,7 @@ hal_rx_tlv_populate_mpdu_desc_info_7850(uint8_t *buf,
|
|||||||
* Return - none.
|
* Return - none.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void hal_reo_status_get_header_7850(hal_ring_desc_t ring_desc, int b,
|
static void hal_reo_status_get_header_kiwi(hal_ring_desc_t ring_desc, int b,
|
||||||
void *h1)
|
void *h1)
|
||||||
{
|
{
|
||||||
uint64_t *d = (uint64_t *)ring_desc;
|
uint64_t *d = (uint64_t *)ring_desc;
|
||||||
@@ -835,42 +835,42 @@ static void hal_reo_status_get_header_7850(hal_ring_desc_t ring_desc, int b,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void *hal_rx_msdu0_buffer_addr_lsb_7850(void *link_desc_va)
|
void *hal_rx_msdu0_buffer_addr_lsb_kiwi(void *link_desc_va)
|
||||||
{
|
{
|
||||||
return (void *)HAL_RX_MSDU0_BUFFER_ADDR_LSB(link_desc_va);
|
return (void *)HAL_RX_MSDU0_BUFFER_ADDR_LSB(link_desc_va);
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void *hal_rx_msdu_desc_info_ptr_get_7850(void *msdu0)
|
void *hal_rx_msdu_desc_info_ptr_get_kiwi(void *msdu0)
|
||||||
{
|
{
|
||||||
return (void *)HAL_RX_MSDU_DESC_INFO_PTR_GET(msdu0);
|
return (void *)HAL_RX_MSDU_DESC_INFO_PTR_GET(msdu0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void *hal_ent_mpdu_desc_info_7850(void *ent_ring_desc)
|
void *hal_ent_mpdu_desc_info_kiwi(void *ent_ring_desc)
|
||||||
{
|
{
|
||||||
return (void *)HAL_ENT_MPDU_DESC_INFO(ent_ring_desc);
|
return (void *)HAL_ENT_MPDU_DESC_INFO(ent_ring_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void *hal_dst_mpdu_desc_info_7850(void *dst_ring_desc)
|
void *hal_dst_mpdu_desc_info_kiwi(void *dst_ring_desc)
|
||||||
{
|
{
|
||||||
return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc);
|
return (void *)HAL_DST_MPDU_DESC_INFO(dst_ring_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hal_rx_get_tlv_7850(): API to get the tlv
|
* hal_rx_get_tlv_kiwi(): API to get the tlv
|
||||||
*
|
*
|
||||||
* @rx_tlv: TLV data extracted from the rx packet
|
* @rx_tlv: TLV data extracted from the rx packet
|
||||||
* Return: uint8_t
|
* Return: uint8_t
|
||||||
*/
|
*/
|
||||||
static uint8_t hal_rx_get_tlv_7850(void *rx_tlv)
|
static uint8_t hal_rx_get_tlv_kiwi(void *rx_tlv)
|
||||||
{
|
{
|
||||||
return HAL_RX_GET(rx_tlv, PHYRX_RSSI_LEGACY, RECEIVE_BANDWIDTH);
|
return HAL_RX_GET(rx_tlv, PHYRX_RSSI_LEGACY, RECEIVE_BANDWIDTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_proc_phyrx_other_receive_info_tlv_7850()
|
* hal_rx_proc_phyrx_other_receive_info_tlv_kiwi()
|
||||||
* - process other receive info TLV
|
* - process other receive info TLV
|
||||||
* @rx_tlv_hdr: pointer to TLV header
|
* @rx_tlv_hdr: pointer to TLV header
|
||||||
* @ppdu_info: pointer to ppdu_info
|
* @ppdu_info: pointer to ppdu_info
|
||||||
@@ -878,7 +878,7 @@ static uint8_t hal_rx_get_tlv_7850(void *rx_tlv)
|
|||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static
|
static
|
||||||
void hal_rx_proc_phyrx_other_receive_info_tlv_7850(void *rx_tlv_hdr,
|
void hal_rx_proc_phyrx_other_receive_info_tlv_kiwi(void *rx_tlv_hdr,
|
||||||
void *ppdu_info_handle)
|
void *ppdu_info_handle)
|
||||||
{
|
{
|
||||||
uint32_t tlv_tag, tlv_len;
|
uint32_t tlv_tag, tlv_len;
|
||||||
@@ -908,7 +908,7 @@ void hal_rx_proc_phyrx_other_receive_info_tlv_7850(void *rx_tlv_hdr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_reo_config_7850(): Set reo config parameters
|
* hal_reo_config_kiwi(): Set reo config parameters
|
||||||
* @soc: hal soc handle
|
* @soc: hal soc handle
|
||||||
* @reg_val: value to be set
|
* @reg_val: value to be set
|
||||||
* @reo_params: reo parameters
|
* @reo_params: reo parameters
|
||||||
@@ -916,7 +916,7 @@ void hal_rx_proc_phyrx_other_receive_info_tlv_7850(void *rx_tlv_hdr,
|
|||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static
|
static
|
||||||
void hal_reo_config_7850(struct hal_soc *soc,
|
void hal_reo_config_kiwi(struct hal_soc *soc,
|
||||||
uint32_t reg_val,
|
uint32_t reg_val,
|
||||||
struct hal_reo_params *reo_params)
|
struct hal_reo_params *reo_params)
|
||||||
{
|
{
|
||||||
@@ -924,51 +924,51 @@ void hal_reo_config_7850(struct hal_soc *soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_msdu_desc_info_get_ptr_7850() - Get msdu desc info ptr
|
* hal_rx_msdu_desc_info_get_ptr_kiwi() - Get msdu desc info ptr
|
||||||
* @msdu_details_ptr - Pointer to msdu_details_ptr
|
* @msdu_details_ptr - Pointer to msdu_details_ptr
|
||||||
*
|
*
|
||||||
* Return - Pointer to rx_msdu_desc_info structure.
|
* Return - Pointer to rx_msdu_desc_info structure.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void *hal_rx_msdu_desc_info_get_ptr_7850(void *msdu_details_ptr)
|
static void *hal_rx_msdu_desc_info_get_ptr_kiwi(void *msdu_details_ptr)
|
||||||
{
|
{
|
||||||
return HAL_RX_MSDU_DESC_INFO_GET(msdu_details_ptr);
|
return HAL_RX_MSDU_DESC_INFO_GET(msdu_details_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_link_desc_msdu0_ptr_7850 - Get pointer to rx_msdu details
|
* hal_rx_link_desc_msdu0_ptr_kiwi - Get pointer to rx_msdu details
|
||||||
* @link_desc - Pointer to link desc
|
* @link_desc - Pointer to link desc
|
||||||
*
|
*
|
||||||
* Return - Pointer to rx_msdu_details structure
|
* Return - Pointer to rx_msdu_details structure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void *hal_rx_link_desc_msdu0_ptr_7850(void *link_desc)
|
static void *hal_rx_link_desc_msdu0_ptr_kiwi(void *link_desc)
|
||||||
{
|
{
|
||||||
return HAL_RX_LINK_DESC_MSDU0_PTR(link_desc);
|
return HAL_RX_LINK_DESC_MSDU0_PTR(link_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_get_window_address_7850(): Function to get hp/tp address
|
* hal_get_window_address_kiwi(): Function to get hp/tp address
|
||||||
* @hal_soc: Pointer to hal_soc
|
* @hal_soc: Pointer to hal_soc
|
||||||
* @addr: address offset of register
|
* @addr: address offset of register
|
||||||
*
|
*
|
||||||
* Return: modified address offset of register
|
* Return: modified address offset of register
|
||||||
*/
|
*/
|
||||||
static inline qdf_iomem_t hal_get_window_address_7850(struct hal_soc *hal_soc,
|
static inline qdf_iomem_t hal_get_window_address_kiwi(struct hal_soc *hal_soc,
|
||||||
qdf_iomem_t addr)
|
qdf_iomem_t addr)
|
||||||
{
|
{
|
||||||
return addr;
|
return addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_reo_set_err_dst_remap_7850(): Function to set REO error destination
|
* hal_reo_set_err_dst_remap_kiwi(): Function to set REO error destination
|
||||||
* ring remap register
|
* ring remap register
|
||||||
* @hal_soc: Pointer to hal_soc
|
* @hal_soc: Pointer to hal_soc
|
||||||
*
|
*
|
||||||
* Return: none.
|
* Return: none.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
hal_reo_set_err_dst_remap_7850(void *hal_soc)
|
hal_reo_set_err_dst_remap_kiwi(void *hal_soc)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Set REO error 2k jump (error code 5) / OOR (error code 7)
|
* Set REO error 2k jump (error code 5) / OOR (error code 7)
|
||||||
@@ -1017,13 +1017,13 @@ hal_reo_set_err_dst_remap_7850(void *hal_soc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_reo_enable_pn_in_dest_7850() - Set the REO register to enable previous PN
|
* hal_reo_enable_pn_in_dest_kiwi() - Set the REO register to enable previous PN
|
||||||
* for OOR and 2K-jump frames
|
* for OOR and 2K-jump frames
|
||||||
* @hal_soc: HAL SoC handle
|
* @hal_soc: HAL SoC handle
|
||||||
*
|
*
|
||||||
* Return: 1, since the register is set.
|
* Return: 1, since the register is set.
|
||||||
*/
|
*/
|
||||||
static uint8_t hal_reo_enable_pn_in_dest_7850(void *hal_soc)
|
static uint8_t hal_reo_enable_pn_in_dest_kiwi(void *hal_soc)
|
||||||
{
|
{
|
||||||
HAL_REG_WRITE(hal_soc, HWIO_REO_R0_PN_IN_DEST_ADDR(REO_REG_REG_BASE),
|
HAL_REG_WRITE(hal_soc, HWIO_REO_R0_PN_IN_DEST_ADDR(REO_REG_REG_BASE),
|
||||||
1);
|
1);
|
||||||
@@ -1031,7 +1031,7 @@ static uint8_t hal_reo_enable_pn_in_dest_7850(void *hal_soc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_flow_setup_fse_7850() - Setup a flow search entry in HW FST
|
* hal_rx_flow_setup_fse_kiwi() - Setup a flow search entry in HW FST
|
||||||
* @fst: Pointer to the Rx Flow Search Table
|
* @fst: Pointer to the Rx Flow Search Table
|
||||||
* @table_offset: offset into the table where the flow is to be setup
|
* @table_offset: offset into the table where the flow is to be setup
|
||||||
* @flow: Flow Parameters
|
* @flow: Flow Parameters
|
||||||
@@ -1041,7 +1041,7 @@ static uint8_t hal_reo_enable_pn_in_dest_7850(void *hal_soc)
|
|||||||
* Return: Success/Failure
|
* Return: Success/Failure
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
hal_rx_flow_setup_fse_7850(uint8_t *rx_fst, uint32_t table_offset,
|
hal_rx_flow_setup_fse_kiwi(uint8_t *rx_fst, uint32_t table_offset,
|
||||||
uint8_t *rx_flow)
|
uint8_t *rx_flow)
|
||||||
{
|
{
|
||||||
struct hal_rx_fst *fst = (struct hal_rx_fst *)rx_fst;
|
struct hal_rx_fst *fst = (struct hal_rx_fst *)rx_fst;
|
||||||
@@ -1145,7 +1145,7 @@ hal_rx_flow_setup_fse_7850(uint8_t *rx_fst, uint32_t table_offset,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void hal_compute_reo_remap_ix2_ix3_7850(uint32_t *ring_map,
|
void hal_compute_reo_remap_ix2_ix3_kiwi(uint32_t *ring_map,
|
||||||
uint32_t num_rings, uint32_t *remap1,
|
uint32_t num_rings, uint32_t *remap1,
|
||||||
uint32_t *remap2)
|
uint32_t *remap2)
|
||||||
{
|
{
|
||||||
@@ -1241,28 +1241,28 @@ void hal_compute_reo_remap_ix2_ix3_7850(uint32_t *ring_map,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NUM TCL Bank registers in WCN7850 */
|
/* NUM TCL Bank registers in KIWI */
|
||||||
#define HAL_NUM_TCL_BANKS_7850 8
|
#define HAL_NUM_TCL_BANKS_KIWI 8
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_tx_get_num_tcl_banks_7850() - Get number of banks in target
|
* hal_tx_get_num_tcl_banks_kiwi() - Get number of banks in target
|
||||||
*
|
*
|
||||||
* Returns: number of bank
|
* Returns: number of bank
|
||||||
*/
|
*/
|
||||||
static uint8_t hal_tx_get_num_tcl_banks_7850(void)
|
static uint8_t hal_tx_get_num_tcl_banks_kiwi(void)
|
||||||
{
|
{
|
||||||
return HAL_NUM_TCL_BANKS_7850;
|
return HAL_NUM_TCL_BANKS_KIWI;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_reo_prev_pn_get_7850() - Get the previous PN from the REO ring desc.
|
* hal_rx_reo_prev_pn_get_kiwi() - Get the previous PN from the REO ring desc.
|
||||||
* @ring_desc: REO ring descriptor [To be validated by caller ]
|
* @ring_desc: REO ring descriptor [To be validated by caller ]
|
||||||
* @prev_pn: Buffer where the previous PN is to be populated.
|
* @prev_pn: Buffer where the previous PN is to be populated.
|
||||||
* [To be validated by caller]
|
* [To be validated by caller]
|
||||||
*
|
*
|
||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static void hal_rx_reo_prev_pn_get_7850(void *ring_desc,
|
static void hal_rx_reo_prev_pn_get_kiwi(void *ring_desc,
|
||||||
uint64_t *prev_pn)
|
uint64_t *prev_pn)
|
||||||
{
|
{
|
||||||
struct reo_destination_ring_with_pn *reo_desc =
|
struct reo_destination_ring_with_pn *reo_desc =
|
||||||
@@ -1273,14 +1273,14 @@ static void hal_rx_reo_prev_pn_get_7850(void *ring_desc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_cmem_write_7850() - function for CMEM buffer writing
|
* hal_cmem_write_kiwi() - function for CMEM buffer writing
|
||||||
* @hal_soc_hdl: HAL SOC handle
|
* @hal_soc_hdl: HAL SOC handle
|
||||||
* @offset: CMEM address
|
* @offset: CMEM address
|
||||||
* @value: value to write
|
* @value: value to write
|
||||||
*
|
*
|
||||||
* Return: None.
|
* Return: None.
|
||||||
*/
|
*/
|
||||||
static inline void hal_cmem_write_7850(hal_soc_handle_t hal_soc_hdl,
|
static inline void hal_cmem_write_kiwi(hal_soc_handle_t hal_soc_hdl,
|
||||||
uint32_t offset,
|
uint32_t offset,
|
||||||
uint32_t value)
|
uint32_t value)
|
||||||
{
|
{
|
||||||
@@ -1289,52 +1289,63 @@ static inline void hal_cmem_write_7850(hal_soc_handle_t hal_soc_hdl,
|
|||||||
hal_write32_mb(hal, offset, value);
|
hal_write32_mb(hal, offset, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
/**
|
||||||
|
* hal_get_idle_link_bm_id_kiwi() - Get idle link BM id from chid_id
|
||||||
|
* @chip_id: mlo chip_id
|
||||||
|
*
|
||||||
|
* Returns: RBM ID
|
||||||
|
*/
|
||||||
|
static uint8_t hal_get_idle_link_bm_id_kiwi(uint8_t chip_id)
|
||||||
|
{
|
||||||
|
return WBM_IDLE_DESC_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void hal_hw_txrx_ops_attach_kiwi(struct hal_soc *hal_soc)
|
||||||
{
|
{
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
hal_soc->ops->hal_srng_dst_hw_init = hal_srng_dst_hw_init_generic;
|
hal_soc->ops->hal_srng_dst_hw_init = hal_srng_dst_hw_init_generic;
|
||||||
hal_soc->ops->hal_srng_src_hw_init = hal_srng_src_hw_init_generic;
|
hal_soc->ops->hal_srng_src_hw_init = hal_srng_src_hw_init_generic;
|
||||||
hal_soc->ops->hal_get_hw_hptp = hal_get_hw_hptp_generic;
|
hal_soc->ops->hal_get_hw_hptp = hal_get_hw_hptp_generic;
|
||||||
hal_soc->ops->hal_get_window_address = hal_get_window_address_7850;
|
hal_soc->ops->hal_get_window_address = hal_get_window_address_kiwi;
|
||||||
hal_soc->ops->hal_reo_set_err_dst_remap =
|
hal_soc->ops->hal_reo_set_err_dst_remap =
|
||||||
hal_reo_set_err_dst_remap_7850;
|
hal_reo_set_err_dst_remap_kiwi;
|
||||||
hal_soc->ops->hal_reo_enable_pn_in_dest =
|
hal_soc->ops->hal_reo_enable_pn_in_dest =
|
||||||
hal_reo_enable_pn_in_dest_7850;
|
hal_reo_enable_pn_in_dest_kiwi;
|
||||||
|
|
||||||
/* tx */
|
/* tx */
|
||||||
hal_soc->ops->hal_tx_set_dscp_tid_map = hal_tx_set_dscp_tid_map_7850;
|
hal_soc->ops->hal_tx_set_dscp_tid_map = hal_tx_set_dscp_tid_map_kiwi;
|
||||||
hal_soc->ops->hal_tx_update_dscp_tid = hal_tx_update_dscp_tid_7850;
|
hal_soc->ops->hal_tx_update_dscp_tid = hal_tx_update_dscp_tid_kiwi;
|
||||||
hal_soc->ops->hal_tx_comp_get_status =
|
hal_soc->ops->hal_tx_comp_get_status =
|
||||||
hal_tx_comp_get_status_generic_be;
|
hal_tx_comp_get_status_generic_be;
|
||||||
hal_soc->ops->hal_tx_init_cmd_credit_ring =
|
hal_soc->ops->hal_tx_init_cmd_credit_ring =
|
||||||
hal_tx_init_cmd_credit_ring_7850;
|
hal_tx_init_cmd_credit_ring_kiwi;
|
||||||
|
|
||||||
/* rx */
|
/* rx */
|
||||||
hal_soc->ops->hal_rx_msdu_start_nss_get = hal_rx_tlv_nss_get_be;
|
hal_soc->ops->hal_rx_msdu_start_nss_get = hal_rx_tlv_nss_get_be;
|
||||||
hal_soc->ops->hal_rx_mon_hw_desc_get_mpdu_status =
|
hal_soc->ops->hal_rx_mon_hw_desc_get_mpdu_status =
|
||||||
hal_rx_mon_hw_desc_get_mpdu_status_be;
|
hal_rx_mon_hw_desc_get_mpdu_status_be;
|
||||||
hal_soc->ops->hal_rx_get_tlv = hal_rx_get_tlv_7850;
|
hal_soc->ops->hal_rx_get_tlv = hal_rx_get_tlv_kiwi;
|
||||||
hal_soc->ops->hal_rx_pkt_hdr_get = hal_rx_pkt_hdr_get_be;
|
hal_soc->ops->hal_rx_pkt_hdr_get = hal_rx_pkt_hdr_get_be;
|
||||||
hal_soc->ops->hal_rx_proc_phyrx_other_receive_info_tlv =
|
hal_soc->ops->hal_rx_proc_phyrx_other_receive_info_tlv =
|
||||||
hal_rx_proc_phyrx_other_receive_info_tlv_7850;
|
hal_rx_proc_phyrx_other_receive_info_tlv_kiwi;
|
||||||
|
|
||||||
hal_soc->ops->hal_rx_dump_msdu_end_tlv = hal_rx_dump_msdu_end_tlv_7850;
|
hal_soc->ops->hal_rx_dump_msdu_end_tlv = hal_rx_dump_msdu_end_tlv_kiwi;
|
||||||
hal_soc->ops->hal_rx_dump_mpdu_start_tlv =
|
hal_soc->ops->hal_rx_dump_mpdu_start_tlv =
|
||||||
hal_rx_dump_mpdu_start_tlv_7850;
|
hal_rx_dump_mpdu_start_tlv_kiwi;
|
||||||
hal_soc->ops->hal_rx_dump_pkt_tlvs = hal_rx_dump_pkt_tlvs_7850;
|
hal_soc->ops->hal_rx_dump_pkt_tlvs = hal_rx_dump_pkt_tlvs_kiwi;
|
||||||
|
|
||||||
hal_soc->ops->hal_get_link_desc_size = hal_get_link_desc_size_7850;
|
hal_soc->ops->hal_get_link_desc_size = hal_get_link_desc_size_kiwi;
|
||||||
hal_soc->ops->hal_rx_mpdu_start_tid_get = hal_rx_tlv_tid_get_be;
|
hal_soc->ops->hal_rx_mpdu_start_tid_get = hal_rx_tlv_tid_get_be;
|
||||||
hal_soc->ops->hal_rx_msdu_start_reception_type_get =
|
hal_soc->ops->hal_rx_msdu_start_reception_type_get =
|
||||||
hal_rx_tlv_reception_type_get_be;
|
hal_rx_tlv_reception_type_get_be;
|
||||||
hal_soc->ops->hal_rx_msdu_end_da_idx_get =
|
hal_soc->ops->hal_rx_msdu_end_da_idx_get =
|
||||||
hal_rx_msdu_end_da_idx_get_be;
|
hal_rx_msdu_end_da_idx_get_be;
|
||||||
hal_soc->ops->hal_rx_msdu_desc_info_get_ptr =
|
hal_soc->ops->hal_rx_msdu_desc_info_get_ptr =
|
||||||
hal_rx_msdu_desc_info_get_ptr_7850;
|
hal_rx_msdu_desc_info_get_ptr_kiwi;
|
||||||
hal_soc->ops->hal_rx_link_desc_msdu0_ptr =
|
hal_soc->ops->hal_rx_link_desc_msdu0_ptr =
|
||||||
hal_rx_link_desc_msdu0_ptr_7850;
|
hal_rx_link_desc_msdu0_ptr_kiwi;
|
||||||
hal_soc->ops->hal_reo_status_get_header =
|
hal_soc->ops->hal_reo_status_get_header =
|
||||||
hal_reo_status_get_header_7850;
|
hal_reo_status_get_header_kiwi;
|
||||||
hal_soc->ops->hal_rx_status_get_tlv_info =
|
hal_soc->ops->hal_rx_status_get_tlv_info =
|
||||||
hal_rx_status_get_tlv_info_generic_be;
|
hal_rx_status_get_tlv_info_generic_be;
|
||||||
hal_soc->ops->hal_rx_wbm_err_info_get =
|
hal_soc->ops->hal_rx_wbm_err_info_get =
|
||||||
@@ -1391,11 +1402,11 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_soc->ops->hal_rx_hw_desc_get_ppduid_get =
|
hal_soc->ops->hal_rx_hw_desc_get_ppduid_get =
|
||||||
hal_rx_hw_desc_get_ppduid_get_be;
|
hal_rx_hw_desc_get_ppduid_get_be;
|
||||||
hal_soc->ops->hal_rx_msdu0_buffer_addr_lsb =
|
hal_soc->ops->hal_rx_msdu0_buffer_addr_lsb =
|
||||||
hal_rx_msdu0_buffer_addr_lsb_7850;
|
hal_rx_msdu0_buffer_addr_lsb_kiwi;
|
||||||
hal_soc->ops->hal_rx_msdu_desc_info_ptr_get =
|
hal_soc->ops->hal_rx_msdu_desc_info_ptr_get =
|
||||||
hal_rx_msdu_desc_info_ptr_get_7850;
|
hal_rx_msdu_desc_info_ptr_get_kiwi;
|
||||||
hal_soc->ops->hal_ent_mpdu_desc_info = hal_ent_mpdu_desc_info_7850;
|
hal_soc->ops->hal_ent_mpdu_desc_info = hal_ent_mpdu_desc_info_kiwi;
|
||||||
hal_soc->ops->hal_dst_mpdu_desc_info = hal_dst_mpdu_desc_info_7850;
|
hal_soc->ops->hal_dst_mpdu_desc_info = hal_dst_mpdu_desc_info_kiwi;
|
||||||
hal_soc->ops->hal_rx_get_fc_valid = hal_rx_get_fc_valid_be;
|
hal_soc->ops->hal_rx_get_fc_valid = hal_rx_get_fc_valid_be;
|
||||||
hal_soc->ops->hal_rx_get_to_ds_flag = hal_rx_get_to_ds_flag_be;
|
hal_soc->ops->hal_rx_get_to_ds_flag = hal_rx_get_to_ds_flag_be;
|
||||||
hal_soc->ops->hal_rx_get_mac_addr2_valid =
|
hal_soc->ops->hal_rx_get_mac_addr2_valid =
|
||||||
@@ -1403,7 +1414,7 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_soc->ops->hal_rx_get_filter_category =
|
hal_soc->ops->hal_rx_get_filter_category =
|
||||||
hal_rx_get_filter_category_be;
|
hal_rx_get_filter_category_be;
|
||||||
hal_soc->ops->hal_rx_get_ppdu_id = hal_rx_get_ppdu_id_be;
|
hal_soc->ops->hal_rx_get_ppdu_id = hal_rx_get_ppdu_id_be;
|
||||||
hal_soc->ops->hal_reo_config = hal_reo_config_7850;
|
hal_soc->ops->hal_reo_config = hal_reo_config_kiwi;
|
||||||
hal_soc->ops->hal_rx_msdu_flow_idx_get = hal_rx_msdu_flow_idx_get_be;
|
hal_soc->ops->hal_rx_msdu_flow_idx_get = hal_rx_msdu_flow_idx_get_be;
|
||||||
hal_soc->ops->hal_rx_msdu_flow_idx_invalid =
|
hal_soc->ops->hal_rx_msdu_flow_idx_invalid =
|
||||||
hal_rx_msdu_flow_idx_invalid_be;
|
hal_rx_msdu_flow_idx_invalid_be;
|
||||||
@@ -1420,10 +1431,10 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_soc->ops->hal_rx_tlv_get_tcp_chksum =
|
hal_soc->ops->hal_rx_tlv_get_tcp_chksum =
|
||||||
hal_rx_tlv_get_tcp_chksum_be;
|
hal_rx_tlv_get_tcp_chksum_be;
|
||||||
hal_soc->ops->hal_rx_get_rx_sequence = hal_rx_get_rx_sequence_be;
|
hal_soc->ops->hal_rx_get_rx_sequence = hal_rx_get_rx_sequence_be;
|
||||||
#if defined(QCA_WIFI_WCN7850) && defined(WLAN_CFR_ENABLE) && \
|
#if defined(QCA_WIFI_KIWI) && defined(WLAN_CFR_ENABLE) && \
|
||||||
defined(WLAN_ENH_CFR_ENABLE)
|
defined(WLAN_ENH_CFR_ENABLE)
|
||||||
hal_soc->ops->hal_rx_get_bb_info = hal_rx_get_bb_info_7850;
|
hal_soc->ops->hal_rx_get_bb_info = hal_rx_get_bb_info_kiwi;
|
||||||
hal_soc->ops->hal_rx_get_rtt_info = hal_rx_get_rtt_info_7850;
|
hal_soc->ops->hal_rx_get_rtt_info = hal_rx_get_rtt_info_kiwi;
|
||||||
#else
|
#else
|
||||||
hal_soc->ops->hal_rx_get_bb_info = NULL;
|
hal_soc->ops->hal_rx_get_bb_info = NULL;
|
||||||
hal_soc->ops->hal_rx_get_rtt_info = NULL;
|
hal_soc->ops->hal_rx_get_rtt_info = NULL;
|
||||||
@@ -1443,7 +1454,7 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_soc->ops->hal_rx_get_fisa_timeout = hal_rx_get_fisa_timeout_be;
|
hal_soc->ops->hal_rx_get_fisa_timeout = hal_rx_get_fisa_timeout_be;
|
||||||
hal_soc->ops->hal_rx_mpdu_start_tlv_tag_valid =
|
hal_soc->ops->hal_rx_mpdu_start_tlv_tag_valid =
|
||||||
hal_rx_mpdu_start_tlv_tag_valid_be;
|
hal_rx_mpdu_start_tlv_tag_valid_be;
|
||||||
hal_soc->ops->hal_rx_reo_prev_pn_get = hal_rx_reo_prev_pn_get_7850;
|
hal_soc->ops->hal_rx_reo_prev_pn_get = hal_rx_reo_prev_pn_get_kiwi;
|
||||||
|
|
||||||
/* rx - TLV struct offsets */
|
/* rx - TLV struct offsets */
|
||||||
hal_soc->ops->hal_rx_msdu_end_offset_get =
|
hal_soc->ops->hal_rx_msdu_end_offset_get =
|
||||||
@@ -1452,21 +1463,21 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_rx_mpdu_start_offset_get_generic;
|
hal_rx_mpdu_start_offset_get_generic;
|
||||||
hal_soc->ops->hal_rx_pkt_tlv_offset_get =
|
hal_soc->ops->hal_rx_pkt_tlv_offset_get =
|
||||||
hal_rx_pkt_tlv_offset_get_generic;
|
hal_rx_pkt_tlv_offset_get_generic;
|
||||||
hal_soc->ops->hal_rx_flow_setup_fse = hal_rx_flow_setup_fse_7850;
|
hal_soc->ops->hal_rx_flow_setup_fse = hal_rx_flow_setup_fse_kiwi;
|
||||||
hal_soc->ops->hal_rx_flow_get_tuple_info =
|
hal_soc->ops->hal_rx_flow_get_tuple_info =
|
||||||
hal_rx_flow_get_tuple_info_be;
|
hal_rx_flow_get_tuple_info_be;
|
||||||
hal_soc->ops->hal_rx_flow_delete_entry =
|
hal_soc->ops->hal_rx_flow_delete_entry =
|
||||||
hal_rx_flow_delete_entry_be;
|
hal_rx_flow_delete_entry_be;
|
||||||
hal_soc->ops->hal_rx_fst_get_fse_size = hal_rx_fst_get_fse_size_be;
|
hal_soc->ops->hal_rx_fst_get_fse_size = hal_rx_fst_get_fse_size_be;
|
||||||
hal_soc->ops->hal_compute_reo_remap_ix2_ix3 =
|
hal_soc->ops->hal_compute_reo_remap_ix2_ix3 =
|
||||||
hal_compute_reo_remap_ix2_ix3_7850;
|
hal_compute_reo_remap_ix2_ix3_kiwi;
|
||||||
hal_soc->ops->hal_rx_flow_setup_cmem_fse = NULL;
|
hal_soc->ops->hal_rx_flow_setup_cmem_fse = NULL;
|
||||||
hal_soc->ops->hal_rx_flow_get_cmem_fse_ts = NULL;
|
hal_soc->ops->hal_rx_flow_get_cmem_fse_ts = NULL;
|
||||||
hal_soc->ops->hal_rx_flow_get_cmem_fse = NULL;
|
hal_soc->ops->hal_rx_flow_get_cmem_fse = NULL;
|
||||||
hal_soc->ops->hal_cmem_write = hal_cmem_write_7850;
|
hal_soc->ops->hal_cmem_write = hal_cmem_write_kiwi;
|
||||||
hal_soc->ops->hal_rx_msdu_get_reo_destination_indication =
|
hal_soc->ops->hal_rx_msdu_get_reo_destination_indication =
|
||||||
hal_rx_msdu_get_reo_destination_indication_be;
|
hal_rx_msdu_get_reo_destination_indication_be;
|
||||||
hal_soc->ops->hal_tx_get_num_tcl_banks = hal_tx_get_num_tcl_banks_7850;
|
hal_soc->ops->hal_tx_get_num_tcl_banks = hal_tx_get_num_tcl_banks_kiwi;
|
||||||
hal_soc->ops->hal_rx_get_tlv_size = hal_rx_get_tlv_size_generic_be;
|
hal_soc->ops->hal_rx_get_tlv_size = hal_rx_get_tlv_size_generic_be;
|
||||||
hal_soc->ops->hal_rx_msdu_is_wlan_mcast =
|
hal_soc->ops->hal_rx_msdu_is_wlan_mcast =
|
||||||
hal_rx_msdu_is_wlan_mcast_generic_be;
|
hal_rx_msdu_is_wlan_mcast_generic_be;
|
||||||
@@ -1507,7 +1518,7 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_soc->ops->hal_rx_tlv_msdu_len_set =
|
hal_soc->ops->hal_rx_tlv_msdu_len_set =
|
||||||
hal_rx_msdu_start_msdu_len_set_be;
|
hal_rx_msdu_start_msdu_len_set_be;
|
||||||
hal_soc->ops->hal_rx_tlv_populate_mpdu_desc_info =
|
hal_soc->ops->hal_rx_tlv_populate_mpdu_desc_info =
|
||||||
hal_rx_tlv_populate_mpdu_desc_info_7850;
|
hal_rx_tlv_populate_mpdu_desc_info_kiwi;
|
||||||
hal_soc->ops->hal_rx_tlv_get_pn_num =
|
hal_soc->ops->hal_rx_tlv_get_pn_num =
|
||||||
hal_rx_tlv_get_pn_num_be;
|
hal_rx_tlv_get_pn_num_be;
|
||||||
hal_soc->ops->hal_get_reo_ent_desc_qdesc_addr =
|
hal_soc->ops->hal_get_reo_ent_desc_qdesc_addr =
|
||||||
@@ -1516,9 +1527,10 @@ static void hal_hw_txrx_ops_attach_wcn7850(struct hal_soc *hal_soc)
|
|||||||
hal_rx_get_qdesc_addr_be;
|
hal_rx_get_qdesc_addr_be;
|
||||||
hal_soc->ops->hal_set_reo_ent_desc_reo_dest_ind =
|
hal_soc->ops->hal_set_reo_ent_desc_reo_dest_ind =
|
||||||
hal_set_reo_ent_desc_reo_dest_ind_be;
|
hal_set_reo_ent_desc_reo_dest_ind_be;
|
||||||
|
hal_soc->ops->hal_get_idle_link_bm_id = hal_get_idle_link_bm_id_kiwi;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_7850[] = {
|
struct hal_hw_srng_config hw_srng_table_kiwi[] = {
|
||||||
/* TODO: max_rings can populated by querying HW capabilities */
|
/* TODO: max_rings can populated by querying HW capabilities */
|
||||||
{ /* REO_DST */
|
{ /* REO_DST */
|
||||||
.start_ring_id = HAL_SRNG_REO2SW1,
|
.start_ring_id = HAL_SRNG_REO2SW1,
|
||||||
@@ -1932,13 +1944,13 @@ struct hal_hw_srng_config hw_srng_table_7850[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_srng_hw_reg_offset_init_wcn7850() - Initialize the HW srng reg offset
|
* hal_srng_hw_reg_offset_init_kiwi() - Initialize the HW srng reg offset
|
||||||
* applicable only for WCN7850
|
* applicable only for KIWI
|
||||||
* @hal_soc: HAL Soc handle
|
* @hal_soc: HAL Soc handle
|
||||||
*
|
*
|
||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static inline void hal_srng_hw_reg_offset_init_wcn7850(struct hal_soc *hal_soc)
|
static inline void hal_srng_hw_reg_offset_init_kiwi(struct hal_soc *hal_soc)
|
||||||
{
|
{
|
||||||
int32_t *hw_reg_offset = hal_soc->hal_hw_reg_offset;
|
int32_t *hw_reg_offset = hal_soc->hal_hw_reg_offset;
|
||||||
|
|
||||||
@@ -1950,15 +1962,15 @@ static inline void hal_srng_hw_reg_offset_init_wcn7850(struct hal_soc *hal_soc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_wcn7850_attach() - Attach 7850 target specific hal_soc ops,
|
* hal_kiwi_attach() - Attach kiwi target specific hal_soc ops,
|
||||||
* offset and srng table
|
* offset and srng table
|
||||||
*/
|
*/
|
||||||
void hal_wcn7850_attach(struct hal_soc *hal_soc)
|
void hal_kiwi_attach(struct hal_soc *hal_soc)
|
||||||
{
|
{
|
||||||
hal_soc->hw_srng_table = hw_srng_table_7850;
|
hal_soc->hw_srng_table = hw_srng_table_kiwi;
|
||||||
|
|
||||||
hal_srng_hw_reg_offset_init_generic(hal_soc);
|
hal_srng_hw_reg_offset_init_generic(hal_soc);
|
||||||
hal_srng_hw_reg_offset_init_wcn7850(hal_soc);
|
hal_srng_hw_reg_offset_init_kiwi(hal_soc);
|
||||||
hal_hw_txrx_default_ops_attach_be(hal_soc);
|
hal_hw_txrx_default_ops_attach_be(hal_soc);
|
||||||
hal_hw_txrx_ops_attach_wcn7850(hal_soc);
|
hal_hw_txrx_ops_attach_kiwi(hal_soc);
|
||||||
}
|
}
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -16,8 +17,8 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _HAL_7850_RX_H_
|
#ifndef _HAL_KIWI_RX_H_
|
||||||
#define _HAL_7850_RX_H_
|
#define _HAL_KIWI_RX_H_
|
||||||
#include "qdf_util.h"
|
#include "qdf_util.h"
|
||||||
#include "qdf_types.h"
|
#include "qdf_types.h"
|
||||||
#include "qdf_lock.h"
|
#include "qdf_lock.h"
|
||||||
@@ -106,10 +107,10 @@ RX_MSDU_DETAILS_RX_MSDU_DESC_INFO_DETAILS_RESERVED_0A_OFFSET))
|
|||||||
_OFFSET_TO_BYTE_PTR((link_desc),\
|
_OFFSET_TO_BYTE_PTR((link_desc),\
|
||||||
RX_MSDU_LINK_MSDU_0_BUFFER_ADDR_INFO_DETAILS_BUFFER_ADDR_31_0_OFFSET))
|
RX_MSDU_LINK_MSDU_0_BUFFER_ADDR_INFO_DETAILS_BUFFER_ADDR_31_0_OFFSET))
|
||||||
|
|
||||||
#if defined(QCA_WIFI_WCN7850) && defined(WLAN_CFR_ENABLE) && \
|
#if defined(QCA_WIFI_KIWI) && defined(WLAN_CFR_ENABLE) && \
|
||||||
defined(WLAN_ENH_CFR_ENABLE)
|
defined(WLAN_ENH_CFR_ENABLE)
|
||||||
static inline
|
static inline
|
||||||
void hal_rx_get_bb_info_7850(void *rx_tlv,
|
void hal_rx_get_bb_info_kiwi(void *rx_tlv,
|
||||||
void *ppdu_info_hdl)
|
void *ppdu_info_hdl)
|
||||||
{
|
{
|
||||||
struct hal_rx_ppdu_info *ppdu_info = ppdu_info_hdl;
|
struct hal_rx_ppdu_info *ppdu_info = ppdu_info_hdl;
|
||||||
@@ -125,7 +126,7 @@ void hal_rx_get_bb_info_7850(void *rx_tlv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
void hal_rx_get_rtt_info_7850(void *rx_tlv,
|
void hal_rx_get_rtt_info_kiwi(void *rx_tlv,
|
||||||
void *ppdu_info_hdl)
|
void *ppdu_info_hdl)
|
||||||
{
|
{
|
||||||
struct hal_rx_ppdu_info *ppdu_info = ppdu_info_hdl;
|
struct hal_rx_ppdu_info *ppdu_info = ppdu_info_hdl;
|
||||||
@@ -145,7 +146,7 @@ void hal_rx_get_rtt_info_7850(void *rx_tlv,
|
|||||||
RTT_CHE_BUFFER_POINTER_HIGH8);
|
RTT_CHE_BUFFER_POINTER_HIGH8);
|
||||||
|
|
||||||
// TODO Beryllium - Changed reserved8 to reserved3 to avoid
|
// TODO Beryllium - Changed reserved8 to reserved3 to avoid
|
||||||
// compilation failure for wcn7850
|
// compilation failure for kiwi
|
||||||
ppdu_info->cfr_info.chan_capture_status =
|
ppdu_info->cfr_info.chan_capture_status =
|
||||||
HAL_RX_GET(rx_tlv,
|
HAL_RX_GET(rx_tlv,
|
||||||
RX_LOCATION_INFO,
|
RX_LOCATION_INFO,
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
#define NUM_WORDS_PER_DSCP_TID_TABLE (DSCP_TID_TABLE_SIZE / 4)
|
#define NUM_WORDS_PER_DSCP_TID_TABLE (DSCP_TID_TABLE_SIZE / 4)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_tx_set_dscp_tid_map_7850() - Configure default DSCP to TID map table
|
* hal_tx_set_dscp_tid_map_kiwi() - Configure default DSCP to TID map table
|
||||||
* @soc: HAL SoC context
|
* @soc: HAL SoC context
|
||||||
* @map: DSCP-TID mapping table
|
* @map: DSCP-TID mapping table
|
||||||
* @id: mapping table ID - 0-31
|
* @id: mapping table ID - 0-31
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
*
|
*
|
||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static void hal_tx_set_dscp_tid_map_7850(struct hal_soc *hal_soc, uint8_t *map,
|
static void hal_tx_set_dscp_tid_map_kiwi(struct hal_soc *hal_soc, uint8_t *map,
|
||||||
uint8_t id)
|
uint8_t id)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -100,7 +101,7 @@ static void hal_tx_set_dscp_tid_map_7850(struct hal_soc *hal_soc, uint8_t *map,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_tx_update_dscp_tid_7850() - Update the dscp tid map table as updated
|
* hal_tx_update_dscp_tid_kiwi() - Update the dscp tid map table as updated
|
||||||
* by the user
|
* by the user
|
||||||
* @soc: HAL SoC context
|
* @soc: HAL SoC context
|
||||||
* @map: DSCP-TID mapping table
|
* @map: DSCP-TID mapping table
|
||||||
@@ -109,7 +110,7 @@ static void hal_tx_set_dscp_tid_map_7850(struct hal_soc *hal_soc, uint8_t *map,
|
|||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void hal_tx_update_dscp_tid_7850(struct hal_soc *hal_soc, uint8_t tid,
|
static void hal_tx_update_dscp_tid_kiwi(struct hal_soc *hal_soc, uint8_t tid,
|
||||||
uint8_t id, uint8_t dscp)
|
uint8_t id, uint8_t dscp)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
@@ -133,14 +134,14 @@ static void hal_tx_update_dscp_tid_7850(struct hal_soc *hal_soc, uint8_t tid,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_tx_init_cmd_credit_ring_7850() - Initialize command/credit SRNG
|
* hal_tx_init_cmd_credit_ring_kiwi() - Initialize command/credit SRNG
|
||||||
* @hal_soc_hdl: Handle to HAL SoC structure
|
* @hal_soc_hdl: Handle to HAL SoC structure
|
||||||
* @hal_srng: Handle to HAL SRNG structure
|
* @hal_srng: Handle to HAL SRNG structure
|
||||||
*
|
*
|
||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
hal_tx_init_cmd_credit_ring_7850(hal_soc_handle_t hal_soc_hdl,
|
hal_tx_init_cmd_credit_ring_kiwi(hal_soc_handle_t hal_soc_hdl,
|
||||||
hal_ring_handle_t hal_ring_hdl)
|
hal_ring_handle_t hal_ring_hdl)
|
||||||
{
|
{
|
||||||
}
|
}
|
@@ -1472,7 +1472,7 @@ static inline void hal_rx_dump_pkt_hdr_tlv_9224(struct rx_pkt_tlvs *pkt_tlvs,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_rx_dump_pkt_tlvs_9224(): API to print RX Pkt TLVS for 7850
|
* hal_rx_dump_pkt_tlvs_9224(): API to print RX Pkt TLVS QCN9224
|
||||||
* @hal_soc_hdl: hal_soc handle
|
* @hal_soc_hdl: hal_soc handle
|
||||||
* @buf: pointer the pkt buffer
|
* @buf: pointer the pkt buffer
|
||||||
* @dbg_level: log level
|
* @dbg_level: log level
|
||||||
@@ -2347,7 +2347,7 @@ struct hal_hw_srng_config hw_srng_table_9224[] = {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* hal_srng_hw_reg_offset_init_qcn9224() - Initialize the HW srng reg offset
|
* hal_srng_hw_reg_offset_init_qcn9224() - Initialize the HW srng reg offset
|
||||||
* applicable only for WCN7850
|
* applicable only for QCN9224
|
||||||
* @hal_soc: HAL Soc handle
|
* @hal_soc: HAL Soc handle
|
||||||
*
|
*
|
||||||
* Return: None
|
* Return: None
|
||||||
|
@@ -78,7 +78,7 @@ typedef void *hif_handle_t;
|
|||||||
#define HIF_TYPE_QCA6750 23
|
#define HIF_TYPE_QCA6750 23
|
||||||
#define HIF_TYPE_QCA5018 24
|
#define HIF_TYPE_QCA5018 24
|
||||||
#define HIF_TYPE_QCN6122 25
|
#define HIF_TYPE_QCN6122 25
|
||||||
#define HIF_TYPE_WCN7850 26
|
#define HIF_TYPE_KIWI 26
|
||||||
#define HIF_TYPE_QCN9224 27
|
#define HIF_TYPE_QCN9224 27
|
||||||
#define HIF_TYPE_QCA9574 28
|
#define HIF_TYPE_QCA9574 28
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2016,2018-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2016,2018-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -37,7 +38,7 @@ extern struct hostdef_s *QCA6290_HOSTdef;
|
|||||||
extern struct hostdef_s *QCA6390_HOSTdef;
|
extern struct hostdef_s *QCA6390_HOSTdef;
|
||||||
extern struct hostdef_s *QCA6490_HOSTdef;
|
extern struct hostdef_s *QCA6490_HOSTdef;
|
||||||
extern struct hostdef_s *QCA6750_HOSTdef;
|
extern struct hostdef_s *QCA6750_HOSTdef;
|
||||||
extern struct hostdef_s *WCN7850_HOSTdef;
|
extern struct hostdef_s *KIWI_HOSTdef;
|
||||||
|
|
||||||
#ifdef ATH_AHB
|
#ifdef ATH_AHB
|
||||||
extern struct hostdef_s *IPQ4019_HOSTdef;
|
extern struct hostdef_s *IPQ4019_HOSTdef;
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -71,8 +72,8 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Hamilton */
|
/* Hamilton */
|
||||||
#ifndef TARGET_TYPE_WCN7850
|
#ifndef TARGET_TYPE_KIWI
|
||||||
#define TARGET_TYPE_WCN7850 31
|
#define TARGET_TYPE_KIWI 31
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TARGET_TYPE_QCN9224
|
#ifndef TARGET_TYPE_QCN9224
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2016,2018-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2016,2018-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -47,7 +48,7 @@ extern struct targetdef_s *QCA6018_TARGETDEF;
|
|||||||
extern struct targetdef_s *QCA5018_TARGETDEF;
|
extern struct targetdef_s *QCA5018_TARGETDEF;
|
||||||
extern struct targetdef_s *QCN9000_TARGETDEF;
|
extern struct targetdef_s *QCN9000_TARGETDEF;
|
||||||
extern struct targetdef_s *QCN6122_TARGETDEF;
|
extern struct targetdef_s *QCN6122_TARGETDEF;
|
||||||
extern struct targetdef_s *WCN7850_TARGETdef;
|
extern struct targetdef_s *KIWI_TARGETdef;
|
||||||
extern struct targetdef_s *QCN9224_TARGETDEF;
|
extern struct targetdef_s *QCN9224_TARGETDEF;
|
||||||
extern struct targetdef_s *QCA9574_TARGETDEF;
|
extern struct targetdef_s *QCA9574_TARGETDEF;
|
||||||
|
|
||||||
@@ -73,7 +74,7 @@ extern struct ce_reg_def *QCA6018_CE_TARGETDEF;
|
|||||||
extern struct ce_reg_def *QCA5018_CE_TARGETDEF;
|
extern struct ce_reg_def *QCA5018_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *QCN9000_CE_TARGETDEF;
|
extern struct ce_reg_def *QCN9000_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *QCN6122_CE_TARGETDEF;
|
extern struct ce_reg_def *QCN6122_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *WCN7850_CE_TARGETdef;
|
extern struct ce_reg_def *KIWI_CE_TARGETdef;
|
||||||
extern struct ce_reg_def *QCN9224_CE_TARGETDEF;
|
extern struct ce_reg_def *QCN9224_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *QCA9574_CE_TARGETDEF;
|
extern struct ce_reg_def *QCA9574_CE_TARGETDEF;
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2014, 2016-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2014, 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -111,7 +112,7 @@ static ssize_t ath_procfs_diag_read_legacy(struct file *file,
|
|||||||
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_WCN7850))) ||
|
(tgt_info->target_type == TARGET_TYPE_KIWI))) ||
|
||||||
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
||||||
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
||||||
@@ -193,7 +194,7 @@ static ssize_t ath_procfs_diag_write_legacy(struct file *file,
|
|||||||
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_WCN7850))) ||
|
(tgt_info->target_type == TARGET_TYPE_KIWI))) ||
|
||||||
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
||||||
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
||||||
@@ -339,7 +340,7 @@ static ssize_t ath_procfs_diag_read_ext(struct file *file, char __user *buf,
|
|||||||
switch (tgt_info->target_type) {
|
switch (tgt_info->target_type) {
|
||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
if (op_type == OP_TYPE_EXT_DIRECT)
|
if (op_type == OP_TYPE_EXT_DIRECT)
|
||||||
rv = ath_procfs_direct_read(scn,
|
rv = ath_procfs_direct_read(scn,
|
||||||
offset,
|
offset,
|
||||||
@@ -414,7 +415,7 @@ static ssize_t ath_procfs_diag_write_ext(struct file *file,
|
|||||||
switch (tgt_info->target_type) {
|
switch (tgt_info->target_type) {
|
||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
if (op_type == OP_TYPE_EXT_DIRECT)
|
if (op_type == OP_TYPE_EXT_DIRECT)
|
||||||
rv = ath_procfs_direct_write(scn,
|
rv = ath_procfs_direct_write(scn,
|
||||||
offset,
|
offset,
|
||||||
|
@@ -1466,8 +1466,8 @@ static struct CE_pipe_config target_ce_config_wlan_qca6750[] = {
|
|||||||
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define WCN_7850_CE_COUNT 9
|
#define KIWI_CE_COUNT 9
|
||||||
static struct CE_attr host_ce_config_wlan_wcn7850[] = {
|
static struct CE_attr host_ce_config_wlan_kiwi[] = {
|
||||||
/* host->target HTC control and raw streams */
|
/* host->target HTC control and raw streams */
|
||||||
{ /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
|
{ /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
|
||||||
/* target->host HTT + HTC control */
|
/* target->host HTT + HTC control */
|
||||||
@@ -1495,7 +1495,7 @@ static struct CE_attr host_ce_config_wlan_wcn7850[] = {
|
|||||||
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct CE_pipe_config target_ce_config_wlan_wcn7850[] = {
|
static struct CE_pipe_config target_ce_config_wlan_kiwi[] = {
|
||||||
/* host->target HTC control and raw streams */
|
/* host->target HTC control and raw streams */
|
||||||
{ /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
|
{ /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
|
||||||
/* target->host HTT */
|
/* target->host HTT */
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6290) || \
|
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6290) || \
|
||||||
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018) || \
|
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018) || \
|
||||||
defined(QCA_WIFI_WCN7850) || defined(QCA_WIFI_QCA9574)) && \
|
defined(QCA_WIFI_KIWI) || defined(QCA_WIFI_QCA9574)) && \
|
||||||
!defined(QCA_WIFI_SUPPORT_SRNG)
|
!defined(QCA_WIFI_SUPPORT_SRNG)
|
||||||
#define QCA_WIFI_SUPPORT_SRNG
|
#define QCA_WIFI_SUPPORT_SRNG
|
||||||
#endif
|
#endif
|
||||||
@@ -1091,8 +1092,8 @@ static struct service_to_pipe target_service_to_ce_map_qca6750[] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_WCN7850))
|
#if (defined(QCA_WIFI_KIWI))
|
||||||
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
|
static struct service_to_pipe target_service_to_ce_map_kiwi[] = {
|
||||||
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
|
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
|
||||||
{ WMI_DATA_VO_SVC, PIPEDIR_IN, 2, },
|
{ WMI_DATA_VO_SVC, PIPEDIR_IN, 2, },
|
||||||
{ WMI_DATA_BK_SVC, PIPEDIR_OUT, 3, },
|
{ WMI_DATA_BK_SVC, PIPEDIR_OUT, 3, },
|
||||||
@@ -1114,7 +1115,7 @@ static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
|
|||||||
{ 0, 0, 0, },
|
{ 0, 0, 0, },
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
|
static struct service_to_pipe target_service_to_ce_map_kiwi[] = {
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1356,10 +1357,10 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn,
|
|||||||
*sz_tgt_svc_map_to_use =
|
*sz_tgt_svc_map_to_use =
|
||||||
sizeof(target_service_to_ce_map_qca6750);
|
sizeof(target_service_to_ce_map_qca6750);
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
*tgt_svc_map_to_use = target_service_to_ce_map_wcn7850;
|
*tgt_svc_map_to_use = target_service_to_ce_map_kiwi;
|
||||||
*sz_tgt_svc_map_to_use =
|
*sz_tgt_svc_map_to_use =
|
||||||
sizeof(target_service_to_ce_map_wcn7850);
|
sizeof(target_service_to_ce_map_kiwi);
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
*tgt_svc_map_to_use = target_service_to_ce_map_qca8074;
|
*tgt_svc_map_to_use = target_service_to_ce_map_qca8074;
|
||||||
@@ -1628,7 +1629,7 @@ bool ce_srng_based(struct hif_softc *scn)
|
|||||||
case TARGET_TYPE_QCN9000:
|
case TARGET_TYPE_QCN9000:
|
||||||
case TARGET_TYPE_QCN6122:
|
case TARGET_TYPE_QCN6122:
|
||||||
case TARGET_TYPE_QCA5018:
|
case TARGET_TYPE_QCA5018:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_QCN9224:
|
case TARGET_TYPE_QCN9224:
|
||||||
case TARGET_TYPE_QCA9574:
|
case TARGET_TYPE_QCA9574:
|
||||||
return true;
|
return true;
|
||||||
@@ -3913,12 +3914,12 @@ void hif_ce_prepare_config(struct hif_softc *scn)
|
|||||||
|
|
||||||
scn->ce_count = QCA_6750_CE_COUNT;
|
scn->ce_count = QCA_6750_CE_COUNT;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
hif_state->host_ce_config = host_ce_config_wlan_wcn7850;
|
hif_state->host_ce_config = host_ce_config_wlan_kiwi;
|
||||||
hif_state->target_ce_config = target_ce_config_wlan_wcn7850;
|
hif_state->target_ce_config = target_ce_config_wlan_kiwi;
|
||||||
hif_state->target_ce_config_sz =
|
hif_state->target_ce_config_sz =
|
||||||
sizeof(target_ce_config_wlan_wcn7850);
|
sizeof(target_ce_config_wlan_kiwi);
|
||||||
scn->ce_count = WCN_7850_CE_COUNT;
|
scn->ce_count = KIWI_CE_COUNT;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_ADRASTEA:
|
case TARGET_TYPE_ADRASTEA:
|
||||||
if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) {
|
if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) {
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -33,7 +34,7 @@
|
|||||||
#define QCA9377_REV1_1_VERSION 0x5020001
|
#define QCA9377_REV1_1_VERSION 0x5020001
|
||||||
#define QCA6390_V1 0x50040000
|
#define QCA6390_V1 0x50040000
|
||||||
#define QCA6490_V1 0x50060000
|
#define QCA6490_V1 0x50060000
|
||||||
#define WCN7850_V1 0xDEADBEEF // TODO Define this
|
#define KIWI_V1 0xDEADBEEF // TODO Define this
|
||||||
#define WCN3990_v1 0x40000000
|
#define WCN3990_v1 0x40000000
|
||||||
#define WCN3990_v2 0x40010000
|
#define WCN3990_v2 0x40010000
|
||||||
#define WCN3990_v2_1 0x40010002
|
#define WCN3990_v2_1 0x40010002
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -32,7 +33,7 @@
|
|||||||
#define MAX_UNWINDOWED_ADDRESS 0x80000
|
#define MAX_UNWINDOWED_ADDRESS 0x80000
|
||||||
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6750) || \
|
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6750) || \
|
||||||
defined(QCA_WIFI_QCN9224) || defined(QCA_WIFI_WCN7850)
|
defined(QCA_WIFI_QCN9224) || defined(QCA_WIFI_KIWI)
|
||||||
#define WINDOW_ENABLE_BIT 0x40000000
|
#define WINDOW_ENABLE_BIT 0x40000000
|
||||||
#else
|
#else
|
||||||
#define WINDOW_ENABLE_BIT 0x80000000
|
#define WINDOW_ENABLE_BIT 0x80000000
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -360,9 +361,9 @@ static const struct qwlan_hw qwlan_hw_list[] = {
|
|||||||
.name = "QCA9379_REV1_1",
|
.name = "QCA9379_REV1_1",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.id = WCN7850_V1,
|
.id = KIWI_V1,
|
||||||
.subid = 0xE,
|
.subid = 0xE,
|
||||||
.name = "WCN7850_V1",
|
.name = "KIWI_V1",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1029,7 +1030,7 @@ static inline int hif_get_num_active_grp_tasklets(struct hif_softc *scn)
|
|||||||
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
||||||
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
||||||
defined(QCA_WIFI_WCN7850) || defined(QCA_WIFI_QCN9224) || \
|
defined(QCA_WIFI_KIWI) || defined(QCA_WIFI_QCN9224) || \
|
||||||
defined(QCA_WIFI_QCA9574))
|
defined(QCA_WIFI_QCA9574))
|
||||||
/**
|
/**
|
||||||
* hif_get_num_pending_work() - get the number of entries in
|
* hif_get_num_pending_work() - get the number of entries in
|
||||||
@@ -1165,7 +1166,7 @@ uint8_t hif_get_ep_vote_access(struct hif_opaque_softc *hif_ctx,
|
|||||||
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
||||||
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
||||||
defined(QCA_WIFI_WCN7850) || defined(QCA_WIFI_QCN9224) || \
|
defined(QCA_WIFI_KIWI) || defined(QCA_WIFI_QCN9224) || \
|
||||||
defined(QCA_WIFI_QCA9574))
|
defined(QCA_WIFI_QCA9574))
|
||||||
static QDF_STATUS hif_hal_attach(struct hif_softc *scn)
|
static QDF_STATUS hif_hal_attach(struct hif_softc *scn)
|
||||||
{
|
{
|
||||||
@@ -1583,10 +1584,10 @@ int hif_get_device_type(uint32_t device_id,
|
|||||||
hif_info(" *********** QCA6750 *************");
|
hif_info(" *********** QCA6750 *************");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WCN7850_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
*hif_type = HIF_TYPE_WCN7850;
|
*hif_type = HIF_TYPE_KIWI;
|
||||||
*target_type = TARGET_TYPE_WCN7850;
|
*target_type = TARGET_TYPE_KIWI;
|
||||||
hif_info(" *********** WCN7850 *************");
|
hif_info(" *********** KIWI *************");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QCA8074V2_DEVICE_ID:
|
case QCA8074V2_DEVICE_ID:
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -102,7 +103,7 @@
|
|||||||
#define QCA6750_DEVICE_ID (0x1105)
|
#define QCA6750_DEVICE_ID (0x1105)
|
||||||
|
|
||||||
/* TODO: change IDs for Hamilton */
|
/* TODO: change IDs for Hamilton */
|
||||||
#define WCN7850_DEVICE_ID (0x1107)
|
#define KIWI_DEVICE_ID (0x1107)
|
||||||
|
|
||||||
#define ADRASTEA_DEVICE_ID_P2_E12 (0x7021)
|
#define ADRASTEA_DEVICE_ID_P2_E12 (0x7021)
|
||||||
#define AR9887_DEVICE_ID (0x0050)
|
#define AR9887_DEVICE_ID (0x0050)
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -16,7 +17,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(WCN7850_HEADERS_DEF)
|
#if defined(KIWI_HEADERS_DEF)
|
||||||
|
|
||||||
#undef UMAC
|
#undef UMAC
|
||||||
#define WLAN_HEADERS 1
|
#define WLAN_HEADERS 1
|
||||||
@@ -206,20 +207,20 @@
|
|||||||
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES MISSING
|
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES MISSING
|
||||||
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS MISSING
|
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS MISSING
|
||||||
|
|
||||||
#define WCN7850_BOARD_DATA_SZ MISSING
|
#define KIWI_BOARD_DATA_SZ MISSING
|
||||||
#define WCN7850_BOARD_EXT_DATA_SZ MISSING
|
#define KIWI_BOARD_EXT_DATA_SZ MISSING
|
||||||
|
|
||||||
#define MY_TARGET_DEF WCN7850_TARGETdef
|
#define MY_TARGET_DEF KIWI_TARGETdef
|
||||||
#define MY_HOST_DEF WCN7850_HOSTdef
|
#define MY_HOST_DEF KIWI_HOSTdef
|
||||||
#define MY_CEREG_DEF WCN7850_CE_TARGETdef
|
#define MY_CEREG_DEF KIWI_CE_TARGETdef
|
||||||
#define MY_TARGET_BOARD_DATA_SZ WCN7850_BOARD_DATA_SZ
|
#define MY_TARGET_BOARD_DATA_SZ KIWI_BOARD_DATA_SZ
|
||||||
#define MY_TARGET_BOARD_EXT_DATA_SZ WCN7850_BOARD_EXT_DATA_SZ
|
#define MY_TARGET_BOARD_EXT_DATA_SZ KIWI_BOARD_EXT_DATA_SZ
|
||||||
#include "targetdef.h"
|
#include "targetdef.h"
|
||||||
#include "hostdef.h"
|
#include "hostdef.h"
|
||||||
#else
|
#else
|
||||||
#include "common_drv.h"
|
#include "common_drv.h"
|
||||||
#include "targetdef.h"
|
#include "targetdef.h"
|
||||||
#include "hostdef.h"
|
#include "hostdef.h"
|
||||||
struct targetdef_s *WCN7850_TARGETdef;
|
struct targetdef_s *KIWI_TARGETdef;
|
||||||
struct hostdef_s *WCN7850_HOSTdef;
|
struct hostdef_s *KIWI_HOSTdef;
|
||||||
#endif /*WCN7850_HEADERS_DEF */
|
#endif /*KIWI_HEADERS_DEF */
|
@@ -45,7 +45,7 @@
|
|||||||
#include "hif_debug.h"
|
#include "hif_debug.h"
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_WCN7850))
|
defined(QCA_WIFI_KIWI))
|
||||||
#include "hal_api.h"
|
#include "hal_api.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -3239,7 +3239,7 @@ void hif_pci_set_grp_intr_affinity(struct hif_softc *scn,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_WCN7850))
|
defined(QCA_WIFI_KIWI))
|
||||||
uint32_t hif_pci_reg_read32(struct hif_softc *hif_sc,
|
uint32_t hif_pci_reg_read32(struct hif_softc *hif_sc,
|
||||||
uint32_t offset)
|
uint32_t offset)
|
||||||
{
|
{
|
||||||
@@ -3457,7 +3457,7 @@ static bool hif_is_pld_based_target(struct hif_pci_softc *sc,
|
|||||||
case QCA6490_DEVICE_ID:
|
case QCA6490_DEVICE_ID:
|
||||||
case AR6320_DEVICE_ID:
|
case AR6320_DEVICE_ID:
|
||||||
case QCN7605_DEVICE_ID:
|
case QCN7605_DEVICE_ID:
|
||||||
case WCN7850_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -3485,7 +3485,7 @@ static void hif_pci_init_reg_windowing_support(struct hif_pci_softc *sc,
|
|||||||
case TARGET_TYPE_QCN7605:
|
case TARGET_TYPE_QCN7605:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
sc->use_register_windowing = true;
|
sc->use_register_windowing = true;
|
||||||
qdf_spinlock_create(&sc->register_access_lock);
|
qdf_spinlock_create(&sc->register_access_lock);
|
||||||
sc->register_window = 0;
|
sc->register_window = 0;
|
||||||
@@ -3707,7 +3707,7 @@ 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_QCA6490 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_QCN7605 ||
|
tgt_info->target_type == TARGET_TYPE_QCN7605 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_QCA8074 ||
|
tgt_info->target_type == TARGET_TYPE_QCA8074 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_WCN7850) {
|
tgt_info->target_type == TARGET_TYPE_KIWI) {
|
||||||
/*
|
/*
|
||||||
* Need to consider offset's memtype for QCA6290/QCA8074,
|
* Need to consider offset's memtype for QCA6290/QCA8074,
|
||||||
* also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be
|
* also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -181,13 +182,13 @@ void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type)
|
|||||||
break;
|
break;
|
||||||
#endif /* QCA6490_HEADERS_DEF */
|
#endif /* QCA6490_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(WCN7850_HEADERS_DEF)
|
#if defined(KIWI_HEADERS_DEF)
|
||||||
case TARGET_TYPE_WCN7850:
|
case TARGET_TYPE_KIWI:
|
||||||
scn->targetdef = WCN7850_TARGETdef;
|
scn->targetdef = KIWI_TARGETdef;
|
||||||
scn->target_ce_def = WCN7850_CE_TARGETdef;
|
scn->target_ce_def = KIWI_CE_TARGETdef;
|
||||||
hif_info("TARGET_TYPE_WCN7850");
|
hif_info("TARGET_TYPE_KIWI");
|
||||||
break;
|
break;
|
||||||
#endif /* WCN7850_HEADERS_DEF */
|
#endif /* KIWI_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
@@ -325,12 +326,12 @@ void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type)
|
|||||||
break;
|
break;
|
||||||
#endif /* QCA6490_HEADERS_DEF */
|
#endif /* QCA6490_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(WCN7850_HEADERS_DEF)
|
#if defined(KIWI_HEADERS_DEF)
|
||||||
case HIF_TYPE_WCN7850:
|
case HIF_TYPE_KIWI:
|
||||||
scn->hostdef = WCN7850_HOSTdef;
|
scn->hostdef = KIWI_HOSTdef;
|
||||||
hif_info("HIF_TYPE_WCN7850");
|
hif_info("HIF_TYPE_KIWI");
|
||||||
break;
|
break;
|
||||||
#endif /* WCN7850_HEADERS_DEF */
|
#endif /* KIWI_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
case HIF_TYPE_QCA6750:
|
case HIF_TYPE_QCA6750:
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -26,10 +27,10 @@
|
|||||||
#ifndef _TARGET_IF_CFR_6490_H
|
#ifndef _TARGET_IF_CFR_6490_H
|
||||||
#define _TARGET_IF_CFR_6490_H
|
#define _TARGET_IF_CFR_6490_H
|
||||||
|
|
||||||
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_WCN7850)
|
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_KIWI)
|
||||||
#define CFR_MAC_ID_24G 1
|
#define CFR_MAC_ID_24G 1
|
||||||
#define CFR_MAC_ID_5G 0
|
#define CFR_MAC_ID_5G 0
|
||||||
#endif /* QCA_WIFI_QCA6490 */
|
#endif /* QCA_WIFI_QCA6490 || QCA_WIFI_KIWI */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* target_if_cfr_subscribe_ppdu_desc() - subscribe ppdu description
|
* target_if_cfr_subscribe_ppdu_desc() - subscribe ppdu description
|
||||||
|
@@ -495,7 +495,7 @@ target_if_cfr_deinit_pdev(struct wlan_objmgr_psoc *psoc,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WLAN_ENH_CFR_ENABLE
|
#ifdef WLAN_ENH_CFR_ENABLE
|
||||||
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_WCN7850)
|
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_KIWI)
|
||||||
static uint8_t target_if_cfr_get_mac_id(struct wlan_objmgr_pdev *pdev)
|
static uint8_t target_if_cfr_get_mac_id(struct wlan_objmgr_pdev *pdev)
|
||||||
{
|
{
|
||||||
struct wlan_objmgr_vdev *vdev;
|
struct wlan_objmgr_vdev *vdev;
|
||||||
@@ -554,7 +554,7 @@ static uint8_t target_if_cfr_get_pdev_id(struct wlan_objmgr_pdev *pdev)
|
|||||||
{
|
{
|
||||||
return wlan_objmgr_pdev_get_pdev_id(pdev);
|
return wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||||
}
|
}
|
||||||
#endif /* QCA_WIFI_QCA6490 */
|
#endif /* QCA_WIFI_QCA6490 || QCA_WIFI_KIWI */
|
||||||
|
|
||||||
QDF_STATUS target_if_cfr_config_rcc(struct wlan_objmgr_pdev *pdev,
|
QDF_STATUS target_if_cfr_config_rcc(struct wlan_objmgr_pdev *pdev,
|
||||||
struct cfr_rcc_param *rcc_info)
|
struct cfr_rcc_param *rcc_info)
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -42,7 +43,7 @@ static u_int32_t end_magic = 0xBEAFDEAD;
|
|||||||
*
|
*
|
||||||
* Return: signal strength in dBm
|
* Return: signal strength in dBm
|
||||||
*/
|
*/
|
||||||
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_WCN7850)
|
#if defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_KIWI)
|
||||||
static inline
|
static inline
|
||||||
u_int32_t snr_to_signal_strength(uint8_t snr)
|
u_int32_t snr_to_signal_strength(uint8_t snr)
|
||||||
{
|
{
|
||||||
|
@@ -288,7 +288,7 @@
|
|||||||
#define WLAN_CFG_RX_RELEASE_RING_SIZE 1024
|
#define WLAN_CFG_RX_RELEASE_RING_SIZE 1024
|
||||||
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MIN 8
|
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MIN 8
|
||||||
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_WCN7850)
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_KIWI)
|
||||||
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 1024
|
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 1024
|
||||||
#else
|
#else
|
||||||
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 8192
|
#define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 8192
|
||||||
@@ -414,7 +414,7 @@
|
|||||||
#define WLAN_CFG_PKTLOG_MIN_BUFFER_SIZE 1
|
#define WLAN_CFG_PKTLOG_MIN_BUFFER_SIZE 1
|
||||||
#define WLAN_CFG_PKTLOG_MAX_BUFFER_SIZE 10
|
#define WLAN_CFG_PKTLOG_MAX_BUFFER_SIZE 10
|
||||||
|
|
||||||
#ifdef QCA_WIFI_WCN7850
|
#ifdef QCA_WIFI_KIWI
|
||||||
#define WLAN_CFG_NUM_REO_RINGS_MAP 0x7
|
#define WLAN_CFG_NUM_REO_RINGS_MAP 0x7
|
||||||
#else
|
#else
|
||||||
#define WLAN_CFG_NUM_REO_RINGS_MAP 0xF
|
#define WLAN_CFG_NUM_REO_RINGS_MAP 0xF
|
||||||
|
Reference in New Issue
Block a user