summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlok Makhariya <B46187@freescale.com>2015-10-16 14:00:09 (GMT)
committerAlok Makhariya <B46187@freescale.com>2015-10-23 06:40:13 (GMT)
commitb8d41cb8da3697f99cd5bccbb9e1390940cda3c5 (patch)
treee5586bf00d6679896e37af6025f7b92eb72f7ea8
parent18b0779a47ba765a5f02113450ef5f1d7c4f9acb (diff)
downloadlinux-fsl-qoriq-b8d41cb8da3697f99cd5bccbb9e1390940cda3c5.tar.xz
dev-asf-qos - correcting the qos hooks for dpaa linux qos
ASF_EGRESS_QOS should be disabled for DPAA platforms. ASF_LINUX_QOS may be enabled for DPAA platforms. the l2blob shall be offloaded from ceetm instead of hook from the dev.c Signed-off-by: Alok Makhariya <B46187@freescale.com>
-rw-r--r--include/net/sch_generic.h2
-rw-r--r--net/core/dev.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 6fabded..09eb648 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -767,7 +767,7 @@ void tbf_hook_fn_register(tbf_add_hook *add,
struct Qdisc *tbf_get_inner_qdisc(struct Qdisc *sch);
#endif
-#ifdef CONFIG_ASF_EGRESS_QOS
+#if defined(CONFIG_ASF_EGRESS_QOS) || defined(CONFIG_ASF_LINUX_QOS)
typedef int asf_qos_fn_hook(struct sk_buff *skb);
void asf_qos_fn_register(asf_qos_fn_hook *fn);
#endif
diff --git a/net/core/dev.c b/net/core/dev.c
index 402b7ce..dd354f0 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2556,9 +2556,10 @@ static inline int skb_needs_linearize(struct sk_buff *skb,
!(features & NETIF_F_SG)));
}
-#ifdef CONFIG_ASF_EGRESS_QOS
+#if defined(CONFIG_ASF_EGRESS_QOS) || defined(CONFIG_ASF_LINUX_QOS)
/* Linux QoS hook to tranfer all packet to ASF QoS */
-static asf_qos_fn_hook *asf_qos_fn;
+asf_qos_fn_hook *asf_qos_fn;
+EXPORT_SYMBOL(asf_qos_fn);
void asf_qos_fn_register(asf_qos_fn_hook *fn)
{
@@ -2848,7 +2849,7 @@ int dev_queue_xmit(struct sk_buff *skb)
skb_update_prio(skb);
-#ifdef CONFIG_ASF_EGRESS_QOS
+#if defined(CONFIG_ASF_EGRESS_QOS) || defined(CONFIG_ASF_LINUX_QOS)
if (asf_qos_fn) {
rc = asf_qos_fn(skb);
if (!rc)