qcacld-3.0: Add changes to support qca6490

Add changes to support qca6490 chip.

Change-Id: I861d88f6c9aba5285eff17c188bf335d50839d56
CRs-Fixed: 2522129
This commit is contained in:
Manjunathappa Prakash 2019-05-13 18:33:01 -07:00 • committed by nshrivas
commit 458f6fe460
15 changed files with 66 additions and 18 deletions

13
Kbuild
View file

@ -1656,6 +1656,10 @@ ifeq ($(CONFIG_CNSS_QCA6390), y)
HIF_CE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/qca6390def.o
endif
ifeq ($(CONFIG_CNSS_QCA6490), y)
HIF_CE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/qca6490def.o
endif
HIF_CE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service_srng.o
else
HIF_CE_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service_legacy.o
@ -1740,6 +1744,9 @@ HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/qca6290/hal_6290.o
else ifeq ($(CONFIG_CNSS_QCA6390), y)
HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/qca6390
HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/qca6390/hal_6390.o
else ifeq ($(CONFIG_CNSS_QCA6490), y)
HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/qca6490
HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/qca6490/hal_6490.o
else
#error "Not 11ax"
endif
@ -1838,6 +1845,10 @@ ifeq ($(CONFIG_CNSS_QCA6390), y)
TARGET_INC += -I$(WLAN_FW_API)/hw/qca6390/v1
endif
ifeq ($(CONFIG_CNSS_QCA6490), y)
TARGET_INC += -I$(WLAN_FW_API)/hw/qca6490/v1
endif
LINUX_INC := -Iinclude
INCS := $(HDD_INC) \
@ -2622,6 +2633,8 @@ cppflags-$(CONFIG_QCA6290_HEADERS_DEF) += -DQCA6290_HEADERS_DEF
cppflags-$(CONFIG_QCA_WIFI_QCA6290) += -DQCA_WIFI_QCA6290
cppflags-$(CONFIG_QCA6390_HEADERS_DEF) += -DQCA6390_HEADERS_DEF
cppflags-$(CONFIG_QCA_WIFI_QCA6390) += -DQCA_WIFI_QCA6390
cppflags-$(CONFIG_QCA6490_HEADERS_DEF) += -DQCA6490_HEADERS_DEF
cppflags-$(CONFIG_QCA_WIFI_QCA6490) += -DQCA_WIFI_QCA6490
cppflags-$(CONFIG_QCA_WIFI_QCA8074) += -DQCA_WIFI_QCA8074
cppflags-$(CONFIG_SCALE_INCLUDES) += -DSCALE_INCLUDES
cppflags-$(CONFIG_QCA_WIFI_QCA8074_VP) += -DQCA_WIFI_QCA8074_VP

View file

