kernel: delete Linux 5.4 config and patches
[openwrt/staging/chunkeey.git] / target / linux / layerscape / patches-5.4 / 701-net-0210-dpaa2-eth-Add-dpni_set_tx_priorities-API.patch
diff --git a/target/linux/layerscape/patches-5.4/701-net-0210-dpaa2-eth-Add-dpni_set_tx_priorities-API.patch b/target/linux/layerscape/patches-5.4/701-net-0210-dpaa2-eth-Add-dpni_set_tx_priorities-API.patch
deleted file mode 100644 (file)
index 4ce16b6..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-From 97308e74e2ae781d37437137686965395b94327b Mon Sep 17 00:00:00 2001
-From: Bogdan Purcareata <bogdan.purcareata@nxp.com>
-Date: Mon, 16 Oct 2017 15:27:55 +0000
-Subject: [PATCH] dpaa2-eth: Add dpni_set_tx_priorities API
-
-Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
----
- drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h | 19 ++++++++++
- drivers/net/ethernet/freescale/dpaa2/dpni.c     | 49 +++++++++++++++++++++++++
- drivers/net/ethernet/freescale/dpaa2/dpni.h     | 44 ++++++++++++++++++++++
- 3 files changed, 112 insertions(+)
-
---- a/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
-+++ b/drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
-@@ -69,6 +69,7 @@
- #define DPNI_CMDID_REMOVE_FS_ENT                      DPNI_CMD(0x245)
- #define DPNI_CMDID_CLR_FS_ENT                         DPNI_CMD(0x246)
-+#define DPNI_CMDID_SET_TX_PRIORITIES                  DPNI_CMD_V2(0x250)
- #define DPNI_CMDID_GET_STATISTICS                     DPNI_CMD(0x25D)
- #define DPNI_CMDID_RESET_STATISTICS                   DPNI_CMD(0x25E)
- #define DPNI_CMDID_GET_QUEUE                          DPNI_CMD(0x25F)
-@@ -393,6 +394,24 @@ struct dpni_cmd_clear_mac_filters {
-       u8 flags;
- };
-+#define DPNI_SEPARATE_GRP_SHIFT 0
-+#define DPNI_SEPARATE_GRP_SIZE  1
-+#define DPNI_MODE_1_SHIFT             0
-+#define DPNI_MODE_1_SIZE              4
-+#define DPNI_MODE_2_SHIFT             4
-+#define DPNI_MODE_2_SIZE              4
-+
-+struct dpni_cmd_set_tx_priorities {
-+      __le16 flags;
-+      u8 prio_group_A;
-+      u8 prio_group_B;
-+      __le32 pad0;
-+      u8 modes[4];
-+      __le32 pad1;
-+      __le64 pad2;
-+      __le16 delta_bandwidth[8];
-+};
-+
- #define DPNI_DIST_MODE_SHIFT          0
- #define DPNI_DIST_MODE_SIZE           4
- #define DPNI_MISS_ACTION_SHIFT                4
---- a/drivers/net/ethernet/freescale/dpaa2/dpni.c
-+++ b/drivers/net/ethernet/freescale/dpaa2/dpni.c
-@@ -1355,6 +1355,55 @@ int dpni_clear_mac_filters(struct fsl_mc
- }
- /**
-+ * dpni_set_tx_priorities() - Set transmission TC priority configuration
-+ * @mc_io:    Pointer to MC portal's I/O object
-+ * @cmd_flags:        Command flags; one or more of 'MC_CMD_FLAG_'
-+ * @token:    Token of DPNI object
-+ * @cfg:      Transmission selection configuration
-+ *
-+ * warning:   Allowed only when DPNI is disabled
-+ *
-+ * Return:    '0' on Success; Error code otherwise.
-+ */
-+int dpni_set_tx_priorities(struct fsl_mc_io *mc_io,
-+                         u32 cmd_flags,
-+                         u16 token,
-+                         const struct dpni_tx_priorities_cfg *cfg)
-+{
-+      struct dpni_cmd_set_tx_priorities *cmd_params;
-+      struct fsl_mc_command cmd = { 0 };
-+      int i;
-+
-+      /* prepare command */
-+      cmd.header = mc_encode_cmd_header(DPNI_CMDID_SET_TX_PRIORITIES,
-+                                        cmd_flags,
-+                                        token);
-+      cmd_params = (struct dpni_cmd_set_tx_priorities *)cmd.params;
-+      dpni_set_field(cmd_params->flags,
-+                     SEPARATE_GRP,
-+                     cfg->separate_groups);
-+      cmd_params->prio_group_A = cfg->prio_group_A;
-+      cmd_params->prio_group_B = cfg->prio_group_B;
-+
-+      for (i = 0; i + 1 < DPNI_MAX_TC; i += 2) {
-+              dpni_set_field(cmd_params->modes[i / 2],
-+                             MODE_1,
-+                             cfg->tc_sched[i].mode);
-+              dpni_set_field(cmd_params->modes[i / 2],
-+                             MODE_2,
-+                             cfg->tc_sched[i + 1].mode);
-+      }
-+
-+      for (i = 0; i < DPNI_MAX_TC; i++) {
-+              cmd_params->delta_bandwidth[i] =
-+                              cpu_to_le16(cfg->tc_sched[i].delta_bandwidth);
-+      }
-+
-+      /* send command to mc*/
-+      return mc_send_command(mc_io, &cmd);
-+}
-+
-+/**
-  * dpni_set_rx_tc_dist() - Set Rx traffic class distribution configuration
-  * @mc_io:    Pointer to MC portal's I/O object
-  * @cmd_flags:        Command flags; one or more of 'MC_CMD_FLAG_'
---- a/drivers/net/ethernet/freescale/dpaa2/dpni.h
-+++ b/drivers/net/ethernet/freescale/dpaa2/dpni.h
-@@ -677,6 +677,50 @@ int dpni_prepare_key_cfg(const struct dp
-                        u8 *key_cfg_buf);
- /**
-+ * enum dpni_tx_schedule_mode - DPNI Tx scheduling mode
-+ * @DPNI_TX_SCHED_STRICT_PRIORITY: strict priority
-+ * @DPNI_TX_SCHED_WEIGHTED_A: weighted based scheduling in group A
-+ * @DPNI_TX_SCHED_WEIGHTED_B: weighted based scheduling in group B
-+ */
-+enum dpni_tx_schedule_mode {
-+      DPNI_TX_SCHED_STRICT_PRIORITY = 0,
-+      DPNI_TX_SCHED_WEIGHTED_A,
-+      DPNI_TX_SCHED_WEIGHTED_B,
-+};
-+
-+/**
-+ * struct dpni_tx_schedule_cfg - Structure representing Tx scheduling conf
-+ * @mode:             Scheduling mode
-+ * @delta_bandwidth:  Bandwidth represented in weights from 100 to 10000;
-+ *    not applicable for 'strict-priority' mode;
-+ */
-+struct dpni_tx_schedule_cfg {
-+      enum dpni_tx_schedule_mode mode;
-+      u16 delta_bandwidth;
-+};
-+
-+/**
-+ * struct dpni_tx_priorities_cfg - Structure representing transmission
-+ *                                    priorities for DPNI TCs
-+ * @tc_sched: An array of traffic-classes
-+ * @prio_group_A: Priority of group A
-+ * @prio_group_B: Priority of group B
-+ * @separate_groups: Treat A and B groups as separate
-+ * @ceetm_ch_idx: ceetm channel index to apply the changes
-+ */
-+struct dpni_tx_priorities_cfg {
-+      struct dpni_tx_schedule_cfg tc_sched[DPNI_MAX_TC];
-+      u8 prio_group_A;
-+      u8 prio_group_B;
-+      u8 separate_groups;
-+};
-+
-+int dpni_set_tx_priorities(struct fsl_mc_io *mc_io,
-+                         u32 cmd_flags,
-+                         u16 token,
-+                         const struct dpni_tx_priorities_cfg *cfg);
-+
-+/**
-  * struct dpni_rx_tc_dist_cfg - Rx traffic class distribution configuration
-  * @dist_size: Set the distribution size;
-  *    supported values: 1,2,3,4,6,7,8,12,14,16,24,28,32,48,56,64,96,