dfc: remove unsupported modes

Removes DFC modes that no longer supported.

Change-Id: I86c5d549ca02b0313dc89ed9e12d770323e55a9e
Acked-by: Weiyi Chen <weiyic@qti.qualcomm.com>
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
This commit is contained in:
Subash Abhinov Kasiviswanathan 2020-04-27 15:04:59 -07:00
commit fa1352fa7a
4 changed files with 16 additions and 40 deletions

View file

@ -486,6 +486,11 @@ int dfc_qmap_client_init(void *port, int index, struct svc_info *psvc,
if (!port || !qmi)
return -EINVAL;
/* Prevent double init */
data = rcu_dereference(qmap_dfc_data);
if (data)
return -EINVAL;
data = kzalloc(sizeof(struct dfc_qmi_data), GFP_KERNEL);
if (!data)
return -ENOMEM;
@ -499,8 +504,7 @@ int dfc_qmap_client_init(void *port, int index, struct svc_info *psvc,
atomic_set(&qmap_txid, 0);
if (!rmnet_ctl)
rmnet_ctl = symbol_get(rmnet_ctl_if);
rmnet_ctl = symbol_get(rmnet_ctl_if);
if (!rmnet_ctl) {
pr_err("rmnet_ctl module not loaded\n");
goto out;

View file

@ -1479,16 +1479,10 @@ void dfc_qmi_burst_check(struct net_device *dev, struct qos_info *qos,
spin_lock_bh(&qos->qos_lock);
if (dfc_mode == DFC_MODE_MQ_NUM) {
/* Mark is mq num */
if (likely(mark < MAX_MQ_NUM))
bearer = qos->mq[mark].bearer;
} else {
/* Mark is flow_id */
itm = qmi_rmnet_get_flow_map(qos, mark, ip_type);
if (likely(itm))
bearer = itm->bearer;
}
/* Mark is flow_id */
itm = qmi_rmnet_get_flow_map(qos, mark, ip_type);
if (likely(itm))
bearer = itm->bearer;
if (unlikely(!bearer))
goto out;

View file

@ -39,14 +39,12 @@
#define FLAG_TO_MODE(f) ((f) & FLAG_DFC_MASK)
#define DFC_SUPPORTED_MODE(m) \
((m) == DFC_MODE_FLOW_ID || (m) == DFC_MODE_MQ_NUM || \
(m) == DFC_MODE_SA)
((m) == DFC_MODE_SA)
#define FLAG_TO_QMAP(f) ((f) & FLAG_QMAP_MASK)
int dfc_mode;
int dfc_qmap;
#define IS_ANCILLARY(type) ((type) != AF_INET && (type) != AF_INET6)
unsigned int rmnet_wq_frequency __read_mostly = 1000;
@ -312,10 +310,7 @@ static void __qmi_rmnet_update_mq(struct net_device *dev,
bearer->mq_idx = itm->mq_idx;
bearer->ack_mq_idx = itm->mq_idx + ACK_MQ_OFFSET;
} else {
if (IS_ANCILLARY(itm->ip_type))
bearer->ack_mq_idx = itm->mq_idx;
else
bearer->mq_idx = itm->mq_idx;
bearer->mq_idx = itm->mq_idx;
}
qmi_rmnet_flow_control(dev, itm->mq_idx,
@ -855,34 +850,19 @@ int qmi_rmnet_get_queue(struct net_device *dev, struct sk_buff *skb)
if (!qos)
return 0;
/* If mark is mq num return it */
if (dfc_mode == DFC_MODE_MQ_NUM)
return mark;
if (dfc_mode == DFC_MODE_SA)
if (likely(dfc_mode == DFC_MODE_SA))
return qmi_rmnet_get_queue_sa(qos, skb);
/* Default flows */
if (!mark) {
if (qmi_rmnet_is_tcp_ack(skb))
return 1;
else
return 0;
}
ip_type = (skb->protocol == htons(ETH_P_IPV6)) ? AF_INET6 : AF_INET;
/* Dedicated flows */
spin_lock_bh(&qos->qos_lock);
itm = qmi_rmnet_get_flow_map(qos, mark, ip_type);
if (unlikely(!itm))
goto done;
if (itm)
txq = itm->mq_idx;
txq = itm->mq_idx;
done:
spin_unlock_bh(&qos->qos_lock);
return txq;
}
EXPORT_SYMBOL(qmi_rmnet_get_queue);

View file

@ -27,8 +27,6 @@
#define ACK_MQ_OFFSET (MAX_MQ_NUM - 1)
#define INVALID_MQ 0xFF
#define DFC_MODE_FLOW_ID 2
#define DFC_MODE_MQ_NUM 3
#define DFC_MODE_SA 4
#define CONFIG_QTI_QMI_RMNET 1