@ -172,7 +172,8 @@ struct wlan_ipa_tx_hdr {
* @reserved1: Reserved not used
* @reserved2: Reserved not used
*/
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
struct frag_header {
uint8_t reserved[0];
};
@ -197,7 +198,8 @@ struct frag_header {
* @reserved: Reserved not used
*/
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
struct ipa_header {
uint8_t reserved[0];
};

View file

@ -467,7 +467,8 @@ drop_pkt:
/*
* TODO: Get WDI version through FW capabilities
*/
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
static inline void wlan_ipa_wdi_get_wdi_version(struct wlan_ipa_priv *ipa_ctx)
{
ipa_ctx->wdi_version = IPA_WDI_3;
@ -1578,7 +1579,8 @@ end:
return status;
}
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
/**
* wlan_ipa_uc_handle_first_con() - Handle first uC IPA connection
* @ipa_ctx: IPA context

View file

@ -26,6 +26,21 @@ ifeq ($(CONFIG_CNSS_QCA6390), y)
CONFIG_WMI_DBR_SUPPORT := y
endif
ifeq ($(CONFIG_CNSS_QCA6490), y)
ifeq ($(CONFIG_CNSS_EMULATION), y)
CONFIG_QCA_WIFI_NAPIER_EMULATION := y
endif
CONFIG_LITHIUM := y
CONFIG_WLAN_FEATURE_11AX := y
CONFIG_WLAN_FEATURE_DFS_OFFLOAD := y
ifeq ($(CONFIG_ARCH_SDM845), y)
CONFIG_IPA3 := n
endif
CONFIG_SCALE_INCLUDES := y
CONFIG_HASTINGS_BT_WAR := y
CONFIG_WDI3_IPA_OVER_GSI :=y
endif
ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
CONFIG_QCA_WIFI_SDIO := y
ifndef CONFIG_SDIO_TRANSFER
@ -374,6 +389,11 @@ ifeq ($(CONFIG_CNSS_QCA6390), y)
CONFIG_QCA_WIFI_QCA6390 := y
endif
ifeq ($(CONFIG_CNSS_QCA6490), y)
CONFIG_QCA6490_HEADERS_DEF := y
CONFIG_QCA_WIFI_QCA6490 := y
endif
ifeq ($(CONFIG_LITHIUM), y)
#
# Enable VERBOSE debug INI mechanism

View file

@ -672,14 +672,16 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc)
goto err_wma_close;
}
cds_debug("target_type %d 8074:%d 6290:%d 6390: %d",
cds_debug("target_type %d 8074:%d 6290:%d 6390: %d 6490: %d",
hdd_ctx->target_type,
TARGET_TYPE_QCA8074,
TARGET_TYPE_QCA6290,
TARGET_TYPE_QCA6390);
TARGET_TYPE_QCA6390,
TARGET_TYPE_QCA6490);
if (TARGET_TYPE_QCA6290 == hdd_ctx->target_type ||
TARGET_TYPE_QCA6390 == hdd_ctx->target_type)
TARGET_TYPE_QCA6390 == hdd_ctx->target_type ||
TARGET_TYPE_QCA6490 == hdd_ctx->target_type)
gp_cds_context->dp_soc = cdp_soc_attach(LITHIUM_DP,
gp_cds_context->hif_context, psoc,
gp_cds_context->htc_ctx, gp_cds_context->qdf_ctx,

View file

@ -726,7 +726,8 @@ next_pop:
#endif /* CONFIG_HL_SUPPORT */
#if defined(FEATURE_MONITOR_MODE_SUPPORT)
#if !defined(QCA6290_HEADERS_DEF) && !defined(QCA6390_HEADERS_DEF)
#if !defined(QCA6290_HEADERS_DEF) && !defined(QCA6390_HEADERS_DEF) && \
!defined(QCA6490_HEADERS_DEF)
static void
htt_rx_parse_ppdu_start_status(struct htt_host_rx_desc_base *rx_desc,
struct ieee80211_rx_status *rs)

View file

@ -919,7 +919,8 @@ int htt_rx_msdu_buff_in_order_replenish(htt_pdev_handle pdev, uint32_t num)
* @return network buffer handle to the MPDU
*/
#if defined(FEATURE_MONITOR_MODE_SUPPORT)
#if !defined(QCA6290_HEADERS_DEF) && !defined(QCA6390_HEADERS_DEF)
#if !defined(QCA6290_HEADERS_DEF) && !defined(QCA6390_HEADERS_DEF) && \
!defined(QCA6490_HEADERS_DEF)
qdf_nbuf_t
htt_rx_restitch_mpdu_from_msdus(htt_pdev_handle pdev,
qdf_nbuf_t head_msdu,

View file

@ -38,7 +38,8 @@
(LRO_DESC | LRO_ELIGIBILITY_CHECKED | LRO_TCP_ACK_NUM | \
LRO_TCP_DATA_CSUM | LRO_TCP_SEQ_NUM | LRO_TCP_WIN)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
static qdf_lro_ctx_t wlan_hdd_get_lro_ctx(struct sk_buff *skb)
{
return (qdf_lro_ctx_t)QDF_NBUF_CB_RX_LRO_CTX(skb);

View file

@ -11892,7 +11892,8 @@ int hdd_configure_cds(struct hdd_context *hdd_ctx)
/* Donot disable rx offload on concurrency for lithium based targets */
if (!(hdd_ctx->target_type == TARGET_TYPE_QCA6290 ||
hdd_ctx->target_type == TARGET_TYPE_QCA6390))
hdd_ctx->target_type == TARGET_TYPE_QCA6390 ||
hdd_ctx->target_type == TARGET_TYPE_QCA6490))
if (hdd_ctx->ol_enable)
dp_cbs.hdd_disable_rx_ol_in_concurrency =
hdd_disable_rx_ol_in_concurrency;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -21,7 +21,8 @@
struct ol_txrx_ops;
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
void hdd_monitor_set_rx_monitor_cb(struct ol_txrx_ops *txrx,
ol_txrx_rx_mon_fp rx_monitor_cb);

View file

@ -856,7 +856,8 @@ QDF_STATUS hdd_softap_rx_packet_cbk(void *adapter_context, qdf_nbuf_t rx_buf)
skb->next = NULL;
/* Debug code, remove later */
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_DEBUG,
"%s: skb %pK skb->len %d\n", __func__, skb, skb->len);
#endif

View file

@ -1814,7 +1814,8 @@ int hdd_rx_ol_init(struct hdd_context *hdd_ctx)
bool lithium_based_target = false;
if (hdd_ctx->target_type == TARGET_TYPE_QCA6290 ||
hdd_ctx->target_type == TARGET_TYPE_QCA6390)
hdd_ctx->target_type == TARGET_TYPE_QCA6390 ||
hdd_ctx->target_type == TARGET_TYPE_QCA6490)
lithium_based_target = true;
hdd_resolve_rx_ol_mode(hdd_ctx);

View file

@ -4851,7 +4851,8 @@ returnAfterError:
} /* End lim_send_sa_query_response_frame */
#endif
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
#ifdef WLAN_FEATURE_11AX
#define IS_PE_SESSION_HE_MODE(_session) ((_session)->he_capable)
#else

View file

@ -7335,7 +7335,7 @@ static void wma_set_wifi_start_packet_stats(void *wma_handle,
log_state = ATH_PKTLOG_ANI | ATH_PKTLOG_RCUPDATE | ATH_PKTLOG_RCFIND |
ATH_PKTLOG_RX | ATH_PKTLOG_TX |
ATH_PKTLOG_TEXT | ATH_PKTLOG_SW_EVENT;
#elif defined(QCA_WIFI_QCA6390)
#elif defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490)
log_state = ATH_PKTLOG_RCFIND | ATH_PKTLOG_RCUPDATE |
ATH_PKTLOG_TX | ATH_PKTLOG_LITE_T2H |
ATH_PKTLOG_SW_EVENT | ATH_PKTLOG_RX;

View file

@ -1962,7 +1962,8 @@ static void wma_read_cfg_wepkey(tp_wma_handle wma_handle,
#ifdef FEATURE_WLAN_WAPI
#define WPI_IV_LEN 16
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390)
#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
defined(QCA_WIFI_QCA6490)
/**
* wma_fill_in_wapi_key_params() - update key parameters about wapi
* @key_params: wma key parameters