qcacmn: Add HIF changes to support WCN7850

HIF changes to support WCN7850 WLAN chipset.

Change-Id: I02cd0702839a09b13a10b95237519f900a4cb7f9
This commit is contained in:
Jinwei Chen
2020-12-18 02:54:41 -08:00
committed by snandini
parent d4119f1507
commit 017c719e4b
14 changed files with 378 additions and 13 deletions

View File

@@ -53,8 +53,8 @@
#endif
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6290) || \
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018)) && \
!defined(QCA_WIFI_SUPPORT_SRNG)
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018) || \
defined(QCA_WIFI_WCN7850)) && !defined(QCA_WIFI_SUPPORT_SRNG)
#define QCA_WIFI_SUPPORT_SRNG
#endif
@@ -693,6 +693,33 @@ static struct service_to_pipe target_service_to_ce_map_qca6750[] = {
};
#endif
#if (defined(QCA_WIFI_WCN7850))
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_VO_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_BK_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_BK_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_BE_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_BE_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_VI_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_VI_SVC, PIPEDIR_IN, 2, },
{ WMI_CONTROL_SVC, PIPEDIR_OUT, 3, },
{ WMI_CONTROL_SVC, PIPEDIR_IN, 2, },
{ HTC_CTRL_RSVD_SVC, PIPEDIR_OUT, 0, },
{ HTC_CTRL_RSVD_SVC, PIPEDIR_IN, 2, },
{ HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, },
{ HTT_DATA_MSG_SVC, PIPEDIR_IN, 1, },
#ifdef WLAN_FEATURE_WMI_DIAG_OVER_CE7
{ PACKET_LOG_SVC, PIPEDIR_IN, 5, },
#endif
/* (Additions here) */
{ 0, 0, 0, },
};
#else
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
};
#endif
static struct service_to_pipe target_service_to_ce_map_ar900b[] = {
{
WMI_DATA_VO_SVC,
@@ -895,6 +922,11 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn,
*sz_tgt_svc_map_to_use =
sizeof(target_service_to_ce_map_qca6750);
break;
case TARGET_TYPE_WCN7850:
*tgt_svc_map_to_use = target_service_to_ce_map_wcn7850;
*sz_tgt_svc_map_to_use =
sizeof(target_service_to_ce_map_wcn7850);
break;
case TARGET_TYPE_QCA8074:
*tgt_svc_map_to_use = target_service_to_ce_map_qca8074;
*sz_tgt_svc_map_to_use =
@@ -1152,6 +1184,7 @@ bool ce_srng_based(struct hif_softc *scn)
case TARGET_TYPE_QCN9000:
case TARGET_TYPE_QCN6122:
case TARGET_TYPE_QCA5018:
case TARGET_TYPE_WCN7850:
return true;
default:
return false;
@@ -3394,6 +3427,13 @@ void hif_ce_prepare_config(struct hif_softc *scn)
scn->ce_count = QCA_6750_CE_COUNT;
break;
case TARGET_TYPE_WCN7850:
hif_state->host_ce_config = host_ce_config_wlan_wcn7850;
hif_state->target_ce_config = target_ce_config_wlan_wcn7850;
hif_state->target_ce_config_sz =
sizeof(target_ce_config_wlan_wcn7850);
scn->ce_count = WCN_7850_CE_COUNT;
break;
case TARGET_TYPE_ADRASTEA:
if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) {
hif_state->host_ce_config =