mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
65 lines
2.8 KiB
Diff
65 lines
2.8 KiB
Diff
|
From 551cd6add98fb3bde24ee8e4ffa76aec9fd9d40c Mon Sep 17 00:00:00 2001
|
||
|
From: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
||
|
Date: Mon, 2 Oct 2017 14:45:56 +0000
|
||
|
Subject: [PATCH] dpaa2-eth: Add API for ceetm_id + tc in set congestion
|
||
|
|
||
|
Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
||
|
---
|
||
|
drivers/net/ethernet/freescale/dpaa2/dpni.c | 15 ++++++++++++---
|
||
|
drivers/net/ethernet/freescale/dpaa2/dpni.h | 6 ++++++
|
||
|
2 files changed, 18 insertions(+), 3 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpni.c
|
||
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c
|
||
|
@@ -1448,7 +1448,10 @@ int dpni_set_rx_tc_dist(struct fsl_mc_io
|
||
|
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
|
||
|
* @token: Token of DPNI object
|
||
|
* @qtype: Type of queue - Rx, Tx and Tx confirm types are supported
|
||
|
- * @tc_id: Traffic class selection (0-7)
|
||
|
+ * @tc_id: bits 7-4 contain ceetm channel index (valid only for TX);
|
||
|
+ * bits 3-0 contain traffic class.
|
||
|
+ * Use macro DPNI_BUILD_CH_TC() to build correct value for
|
||
|
+ * tc_id parameter
|
||
|
* @cfg: Congestion notification configuration
|
||
|
*
|
||
|
* Return: '0' on Success; error code otherwise.
|
||
|
@@ -1674,7 +1677,10 @@ int dpni_reset_statistics(struct fsl_mc_
|
||
|
* @cg_point: Congestion point
|
||
|
* @q_type: Queue type on which the taildrop is configured.
|
||
|
* Only Rx queues are supported for now
|
||
|
- * @tc: Traffic class to apply this taildrop to
|
||
|
+ * @tc: bits 7-4 contain ceetm channel index (valid only for TX);
|
||
|
+ * bits 3-0 contain traffic class.
|
||
|
+ * Use macro DPNI_BUILD_CH_TC() to build correct value for
|
||
|
+ * tc parameter.
|
||
|
* @q_index: Index of the queue if the DPNI supports multiple queues for
|
||
|
* traffic distribution. Ignored if CONGESTION_POINT is not 0.
|
||
|
* @taildrop: Taildrop structure
|
||
|
@@ -1718,7 +1724,10 @@ int dpni_set_taildrop(struct fsl_mc_io *
|
||
|
* @cg_point: Congestion point
|
||
|
* @q_type: Queue type on which the taildrop is configured.
|
||
|
* Only Rx queues are supported for now
|
||
|
- * @tc: Traffic class to apply this taildrop to
|
||
|
+ * @tc: bits 7-4 contain ceetm channel index (valid only for TX);
|
||
|
+ * bits 3-0 contain traffic class.
|
||
|
+ * Use macro DPNI_BUILD_CH_TC() to build correct value for
|
||
|
+ * tc parameter.
|
||
|
* @q_index: Index of the queue if the DPNI supports multiple queues for
|
||
|
* traffic distribution. Ignored if CONGESTION_POINT is not 0.
|
||
|
* @taildrop: Taildrop structure
|
||
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpni.h
|
||
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h
|
||
|
@@ -996,6 +996,12 @@ struct dpni_congestion_notification_cfg
|
||
|
u16 notification_mode;
|
||
|
};
|
||
|
|
||
|
+/** Compose TC parameter for function dpni_set_congestion_notification()
|
||
|
+ * and dpni_get_congestion_notification().
|
||
|
+ */
|
||
|
+#define DPNI_BUILD_CH_TC(ceetm_ch_idx, tc) \
|
||
|
+ ((((ceetm_ch_idx) & 0x0F) << 4) | ((tc) & 0x0F))
|
||
|
+
|
||
|
int dpni_set_congestion_notification(
|
||
|
struct fsl_mc_io *mc_io,
|
||
|
u32 cmd_flags,
|