qcacmn: compiling WDI3 version of IPA

Depreciated IPA APIs are currently getting compiled.
To fix this, adding linux kernel version check

Change-Id: I2288db34c09d60047c67a5df9081de08a6c2f62b
CRs-Fixed: 2927413
This commit is contained in:
Ananya Gupta
2021-04-26 16:38:58 +05:30
committed by Madan Koyyalamudi
parent 8394348196
commit 9f3b9ca800
8 changed files with 119 additions and 104 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2016-2021 The Linux Foundation. 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
@@ -24,7 +24,8 @@
#define _CDP_TXRX_IPA_H_ #define _CDP_TXRX_IPA_H_
#ifdef IPA_OFFLOAD #ifdef IPA_OFFLOAD
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
#include <qdf_ipa_wdi3.h> #include <qdf_ipa_wdi3.h>
#else #else
#include <qdf_ipa.h> #include <qdf_ipa.h>
@@ -359,7 +360,9 @@ cdp_ipa_disable_autonomy(ol_txrx_soc_handle soc, uint8_t pdev_id)
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
/** /**
* cdp_ipa_setup() - Setup and connect IPA pipes * cdp_ipa_setup() - Setup and connect IPA pipes
* @soc: data path soc handle * @soc: data path soc handle

View File

@@ -33,7 +33,8 @@
#include <wdi_event_api.h> #include <wdi_event_api.h>
#ifdef IPA_OFFLOAD #ifdef IPA_OFFLOAD
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
#include <qdf_ipa_wdi3.h> #include <qdf_ipa_wdi3.h>
#else #else
#include <qdf_ipa.h> #include <qdf_ipa.h>
@@ -1586,7 +1587,9 @@ struct cdp_ipa_ops {
uint8_t pdev_id); uint8_t pdev_id);
QDF_STATUS (*ipa_disable_autonomy)(struct cdp_soc_t *soc_hdl, QDF_STATUS (*ipa_disable_autonomy)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id); uint8_t pdev_id);
#ifdef CONFIG_IPA_WDI_UNIFIED_API
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
QDF_STATUS (*ipa_setup)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, QDF_STATUS (*ipa_setup)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
void *ipa_i2w_cb, void *ipa_w2i_cb, void *ipa_i2w_cb, void *ipa_w2i_cb,
void *ipa_wdi_meter_notifier_cb, void *ipa_wdi_meter_notifier_cb,

View File

@@ -1759,7 +1759,8 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
/* This should be configurable per H/W configuration enable status */ /* This should be configurable per H/W configuration enable status */
#define L3_HEADER_PADDING 2 #define L3_HEADER_PADDING 2
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
#ifndef QCA_LL_TX_FLOW_CONTROL_V2 #ifndef QCA_LL_TX_FLOW_CONTROL_V2
static inline void dp_setup_mcc_sys_pipes( static inline void dp_setup_mcc_sys_pipes(

View File

@@ -159,7 +159,8 @@ QDF_STATUS dp_ipa_enable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id);
*/ */
QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id); QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id);
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
/** /**
* dp_ipa_setup() - Setup and connect IPA pipes * dp_ipa_setup() - Setup and connect IPA pipes
* @soc_hdl - data path soc handle * @soc_hdl - data path soc handle

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. 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
@@ -286,6 +286,8 @@ typedef void (*qdf_ipa_ready_cb)(void *user_data);
/* /*
* Resume / Suspend * Resume / Suspend
*/ */
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
static inline int qdf_ipa_reset_endpoint(u32 clnt_hdl) static inline int qdf_ipa_reset_endpoint(u32 clnt_hdl)
{ {
return __qdf_ipa_reset_endpoint(clnt_hdl); return __qdf_ipa_reset_endpoint(clnt_hdl);
@@ -332,15 +334,6 @@ static inline int qdf_ipa_copy_hdr(qdf_ipa_ioc_copy_hdr_t *copy)
return __qdf_ipa_copy_hdr(copy); return __qdf_ipa_copy_hdr(copy);
} }
/*
* Messaging
*/
static inline int qdf_ipa_send_msg(qdf_ipa_msg_meta_t *meta, void *buff,
ipa_msg_free_fn callback)
{
return __qdf_ipa_send_msg(meta, buff, callback);
}
static inline int qdf_ipa_register_pull_msg(qdf_ipa_msg_meta_t *meta, static inline int qdf_ipa_register_pull_msg(qdf_ipa_msg_meta_t *meta,
qdf_ipa_msg_pull_fn callback) qdf_ipa_msg_pull_fn callback)
{ {
@@ -394,11 +387,6 @@ static inline int qdf_ipa_tx_dp_mul(
return __qdf_ipa_tx_dp_mul(dst, data_desc); return __qdf_ipa_tx_dp_mul(dst, data_desc);
} }
static inline void qdf_ipa_free_skb(qdf_ipa_rx_data_t *rx_in)
{
return __qdf_ipa_free_skb(rx_in);;
}
/* /*
* System pipes * System pipes
*/ */
@@ -407,17 +395,6 @@ static inline u16 qdf_ipa_get_smem_restr_bytes(void)
return __qdf_ipa_get_smem_restr_bytes(); return __qdf_ipa_get_smem_restr_bytes();
} }
static inline int qdf_ipa_setup_sys_pipe(qdf_ipa_sys_connect_params_t *sys_in,
u32 *clnt_hdl)
{
return __qdf_ipa_setup_sys_pipe(sys_in, clnt_hdl);
}
static inline int qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)
{
return __qdf_ipa_teardown_sys_pipe(clnt_hdl);
}
static inline int qdf_ipa_connect_wdi_pipe(qdf_ipa_wdi_in_params_t *in, static inline int qdf_ipa_connect_wdi_pipe(qdf_ipa_wdi_in_params_t *in,
qdf_ipa_wdi_out_params_t *out) qdf_ipa_wdi_out_params_t *out)
{ {
@@ -455,17 +432,6 @@ static inline int qdf_ipa_uc_wdi_get_dbpa(
return __qdf_ipa_uc_wdi_get_dbpa(out); return __qdf_ipa_uc_wdi_get_dbpa(out);
} }
static inline int qdf_ipa_uc_reg_rdyCB(
qdf_ipa_wdi_uc_ready_params_t *param)
{
return __qdf_ipa_uc_reg_rdyCB(param);
}
static inline int qdf_ipa_uc_dereg_rdyCB(void)
{
return __qdf_ipa_uc_dereg_rdyCB();
}
/* /*
* Resource manager * Resource manager
@@ -573,21 +539,11 @@ static inline void qdf_ipa_bam_reg_dump(void)
return __qdf_ipa_bam_reg_dump(); return __qdf_ipa_bam_reg_dump();
} }
static inline int qdf_ipa_get_wdi_stats(qdf_ipa_hw_stats_wdi_info_data_t *stats)
{
return __qdf_ipa_get_wdi_stats(stats);
}
static inline int qdf_ipa_get_ep_mapping(qdf_ipa_client_type_t client) static inline int qdf_ipa_get_ep_mapping(qdf_ipa_client_type_t client)
{ {
return __qdf_ipa_get_ep_mapping(client); return __qdf_ipa_get_ep_mapping(client);
} }
static inline bool qdf_ipa_is_ready(void)
{
return __qdf_ipa_is_ready();
}
static inline void qdf_ipa_proxy_clk_vote(void) static inline void qdf_ipa_proxy_clk_vote(void)
{ {
return __qdf_ipa_proxy_clk_vote(); return __qdf_ipa_proxy_clk_vote();
@@ -647,6 +603,28 @@ static inline int qdf_ipa_stop_gsi_channel(u32 clnt_hdl)
return __qdf_ipa_stop_gsi_channel(clnt_hdl); return __qdf_ipa_stop_gsi_channel(clnt_hdl);
} }
#endif
static inline void qdf_ipa_free_skb(qdf_ipa_rx_data_t *rx_in)
{
return __qdf_ipa_free_skb(rx_in);
}
static inline int qdf_ipa_uc_reg_rdyCB(
qdf_ipa_wdi_uc_ready_params_t *param)
{
return __qdf_ipa_uc_reg_rdyCB(param);
}
static inline int qdf_ipa_uc_dereg_rdyCB(void)
{
return __qdf_ipa_uc_dereg_rdyCB();
}
static inline int qdf_ipa_get_wdi_stats(qdf_ipa_hw_stats_wdi_info_data_t *stats)
{
return __qdf_ipa_get_wdi_stats(stats);
}
static inline int qdf_ipa_register_ipa_ready_cb( static inline int qdf_ipa_register_ipa_ready_cb(
void (*qdf_ipa_ready_cb)(void *user_data), void (*qdf_ipa_ready_cb)(void *user_data),
void *user_data) void *user_data)
@@ -654,6 +632,31 @@ static inline int qdf_ipa_register_ipa_ready_cb(
return __qdf_ipa_register_ipa_ready_cb(qdf_ipa_ready_cb, user_data); return __qdf_ipa_register_ipa_ready_cb(qdf_ipa_ready_cb, user_data);
} }
static inline int qdf_ipa_setup_sys_pipe(qdf_ipa_sys_connect_params_t *sys_in,
u32 *clnt_hdl)
{
return __qdf_ipa_setup_sys_pipe(sys_in, clnt_hdl);
}
static inline int qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)
{
return __qdf_ipa_teardown_sys_pipe(clnt_hdl);
}
/*
* Messaging
*/
static inline int qdf_ipa_send_msg(qdf_ipa_msg_meta_t *meta, void *buff,
ipa_msg_free_fn callback)
{
return __qdf_ipa_send_msg(meta, buff, callback);
}
static inline bool qdf_ipa_is_ready(void)
{
return __qdf_ipa_is_ready();
}
#ifdef FEATURE_METERING #ifdef FEATURE_METERING
static inline int qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index, static inline int qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index,
uint64_t quota_bytes) uint64_t quota_bytes)

