mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
Merge "msm: ipa: update the ipa eth client interfaces"
This commit is contained in:
commit
c577d254cd
4 changed files with 18 additions and 47 deletions
|
|
@ -427,10 +427,6 @@ struct ipa_fmwk_contex {
|
|||
int (*ipa_eth_client_set_perf_profile)(struct ipa_eth_client *client,
|
||||
struct ipa_eth_perf_profile *profile);
|
||||
|
||||
int (*ipa_eth_client_conn_evt)(struct ipa_ecm_msg *msg);
|
||||
|
||||
int (*ipa_eth_client_disconn_evt)(struct ipa_ecm_msg *msg);
|
||||
|
||||
int (*ipa_get_default_aggr_time_limit)(enum ipa_client_type client,
|
||||
u32 *default_aggr_time_limit);
|
||||
|
||||
|
|
@ -2162,8 +2158,6 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in)
|
|||
|| ipa_fmwk_ctx->ipa_eth_client_reg_intf
|
||||
|| ipa_fmwk_ctx->ipa_eth_client_unreg_intf
|
||||
|| ipa_fmwk_ctx->ipa_eth_client_set_perf_profile
|
||||
|| ipa_fmwk_ctx->ipa_eth_client_conn_evt
|
||||
|| ipa_fmwk_ctx->ipa_eth_client_disconn_evt
|
||||
|| ipa_fmwk_ctx->ipa_eth_get_ipa_client_type_from_eth_type
|
||||
|| ipa_fmwk_ctx->ipa_eth_client_exist) {
|
||||
pr_err("ipa_eth APIs were already initialized\n");
|
||||
|
|
@ -2180,9 +2174,6 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in)
|
|||
ipa_fmwk_ctx->ipa_eth_client_unreg_intf = in->ipa_eth_client_unreg_intf;
|
||||
ipa_fmwk_ctx->ipa_eth_client_set_perf_profile =
|
||||
in->ipa_eth_client_set_perf_profile;
|
||||
ipa_fmwk_ctx->ipa_eth_client_conn_evt = in->ipa_eth_client_conn_evt;
|
||||
ipa_fmwk_ctx->ipa_eth_client_disconn_evt =
|
||||
in->ipa_eth_client_disconn_evt;
|
||||
ipa_fmwk_ctx->ipa_eth_get_ipa_client_type_from_eth_type =
|
||||
in->ipa_eth_get_ipa_client_type_from_eth_type;
|
||||
ipa_fmwk_ctx->ipa_eth_client_exist =
|
||||
|
|
@ -2285,28 +2276,6 @@ int ipa_eth_client_set_perf_profile(struct ipa_eth_client *client,
|
|||
}
|
||||
EXPORT_SYMBOL(ipa_eth_client_set_perf_profile);
|
||||
|
||||
int ipa_eth_client_conn_evt(struct ipa_ecm_msg *msg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
IPA_FMWK_DISPATCH_RETURN_DP(ipa_eth_client_conn_evt,
|
||||
msg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(ipa_eth_client_conn_evt);
|
||||
|
||||
int ipa_eth_client_disconn_evt(struct ipa_ecm_msg *msg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
IPA_FMWK_DISPATCH_RETURN_DP(ipa_eth_client_disconn_evt,
|
||||
msg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(ipa_eth_client_disconn_evt);
|
||||
|
||||
int ipa_get_default_aggr_time_limit(enum ipa_client_type client,
|
||||
u32 *default_aggr_time_limit)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
#include <linux/msm_ipa.h>
|
||||
#include <linux/msm_gsi.h>
|
||||
|
||||
#define IPA_ETH_API_VER 2
|
||||
|
||||
/* New architecture prototypes */
|
||||
|
||||
typedef void (*ipa_eth_ready_cb)(void *user_data);
|
||||
|
|
@ -41,6 +43,7 @@ enum ipa_eth_client_type {
|
|||
IPA_ETH_CLIENT_RTK8125B,
|
||||
IPA_ETH_CLIENT_NTN,
|
||||
IPA_ETH_CLIENT_EMAC,
|
||||
IPA_ETH_CLIENT_NTN3,
|
||||
IPA_ETH_CLIENT_MAX,
|
||||
};
|
||||
|
||||
|
|
@ -195,13 +198,13 @@ struct ipa_eth_client_pipe_info {
|
|||
* provided by offload client
|
||||
* @client_type: ethernet client type
|
||||
* @inst_id: instance id for dual NIC support
|
||||
* @net_dev: network device client belongs to
|
||||
* @traffic_type: traffic type
|
||||
* @pipe_list: list of pipes with same traffic type
|
||||
* @priv: private data for client
|
||||
* @test: is test client
|
||||
*/
|
||||
struct ipa_eth_client {
|
||||
/* vendor driver */
|
||||
enum ipa_eth_client_type client_type;
|
||||
u8 inst_id;
|
||||
|
||||
|
|
@ -212,6 +215,9 @@ struct ipa_eth_client {
|
|||
/* client specific priv data*/
|
||||
void *priv;
|
||||
bool test;
|
||||
|
||||
/* vendor driver */
|
||||
struct net_device *net_dev;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -242,18 +248,18 @@ struct ipa_eth_hdr_info {
|
|||
* struct ipa_eth_intf_info - parameters for ipa offload
|
||||
* interface registration
|
||||
*
|
||||
* @netdev_name: network interface name
|
||||
* @hdr: hdr for ipv4/ipv6
|
||||
* @pipe_hdl_list_size: number of pipes prop needed for this interface
|
||||
* @pipe_hdl_list: array of pipes used for this interface
|
||||
* @client: ipa ethernet client associated with the interface
|
||||
* @is_conn_evt: whether or not trigger periph conn/disconn event
|
||||
* @net_dev: network device
|
||||
*/
|
||||
struct ipa_eth_intf_info {
|
||||
const char *netdev_name;
|
||||
struct ipa_eth_hdr_info hdr[IPA_IP_MAX];
|
||||
struct ipa_eth_client *client;
|
||||
|
||||
/* tx/rx pipes for same netdev */
|
||||
int pipe_hdl_list_size;
|
||||
ipa_eth_hdl_t *pipe_hdl_list;
|
||||
/* trigger iface peripheral event */
|
||||
bool is_conn_evt;
|
||||
|
||||
/* IPA internal fields */
|
||||
struct net_device *net_dev;
|
||||
};
|
||||
|
||||
int ipa_eth_register_ready_cb(struct ipa_eth_ready *ready_info);
|
||||
|
|
@ -264,8 +270,6 @@ int ipa_eth_client_reg_intf(struct ipa_eth_intf_info *intf);
|
|||
int ipa_eth_client_unreg_intf(struct ipa_eth_intf_info *intf);
|
||||
int ipa_eth_client_set_perf_profile(struct ipa_eth_client *client,
|
||||
struct ipa_eth_perf_profile *profile);
|
||||
int ipa_eth_client_conn_evt(struct ipa_ecm_msg *msg);
|
||||
int ipa_eth_client_disconn_evt(struct ipa_ecm_msg *msg);
|
||||
enum ipa_client_type ipa_eth_get_ipa_client_type_from_eth_type(
|
||||
enum ipa_eth_client_type eth_client_type, enum ipa_eth_pipe_direction dir);
|
||||
bool ipa_eth_client_exist(
|
||||
|
|
|
|||
|
|
@ -328,10 +328,6 @@ struct ipa_eth_data {
|
|||
int (*ipa_eth_client_set_perf_profile)(struct ipa_eth_client *client,
|
||||
struct ipa_eth_perf_profile *profile);
|
||||
|
||||
int (*ipa_eth_client_conn_evt)(struct ipa_ecm_msg *msg);
|
||||
|
||||
int (*ipa_eth_client_disconn_evt)(struct ipa_ecm_msg *msg);
|
||||
|
||||
enum ipa_client_type (*ipa_eth_get_ipa_client_type_from_eth_type)(
|
||||
enum ipa_eth_client_type eth_client_type,
|
||||
enum ipa_eth_pipe_direction dir);
|
||||
|
|
|
|||
|
|
@ -3123,6 +3123,8 @@ struct ipa_tether_device_info {
|
|||
*/
|
||||
enum ipa_vlan_ifaces {
|
||||
IPA_VLAN_IF_ETH,
|
||||
IPA_VLAN_IF_ETH0,
|
||||
IPA_VLAN_IF_ETH1,
|
||||
IPA_VLAN_IF_RNDIS,
|
||||
IPA_VLAN_IF_ECM
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue