ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
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
index 0000000..13ae5e5
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0365-sdk_dpaa-ceetm-coding-style-cleanup.patch
@@ -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;