View File

@@ -27,7 +27,9 @@
#include <qdf_ipa.h> #include <qdf_ipa.h>
#include <i_qdf_ipa_wdi3.h> #include <i_qdf_ipa_wdi3.h>
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
/** /**
* qdf_ipa_wdi_version_t - IPA WDI version * qdf_ipa_wdi_version_t - IPA WDI version
*/ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2021, The Linux Foundation. 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
@@ -560,6 +560,7 @@ typedef struct ipa_wlan_hdr_attrib_val __qdf_ipa_wlan_hdr_attrib_val_t;
#define IPA_LAN_RX_NAPI_SUPPORT #define IPA_LAN_RX_NAPI_SUPPORT
#endif #endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
/* /*
* Resume / Suspend * Resume / Suspend
*/ */
@@ -609,15 +610,6 @@ static inline int __qdf_ipa_copy_hdr(struct ipa_ioc_copy_hdr *copy)
return ipa_copy_hdr(copy); return ipa_copy_hdr(copy);
} }
/*
* Messaging
*/
static inline int __qdf_ipa_send_msg(struct ipa_msg_meta *meta, void *buff,
ipa_msg_free_fn callback)
{
return ipa_send_msg(meta, buff, callback);
}
static inline int __qdf_ipa_register_pull_msg(struct ipa_msg_meta *meta, static inline int __qdf_ipa_register_pull_msg(struct ipa_msg_meta *meta,
ipa_msg_pull_fn callback) ipa_msg_pull_fn callback)
{ {
@@ -671,11 +663,6 @@ static inline int __qdf_ipa_tx_dp_mul(
return ipa_tx_dp_mul(dst, data_desc); return ipa_tx_dp_mul(dst, data_desc);
} }
static inline void __qdf_ipa_free_skb(struct ipa_rx_data *rx_in)
{
return ipa_free_skb(rx_in);;
}
/* /*
* System pipes * System pipes
*/ */
@@ -684,17 +671,6 @@ static inline u16 __qdf_ipa_get_smem_restr_bytes(void)
return ipa_get_smem_restr_bytes(); return ipa_get_smem_restr_bytes();
} }
static inline int __qdf_ipa_setup_sys_pipe(struct ipa_sys_connect_params *sys_in,
u32 *clnt_hdl)
{
return ipa_setup_sys_pipe(sys_in, clnt_hdl);
}
static inline int __qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)
{
return ipa_teardown_sys_pipe(clnt_hdl);
}
static inline int __qdf_ipa_connect_wdi_pipe(struct ipa_wdi_in_params *in, static inline int __qdf_ipa_connect_wdi_pipe(struct ipa_wdi_in_params *in,
struct ipa_wdi_out_params *out) struct ipa_wdi_out_params *out)
{ {
@@ -732,18 +708,6 @@ static inline int __qdf_ipa_uc_wdi_get_dbpa(
return ipa_uc_wdi_get_dbpa(out); return ipa_uc_wdi_get_dbpa(out);
} }
static inline int __qdf_ipa_uc_reg_rdyCB(
struct ipa_wdi_uc_ready_params *param)
{
return ipa_uc_reg_rdyCB(param);
}
static inline int __qdf_ipa_uc_dereg_rdyCB(void)
{
return ipa_uc_dereg_rdyCB();
}
/* /*
* Resource manager * Resource manager
*/ */
@@ -850,21 +814,11 @@ static inline void __qdf_ipa_bam_reg_dump(void)
return ipa_bam_reg_dump(); return ipa_bam_reg_dump();
} }
static inline int __qdf_ipa_get_wdi_stats(struct IpaHwStatsWDIInfoData_t *stats)
{
return ipa_get_wdi_stats(stats);
}
static inline int __qdf_ipa_get_ep_mapping(enum ipa_client_type client) static inline int __qdf_ipa_get_ep_mapping(enum ipa_client_type client)
{ {
return ipa_get_ep_mapping(client); return ipa_get_ep_mapping(client);
} }
static inline bool __qdf_ipa_is_ready(void)
{
return ipa_is_ready();
}
static inline void __qdf_ipa_proxy_clk_vote(void) static inline void __qdf_ipa_proxy_clk_vote(void)
{ {
return ipa_proxy_clk_vote(); return ipa_proxy_clk_vote();
@@ -938,6 +892,27 @@ static inline int __qdf_ipa_stop_gsi_channel(u32 clnt_hdl)
return ipa_stop_gsi_channel(clnt_hdl); return ipa_stop_gsi_channel(clnt_hdl);
} }
#endif
static inline void __qdf_ipa_free_skb(struct ipa_rx_data *rx_in)
{
return ipa_free_skb(rx_in);
}
static inline int __qdf_ipa_get_wdi_stats(struct IpaHwStatsWDIInfoData_t *stats)
{
return ipa_get_wdi_stats(stats);
}
static inline int __qdf_ipa_uc_reg_rdyCB(struct ipa_wdi_uc_ready_params *param)
{
return ipa_uc_reg_rdyCB(param);
}
static inline int __qdf_ipa_uc_dereg_rdyCB(void)
{
return ipa_uc_dereg_rdyCB();
}
static inline int __qdf_ipa_register_ipa_ready_cb( static inline int __qdf_ipa_register_ipa_ready_cb(
void (*ipa_ready_cb)(void *user_data), void (*ipa_ready_cb)(void *user_data),
void *user_data) void *user_data)
@@ -945,6 +920,32 @@ static inline int __qdf_ipa_register_ipa_ready_cb(
return ipa_register_ipa_ready_cb(ipa_ready_cb, user_data); return ipa_register_ipa_ready_cb(ipa_ready_cb, user_data);
} }
static inline
int __qdf_ipa_setup_sys_pipe(struct ipa_sys_connect_params *sys_in,
u32 *clnt_hdl)
{
return ipa_setup_sys_pipe(sys_in, clnt_hdl);
}
static inline int __qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)
{
return ipa_teardown_sys_pipe(clnt_hdl);
}
/*
* Messaging
*/
static inline int __qdf_ipa_send_msg(struct ipa_msg_meta *meta, void *buff,
ipa_msg_free_fn callback)
{
return ipa_send_msg(meta, buff, callback);
}
static inline bool __qdf_ipa_is_ready(void)
{
return ipa_is_ready();
}
#ifdef FEATURE_METERING #ifdef FEATURE_METERING
static inline int __qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index, static inline int __qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index,
uint64_t quota_bytes) uint64_t quota_bytes)

View File

@@ -27,7 +27,8 @@
#include <qdf_status.h> /* QDF_STATUS */ #include <qdf_status.h> /* QDF_STATUS */
#include <linux/ipa_wdi3.h> #include <linux/ipa_wdi3.h>
#ifdef CONFIG_IPA_WDI_UNIFIED_API #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API)
/** /**
* __qdf_ipa_wdi_version_t - IPA WDI version * __qdf_ipa_wdi_version_t - IPA WDI version