layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 701-net-0365-sdk_dpaa-ceetm-coding-style-cleanup.patch
diff --git a/target/linux/layerscape/patches-5.4/701-net-0365-sdk_dpaa-ceetm-coding-style-cleanup.patch b/target/linux/layerscape/patches-5.4/701-net-0365-sdk_dpaa-ceetm-coding-style-cleanup.patch
new file mode 100644 (file)
index 0000000..13ae5e5
--- /dev/null
@@ -0,0 +1,431 @@
+From fec484580477d93cd69e5355be68e6f5bf1a1e54 Mon Sep 17 00:00:00 2001
+From: Camelia Groza <camelia.groza@nxp.com>
+Date: Mon, 9 Dec 2019 18:20:05 +0200
+Subject: [PATCH] sdk_dpaa: ceetm: coding style cleanup
+
+Fix checkpatch warnings and use reverse Christmas tree variable ordering
+throughout the driver.
+
+Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
+---
+ .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c   | 145 +++++++++++----------
+ 1 file changed, 76 insertions(+), 69 deletions(-)
+
+--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
++++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
+@@ -1,4 +1,5 @@
+ /* Copyright 2008-2016 Freescale Semiconductor Inc.
++ * Copyright 2019 NXP
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions are met:
+@@ -47,10 +48,10 @@ struct Qdisc_ops ceetm_qdisc_ops;
+ static void get_dcp_and_sp(struct net_device *dev, enum qm_dc_portal *dcp_id,
+                          unsigned int *sp_id)
+ {
+-      uint32_t channel;
+-      t_LnxWrpFmPortDev *port_dev;
+       struct dpa_priv_s *dpa_priv = netdev_priv(dev);
+       struct mac_device *mac_dev = dpa_priv->mac_dev;
++      t_LnxWrpFmPortDev *port_dev;
++      uint32_t channel;
+       port_dev = (t_LnxWrpFmPortDev *)mac_dev->port_dev[TX];
+       channel = port_dev->txCh;
+@@ -75,7 +76,7 @@ static void dpaa_drain_fqs(struct net_de
+       struct qman_fq *fq;
+       int ret, i;
+-      for (i = 0; i < DPAA_ETH_TX_QUEUES; i ++) {
++      for (i = 0; i < DPAA_ETH_TX_QUEUES; i++) {
+               fq = priv->egress_fqs[i];
+               while (true) {
+                       ret = qman_query_fq_np(fq, &np);
+@@ -96,7 +97,7 @@ static void dpaa_drain_fqs(struct net_de
+ static void ceetm_drain_class(struct ceetm_class *cl)
+ {
+       struct qm_mcr_ceetm_cq_query cq_query;
+-      struct qm_ceetm_cq *cq;
++      struct qm_ceetm_cq *cq = NULL;
+       unsigned int idx;
+       int ret;
+@@ -108,10 +109,10 @@ static void ceetm_drain_class(struct cee
+               /* The ROOT classes aren't directly linked to CEETM CQs */
+               return;
+       case CEETM_PRIO:
+-              cq = (struct qm_ceetm_cq*)cl->prio.cq;
++              cq = (struct qm_ceetm_cq *)cl->prio.cq;
+               break;
+       case CEETM_WBFS:
+-              cq = (struct qm_ceetm_cq*)cl->wbfs.cq;
++              cq = (struct qm_ceetm_cq *)cl->wbfs.cq;
+               break;
+       }
+@@ -190,10 +191,14 @@ static void ceetm_ern(struct qman_portal
+ /* Congestion State Change Notification callback */
+ static void ceetm_cscn(struct qm_ceetm_ccg *ccg, void *cb_ctx, int congested)
+ {
+-      struct ceetm_fq *ceetm_fq = (struct ceetm_fq *)cb_ctx;
+-      struct dpa_priv_s *dpa_priv = netdev_priv(ceetm_fq->net_dev);
+-      struct ceetm_class *cls = ceetm_fq->ceetm_cls;
+       struct ceetm_class_stats *cstats = NULL;
++      struct dpa_priv_s *dpa_priv;
++      struct ceetm_fq *ceetm_fq;
++      struct ceetm_class *cls;
++
++      ceetm_fq = (struct ceetm_fq *)cb_ctx;
++      dpa_priv = netdev_priv(ceetm_fq->net_dev);
++      cls = ceetm_fq->ceetm_cls;
+       switch (cls->type) {
+       case CEETM_PRIO:
+@@ -236,10 +241,10 @@ static int ceetm_config_ccg(struct qm_ce
+                           struct qm_ceetm_channel *channel, unsigned int id,
+                           struct ceetm_fq *fq, struct dpa_priv_s *dpa_priv)
+ {
+-      int err;
+-      u32 cs_th;
+-      u16 ccg_mask;
+       struct qm_ceetm_ccg_params ccg_params;
++      u16 ccg_mask;
++      u32 cs_th;
++      int err;
+       err = qman_ceetm_ccg_claim(ccg, channel, id, ceetm_cscn, fq);
+       if (err)
+@@ -284,9 +289,9 @@ static int ceetm_config_ccg(struct qm_ce
+ static int ceetm_config_lfq(struct qm_ceetm_cq *cq, struct ceetm_fq *fq,
+                           struct qm_ceetm_lfq **lfq)
+ {
+-      int err;
+       u64 context_a;
+       u32 context_b;
++      int err;
+       err = qman_ceetm_lfq_claim(lfq, cq);
+       if (err)
+@@ -316,8 +321,8 @@ static int ceetm_config_prio_cls(struct
+                                struct net_device *dev,
+                                unsigned int id)
+ {
+-      int err;
+       struct dpa_priv_s *dpa_priv = netdev_priv(dev);
++      int err;
+       err = ceetm_alloc_fq(&cls->prio.fq, dev, cls);
+       if (err)
+@@ -357,8 +362,8 @@ static int ceetm_config_wbfs_cls(struct
+                                struct net_device *dev,
+                                unsigned int id, int type)
+ {
+-      int err;
+       struct dpa_priv_s *dpa_priv = netdev_priv(dev);
++      int err;
+       err = ceetm_alloc_fq(&cls->wbfs.fq, dev, cls);
+       if (err)
+@@ -517,11 +522,11 @@ static void ceetm_cls_destroy(struct Qdi
+ /* Destroy a ceetm qdisc */
+ static void ceetm_destroy(struct Qdisc *sch)
+ {
+-      unsigned int ntx, i;
+-      struct hlist_node *next;
+-      struct ceetm_class *cl;
+       struct ceetm_qdisc *priv = qdisc_priv(sch);
+       struct net_device *dev = qdisc_dev(sch);
++      struct hlist_node *next;
++      struct ceetm_class *cl;
++      unsigned int ntx, i;
+       pr_debug(KBUILD_BASENAME " : %s : destroy qdisc %X\n",
+                __func__, sch->handle);
+@@ -592,13 +597,13 @@ static void ceetm_destroy(struct Qdisc *
+ static int ceetm_dump(struct Qdisc *sch, struct sk_buff *skb)
+ {
++      struct ceetm_qdisc *priv = qdisc_priv(sch);
++      struct net_device *dev = qdisc_dev(sch);
++      struct ceetm_qdisc_stats *qstats;
++      struct tc_ceetm_qopt qopt;
+       struct Qdisc *qdisc;
+       unsigned int ntx, i;
+       struct nlattr *nest;
+-      struct tc_ceetm_qopt qopt;
+-      struct ceetm_qdisc_stats *qstats;
+-      struct net_device *dev = qdisc_dev(sch);
+-      struct ceetm_qdisc *priv = qdisc_priv(sch);
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+@@ -673,17 +678,20 @@ static int ceetm_init_root(struct Qdisc
+                          struct tc_ceetm_qopt *qopt,
+                          struct netlink_ext_ack *extack)
+ {
++      struct net_device *dev = qdisc_dev(sch);
++      unsigned int i, sp_id, parent_id;
+       struct netdev_queue *dev_queue;
+-      struct Qdisc *qdisc;
++      struct dpa_priv_s *dpa_priv;
++      struct mac_device *mac_dev;
+       enum qm_dc_portal dcp_id;
+-      unsigned int i, sp_id, parent_id;
++      struct qm_ceetm_lni *lni;
++      struct qm_ceetm_sp *sp;
++      struct Qdisc *qdisc;
+       int err;
+       u64 bps;
+-      struct qm_ceetm_sp *sp;
+-      struct qm_ceetm_lni *lni;
+-      struct net_device *dev = qdisc_dev(sch);
+-      struct dpa_priv_s *dpa_priv = netdev_priv(dev);
+-      struct mac_device *mac_dev = dpa_priv->mac_dev;
++
++      dpa_priv = netdev_priv(dev);
++      mac_dev = dpa_priv->mac_dev;
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+@@ -711,9 +719,8 @@ static int ceetm_init_root(struct Qdisc
+       priv->root.qdiscs = kcalloc(dev->num_tx_queues,
+                                   sizeof(priv->root.qdiscs[0]),
+                                   GFP_KERNEL);
+-      if (!priv->root.qdiscs) {
++      if (!priv->root.qdiscs)
+               return -ENOMEM;
+-      }
+       for (i = 0; i < dev->num_tx_queues; i++) {
+               dev_queue = netdev_get_tx_queue(dev, i);
+@@ -811,11 +818,11 @@ static int ceetm_init_root(struct Qdisc
+ static int ceetm_init_prio(struct Qdisc *sch, struct ceetm_qdisc *priv,
+                          struct tc_ceetm_qopt *qopt)
+ {
+-      int err;
+-      unsigned int i;
+       struct ceetm_class *parent_cl, *child_cl;
+       struct net_device *dev = qdisc_dev(sch);
+       struct Qdisc *root_qdisc = dev->qdisc;
++      unsigned int i;
++      int err;
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+@@ -852,11 +859,8 @@ static int ceetm_init_prio(struct Qdisc
+       /* Create and configure qcount child classes */
+       for (i = 0; i < priv->prio.qcount; i++) {
+               child_cl = kzalloc(sizeof(*child_cl), GFP_KERNEL);
+-              if (!child_cl) {
+-                      pr_err(KBUILD_BASENAME " : %s : kzalloc() failed\n",
+-                             __func__);
++              if (!child_cl)
+                       return -ENOMEM;
+-              }
+               child_cl->prio.cstats = alloc_percpu(struct ceetm_class_stats);
+               if (!child_cl->prio.cstats) {
+@@ -906,12 +910,12 @@ err_init_prio_cls:
+ static int ceetm_init_wbfs(struct Qdisc *sch, struct ceetm_qdisc *priv,
+                          struct tc_ceetm_qopt *qopt)
+ {
+-      int err, group_b, small_group;
+-      unsigned int i, id, prio_a, prio_b;
+       struct ceetm_class *parent_cl, *child_cl, *tmp_cl, *root_cl = NULL;
+       struct Qdisc *root_qdisc, *parent_qdisc = NULL;
+-      struct ceetm_qdisc *root_priv;
+       struct net_device *dev = qdisc_dev(sch);
++      unsigned int i, id, prio_a, prio_b;
++      int err, group_b, small_group;
++      struct ceetm_qdisc *root_priv;
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+@@ -1070,11 +1074,8 @@ static int ceetm_init_wbfs(struct Qdisc
+       /* Create qcount child classes */
+       for (i = 0; i < priv->wbfs.qcount; i++) {
+               child_cl = kzalloc(sizeof(*child_cl), GFP_KERNEL);
+-              if (!child_cl) {
+-                      pr_err(KBUILD_BASENAME " : %s : kzalloc() failed\n",
+-                             __func__);
++              if (!child_cl)
+                       return -ENOMEM;
+-              }
+               child_cl->wbfs.cstats = alloc_percpu(struct ceetm_class_stats);
+               if (!child_cl->wbfs.cstats) {
+@@ -1138,11 +1139,11 @@ err_init_wbfs_cls:
+ static int ceetm_init(struct Qdisc *sch, struct nlattr *opt,
+                     struct netlink_ext_ack *extack)
+ {
+-      struct tc_ceetm_qopt *qopt;
+-      struct nlattr *tb[TCA_CEETM_QOPS + 1];
+-      int ret;
+       struct ceetm_qdisc *priv = qdisc_priv(sch);
+       struct net_device *dev = qdisc_dev(sch);
++      struct nlattr *tb[TCA_CEETM_QOPS + 1];
++      struct tc_ceetm_qopt *qopt;
++      int ret;
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+@@ -1158,7 +1159,8 @@ static int ceetm_init(struct Qdisc *sch,
+       if (ret)
+               return ret;
+-      ret = nla_parse_nested_deprecated(tb, TCA_CEETM_QOPS, opt, ceetm_policy, NULL);
++      ret = nla_parse_nested_deprecated(tb, TCA_CEETM_QOPS, opt,
++                                        ceetm_policy, NULL);
+       if (ret < 0) {
+               pr_err(KBUILD_BASENAME " : %s : tc error\n", __func__);
+               return ret;
+@@ -1265,8 +1267,8 @@ change_err:
+ static int ceetm_change_wbfs(struct Qdisc *sch, struct ceetm_qdisc *priv,
+                            struct tc_ceetm_qopt *qopt)
+ {
+-      int err;
+       bool group_b;
++      int err;
+       if (qopt->qcount) {
+               pr_err("CEETM: the qcount can not be modified\n");
+@@ -1324,15 +1326,16 @@ change_err:
+ static int ceetm_change(struct Qdisc *sch, struct nlattr *opt,
+                       struct netlink_ext_ack *extack)
+ {
+-      struct tc_ceetm_qopt *qopt;
+-      struct nlattr *tb[TCA_CEETM_QOPS + 1];
+-      int ret;
+       struct ceetm_qdisc *priv = qdisc_priv(sch);
+       struct net_device *dev = qdisc_dev(sch);
++      struct nlattr *tb[TCA_CEETM_QOPS + 1];
++      struct tc_ceetm_qopt *qopt;
++      int ret;
+       pr_debug(KBUILD_BASENAME " : %s : qdisc %X\n", __func__, sch->handle);
+-      ret = nla_parse_nested_deprecated(tb, TCA_CEETM_QOPS, opt, ceetm_policy, NULL);
++      ret = nla_parse_nested_deprecated(tb, TCA_CEETM_QOPS, opt,
++                                        ceetm_policy, NULL);
+       if (ret < 0) {
+               pr_err(KBUILD_BASENAME " : %s : tc error\n", __func__);
+               return ret;
+@@ -1381,8 +1384,8 @@ static int ceetm_change(struct Qdisc *sc
+  */
+ static void ceetm_attach(struct Qdisc *sch)
+ {
+-      struct net_device *dev = qdisc_dev(sch);
+       struct ceetm_qdisc *priv = qdisc_priv(sch);
++      struct net_device *dev = qdisc_dev(sch);
+       struct Qdisc *qdisc, *old_qdisc;
+       unsigned int i;
+@@ -1461,8 +1464,8 @@ static int ceetm_cls_change_prio(struct
+       }
+       if (cl->prio.cr != (bool)copt->cr) {
+-              err = qman_ceetm_channel_set_cq_cr_eligibility(
+-                                              cl->prio.cq->parent,
++              err = qman_ceetm_channel_set_cq_cr_eligibility
++                                              (cl->prio.cq->parent,
+                                               cl->prio.cq->idx,
+                                               copt->cr);
+               if (err)
+@@ -1471,8 +1474,8 @@ static int ceetm_cls_change_prio(struct
+       }
+       if (cl->prio.er != (bool)copt->er) {
+-              err = qman_ceetm_channel_set_cq_er_eligibility(
+-                                              cl->prio.cq->parent,
++              err = qman_ceetm_channel_set_cq_er_eligibility
++                                              (cl->prio.cq->parent,
+                                               cl->prio.cq->idx,
+                                               copt->er);
+               if (err)
+@@ -1517,15 +1520,15 @@ static int ceetm_cls_change(struct Qdisc
+                           struct nlattr **tca, unsigned long *arg,
+                           struct netlink_ext_ack *extack)
+ {
+-      int err;
+-      u64 bps;
+-      struct ceetm_qdisc *priv;
+       struct ceetm_class *cl = (struct ceetm_class *)*arg;
++      struct net_device *dev = qdisc_dev(sch);
+       struct nlattr *opt = tca[TCA_OPTIONS];
+       struct nlattr *tb[__TCA_CEETM_MAX];
+-      struct tc_ceetm_copt *copt;
+       struct qm_ceetm_channel *channel;
+-      struct net_device *dev = qdisc_dev(sch);
++      struct tc_ceetm_copt *copt;
++      struct ceetm_qdisc *priv;
++      int err;
++      u64 bps;
+       pr_debug(KBUILD_BASENAME " : %s : classid %X under qdisc %X\n",
+                __func__, classid, sch->handle);
+@@ -1552,7 +1555,8 @@ static int ceetm_cls_change(struct Qdisc
+               return -EINVAL;
+       }
+-      err = nla_parse_nested_deprecated(tb, TCA_CEETM_COPT, opt, ceetm_policy, NULL);
++      err = nla_parse_nested_deprecated(tb, TCA_CEETM_COPT, opt,
++                                        ceetm_policy, NULL);
+       if (err < 0) {
+               pr_err(KBUILD_BASENAME " : %s : tc error\n", __func__);
+               return -EINVAL;
+@@ -1714,8 +1718,8 @@ static int ceetm_cls_dump(struct Qdisc *
+                         struct sk_buff *skb, struct tcmsg *tcm)
+ {
+       struct ceetm_class *cl = (struct ceetm_class *)arg;
+-      struct nlattr *nest;
+       struct tc_ceetm_copt copt;
++      struct nlattr *nest;
+       pr_debug(KBUILD_BASENAME " : %s : class %X under qdisc %X\n",
+                __func__, cl->common.classid, sch->handle);
+@@ -1770,8 +1774,8 @@ nla_put_failure:
+ static int ceetm_cls_delete(struct Qdisc *sch, unsigned long arg)
+ {
+-      struct ceetm_qdisc *priv = qdisc_priv(sch);
+       struct ceetm_class *cl = (struct ceetm_class *)arg;
++      struct ceetm_qdisc *priv = qdisc_priv(sch);
+       pr_debug(KBUILD_BASENAME " : %s : class %X under qdisc %X\n",
+                __func__, cl->common.classid, sch->handle);
+@@ -1818,12 +1822,12 @@ static int ceetm_cls_graft(struct Qdisc
+ static int ceetm_cls_dump_stats(struct Qdisc *sch, unsigned long arg,
+                               struct gnet_dump *d)
+ {
+-      unsigned int i;
+       struct ceetm_class *cl = (struct ceetm_class *)arg;
+       struct gnet_stats_basic_packed tmp_bstats;
+       struct ceetm_class_stats *cstats = NULL;
+       struct qm_ceetm_cq *cq = NULL;
+       struct tc_ceetm_xstats xstats;
++      unsigned int i;
+       memset(&xstats, 0, sizeof(xstats));
+       memset(&tmp_bstats, 0, sizeof(tmp_bstats));
+@@ -1872,9 +1876,11 @@ static int ceetm_cls_dump_stats(struct Q
+ static struct tcf_block *ceetm_tcf_block(struct Qdisc *sch, unsigned long arg,
+                                        struct netlink_ext_ack *extack)
+ {
+-      struct ceetm_qdisc *priv = qdisc_priv(sch);
+       struct ceetm_class *cl = (struct ceetm_class *)arg;
+-      struct tcf_block *block = cl ? cl->block : priv->block;
++      struct ceetm_qdisc *priv = qdisc_priv(sch);
++      struct tcf_block *block;
++
++      block = cl ? cl->block : priv->block;
+       pr_debug(KBUILD_BASENAME " : %s : class %X under qdisc %X\n", __func__,
+                cl ? cl->common.classid : 0, sch->handle);
+@@ -1945,6 +1951,7 @@ static struct ceetm_class *ceetm_classif
+               case TC_ACT_STOLEN:
+               case TC_ACT_TRAP:
+                       *qerr = NET_XMIT_SUCCESS | __NET_XMIT_STOLEN;
++                      /* fall through */
+               case TC_ACT_SHOT:
+                       /* No valid class found due to action */
+                       *act_drop = true;