Loading drivers/platform/msm/ipa/ipa_v3/ipa_dp.c +15 −0 Original line number Diff line number Diff line Loading @@ -2683,6 +2683,21 @@ static int ipa3_assign_policy(struct ipa_sys_connect_params *in, return 0; } if (in->client == IPA_CLIENT_APPS_WAN_PROD) { sys->policy = IPA_POLICY_INTR_MODE; sys->use_comm_evt_ring = true; INIT_WORK(&sys->work, ipa3_send_nop_desc); /* * enable source notification status for exception packets * (i.e. QMAP commands) to be routed to modem. */ sys->ep->status.status_en = true; sys->ep->status.status_ep = ipa3_get_ep_mapping(IPA_CLIENT_Q6_WAN_CONS); return 0; } if (IPA_CLIENT_IS_MEMCPY_DMA_PROD(in->client)) { sys->policy = IPA_POLICY_NOINTR_MODE; return 0; Loading drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c +6 −15 Original line number Diff line number Diff line Loading @@ -1086,7 +1086,6 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev) int ret = 0; bool qmap_check; struct ipa3_wwan_private *wwan_ptr = netdev_priv(dev); struct ipa_tx_meta meta; if (skb->protocol != htons(ETH_P_MAP)) { IPAWANDBG_LOW Loading Loading @@ -1142,17 +1141,11 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev) } /* IPA_RM checking end */ if (RMNET_MAP_GET_CD_BIT(skb)) { memset(&meta, 0, sizeof(meta)); meta.pkt_init_dst_ep_valid = true; meta.pkt_init_dst_ep_remote = true; meta.pkt_init_dst_ep = ipa3_get_ep_mapping(IPA_CLIENT_Q6_WAN_CONS); ret = ipa3_tx_dp(IPA_CLIENT_APPS_WAN_PROD, skb, &meta); } else { /* * both data packets and command will be routed to * IPA_CLIENT_Q6_WAN_CONS based on status configuration */ ret = ipa3_tx_dp(IPA_CLIENT_APPS_WAN_PROD, skb, NULL); } if (ret) { ret = NETDEV_TX_BUSY; goto out; Loading Loading @@ -1373,9 +1366,7 @@ static int handle3_egress_format(struct net_device *dev, } if ((e->u.data) & RMNET_IOCTL_EGRESS_FORMAT_AGGREGATION) { IPAWANERR("WAN UL Aggregation not supported!!\n"); WARN_ON(1); return -EINVAL; IPAWANDBG("WAN UL Aggregation enabled\n"); ipa_wan_ep_cfg->ipa_ep_cfg.aggr.aggr_en = IPA_ENABLE_DEAGGR; ipa_wan_ep_cfg->ipa_ep_cfg.aggr.aggr = IPA_QCMAP; Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_dp.c +15 −0 Original line number Diff line number Diff line Loading @@ -2683,6 +2683,21 @@ static int ipa3_assign_policy(struct ipa_sys_connect_params *in, return 0; } if (in->client == IPA_CLIENT_APPS_WAN_PROD) { sys->policy = IPA_POLICY_INTR_MODE; sys->use_comm_evt_ring = true; INIT_WORK(&sys->work, ipa3_send_nop_desc); /* * enable source notification status for exception packets * (i.e. QMAP commands) to be routed to modem. */ sys->ep->status.status_en = true; sys->ep->status.status_ep = ipa3_get_ep_mapping(IPA_CLIENT_Q6_WAN_CONS); return 0; } if (IPA_CLIENT_IS_MEMCPY_DMA_PROD(in->client)) { sys->policy = IPA_POLICY_NOINTR_MODE; return 0; Loading
drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c +6 −15 Original line number Diff line number Diff line Loading @@ -1086,7 +1086,6 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev) int ret = 0; bool qmap_check; struct ipa3_wwan_private *wwan_ptr = netdev_priv(dev); struct ipa_tx_meta meta; if (skb->protocol != htons(ETH_P_MAP)) { IPAWANDBG_LOW Loading Loading @@ -1142,17 +1141,11 @@ static int ipa3_wwan_xmit(struct sk_buff *skb, struct net_device *dev) } /* IPA_RM checking end */ if (RMNET_MAP_GET_CD_BIT(skb)) { memset(&meta, 0, sizeof(meta)); meta.pkt_init_dst_ep_valid = true; meta.pkt_init_dst_ep_remote = true; meta.pkt_init_dst_ep = ipa3_get_ep_mapping(IPA_CLIENT_Q6_WAN_CONS); ret = ipa3_tx_dp(IPA_CLIENT_APPS_WAN_PROD, skb, &meta); } else { /* * both data packets and command will be routed to * IPA_CLIENT_Q6_WAN_CONS based on status configuration */ ret = ipa3_tx_dp(IPA_CLIENT_APPS_WAN_PROD, skb, NULL); } if (ret) { ret = NETDEV_TX_BUSY; goto out; Loading Loading @@ -1373,9 +1366,7 @@ static int handle3_egress_format(struct net_device *dev, } if ((e->u.data) & RMNET_IOCTL_EGRESS_FORMAT_AGGREGATION) { IPAWANERR("WAN UL Aggregation not supported!!\n"); WARN_ON(1); return -EINVAL; IPAWANDBG("WAN UL Aggregation enabled\n"); ipa_wan_ep_cfg->ipa_ep_cfg.aggr.aggr_en = IPA_ENABLE_DEAGGR; ipa_wan_ep_cfg->ipa_ep_cfg.aggr.aggr = IPA_QCMAP; Loading