mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
92 lines
3.0 KiB
Diff
92 lines
3.0 KiB
Diff
|
From e21cd0d3ef6f039c674b9e22581aaaabdf3a40f7 Mon Sep 17 00:00:00 2001
|
||
|
From: Camelia Groza <camelia.groza@nxp.com>
|
||
|
Date: Fri, 24 Nov 2017 11:55:51 +0200
|
||
|
Subject: [PATCH] sdk_dpaa: ceetm: coding style fixes and added comments
|
||
|
|
||
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
||
|
---
|
||
|
.../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c | 38 ++++++++++++++--------
|
||
|
1 file changed, 24 insertions(+), 14 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
|
||
|
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
|
||
|
@@ -69,15 +69,17 @@ static void get_dcp_and_sp(struct net_de
|
||
|
static void ceetm_ern(struct qman_portal *portal, struct qman_fq *fq,
|
||
|
const struct qm_mr_entry *msg)
|
||
|
{
|
||
|
- struct net_device *net_dev;
|
||
|
- struct ceetm_class *cls;
|
||
|
+ struct dpa_percpu_priv_s *dpa_percpu_priv;
|
||
|
struct ceetm_class_stats *cstats = NULL;
|
||
|
const struct dpa_priv_s *dpa_priv;
|
||
|
- struct dpa_percpu_priv_s *dpa_percpu_priv;
|
||
|
- struct sk_buff *skb;
|
||
|
struct qm_fd fd = msg->ern.fd;
|
||
|
+ struct net_device *net_dev;
|
||
|
+ struct ceetm_fq *ceetm_fq;
|
||
|
+ struct ceetm_class *cls;
|
||
|
+ struct sk_buff *skb;
|
||
|
|
||
|
- net_dev = ((struct ceetm_fq *)fq)->net_dev;
|
||
|
+ ceetm_fq = container_of(fq, struct ceetm_fq, fq);
|
||
|
+ net_dev = ceetm_fq->net_dev;
|
||
|
dpa_priv = netdev_priv(net_dev);
|
||
|
dpa_percpu_priv = raw_cpu_ptr(dpa_priv->percpu_priv);
|
||
|
|
||
|
@@ -86,7 +88,7 @@ static void ceetm_ern(struct qman_portal
|
||
|
dpa_percpu_priv->stats.tx_fifo_errors++;
|
||
|
|
||
|
/* Increment CEETM counters */
|
||
|
- cls = ((struct ceetm_fq *)fq)->ceetm_cls;
|
||
|
+ cls = ceetm_fq->ceetm_cls;
|
||
|
switch (cls->type) {
|
||
|
case CEETM_PRIO:
|
||
|
cstats = this_cpu_ptr(cls->prio.cstats);
|
||
|
@@ -99,11 +101,15 @@ static void ceetm_ern(struct qman_portal
|
||
|
if (cstats)
|
||
|
cstats->ern_drop_count++;
|
||
|
|
||
|
+ /* Release the buffers that were supposed to be recycled. */
|
||
|
if (fd.bpid != 0xff) {
|
||
|
dpa_fd_release(net_dev, &fd);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
+ /* Release the frames that were supposed to return on the
|
||
|
+ * confirmation path.
|
||
|
+ */
|
||
|
skb = _dpa_cleanup_tx_fd(dpa_priv, &fd);
|
||
|
dev_kfree_skb_any(skb);
|
||
|
}
|
||
|
@@ -1909,18 +1915,22 @@ static struct ceetm_class *ceetm_classif
|
||
|
|
||
|
int __hot ceetm_tx(struct sk_buff *skb, struct net_device *net_dev)
|
||
|
{
|
||
|
- int ret;
|
||
|
- bool act_drop = false;
|
||
|
+ const int queue_mapping = dpa_get_queue_mapping(skb);
|
||
|
struct Qdisc *sch = net_dev->qdisc;
|
||
|
- struct ceetm_class *cl;
|
||
|
+ struct ceetm_class_stats *cstats;
|
||
|
+ struct ceetm_qdisc_stats *qstats;
|
||
|
struct dpa_priv_s *priv_dpa;
|
||
|
struct ceetm_fq *ceetm_fq;
|
||
|
+ struct ceetm_qdisc *priv;
|
||
|
struct qman_fq *conf_fq;
|
||
|
- struct ceetm_qdisc *priv = qdisc_priv(sch);
|
||
|
- struct ceetm_qdisc_stats *qstats = this_cpu_ptr(priv->root.qstats);
|
||
|
- struct ceetm_class_stats *cstats;
|
||
|
- const int queue_mapping = dpa_get_queue_mapping(skb);
|
||
|
- spinlock_t *root_lock = qdisc_lock(sch);
|
||
|
+ struct ceetm_class *cl;
|
||
|
+ spinlock_t *root_lock;
|
||
|
+ bool act_drop = false;
|
||
|
+ int ret;
|
||
|
+
|
||
|
+ root_lock = qdisc_lock(sch);
|
||
|
+ priv = qdisc_priv(sch);
|
||
|
+ qstats = this_cpu_ptr(priv->root.qstats);
|
||
|
|
||
|
spin_lock(root_lock);
|
||
|
cl = ceetm_classify(skb, sch, &ret, &act_drop);
|