aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch
diff options
context:
space:
mode:
authorYangbo Lu <yangbo.lu@nxp.com>2020-04-10 10:47:05 +0800
committerPetr Štetiar <ynezz@true.cz>2020-05-07 12:53:06 +0200
commitcddd4591404fb4c53dc0b3c0b15b942cdbed4356 (patch)
tree392c1179de46b0f804e3789edca19069b64e6b44 /target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch
parentd1d2c0b5579ea4f69a42246c9318539d61ba1999 (diff)
downloadupstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.tar.gz
upstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.tar.bz2
upstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.zip
layerscape: add patches-5.4
Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release which was tagged LSDK-20.04-V5.4. https://source.codeaurora.org/external/qoriq/qoriq-components/linux/ For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in LSDK, port the dts patches from 4.14. The patches are sorted into the following categories: 301-arch-xxxx 302-dts-xxxx 303-core-xxxx 701-net-xxxx 801-audio-xxxx 802-can-xxxx 803-clock-xxxx 804-crypto-xxxx 805-display-xxxx 806-dma-xxxx 807-gpio-xxxx 808-i2c-xxxx 809-jailhouse-xxxx 810-keys-xxxx 811-kvm-xxxx 812-pcie-xxxx 813-pm-xxxx 814-qe-xxxx 815-sata-xxxx 816-sdhc-xxxx 817-spi-xxxx 818-thermal-xxxx 819-uart-xxxx 820-usb-xxxx 821-vfio-xxxx Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch77
1 files changed, 77 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch b/target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch
new file mode 100644
index 0000000000..4ed5b04f50
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0289-staging-fsl_ppfe-eth-fix-read-write-ack-idx-issue.patch
@@ -0,0 +1,77 @@
+From f44630f1e12462921245feb91fe94d225ba90f9c Mon Sep 17 00:00:00 2001
+From: Calvin Johnson <calvin.johnson@nxp.com>
+Date: Wed, 18 Oct 2017 18:34:41 +0530
+Subject: [PATCH] staging: fsl_ppfe/eth: fix read/write/ack idx issue
+
+While fixing checkpatch errors some of the index increments
+were commented out. They are enabled.
+
+Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
+---
+ drivers/staging/fsl_ppfe/pfe_hif.c | 8 ++++----
+ drivers/staging/fsl_ppfe/pfe_hif_lib.c | 9 +++------
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+--- a/drivers/staging/fsl_ppfe/pfe_hif.c
++++ b/drivers/staging/fsl_ppfe/pfe_hif.c
+@@ -511,9 +511,9 @@ static void *client_put_rxpacket(struct
+ */
+ smp_wmb();
+ writel(CL_DESC_BUF_LEN(len) | flags, &desc->ctrl);
+- /* queue->write_idx = (queue->write_idx + 1)
+- * & (queue->size - 1);
+- */
++ queue->write_idx = (queue->write_idx + 1)
++ & (queue->size - 1);
++
+ free_pkt += pfe_pkt_headroom;
+ }
+ }
+@@ -703,7 +703,7 @@ static int client_ack_txpacket(struct pf
+
+ if (readl(&desc->ctrl) & CL_DESC_OWN) {
+ writel((readl(&desc->ctrl) & ~CL_DESC_OWN), &desc->ctrl);
+- /* queue->ack_idx = (queue->ack_idx + 1) & (queue->size - 1); */
++ queue->ack_idx = (queue->ack_idx + 1) & (queue->size - 1);
+
+ return 0;
+
+--- a/drivers/staging/fsl_ppfe/pfe_hif_lib.c
++++ b/drivers/staging/fsl_ppfe/pfe_hif_lib.c
+@@ -211,9 +211,6 @@ err:
+ return 1;
+ }
+
+-#define inc_cl_idx(idxname) \
+- ({ typeof(idxname) idxname_ = (idxname); \
+- ((idxname_) = (idxname_ + 1) & (queue->size - 1)); })
+
+ static void hif_lib_client_cleanup_tx_queue(struct hif_client_tx_queue *queue)
+ {
+@@ -465,7 +462,7 @@ void *hif_lib_receive_pkt(struct hif_cli
+ smp_wmb();
+
+ desc->ctrl = CL_DESC_BUF_LEN(pfe_pkt_size) | CL_DESC_OWN;
+- inc_cl_idx(queue->read_idx);
++ queue->read_idx = (queue->read_idx + 1) & (queue->size - 1);
+ }
+
+ /*spin_unlock_irqrestore(&client->rx_lock, flags); */
+@@ -507,7 +504,7 @@ void __hif_lib_xmit_pkt(struct hif_clien
+
+ __hif_xmit_pkt(&pfe->hif, client->id, qno, data, len, flags);
+
+- inc_cl_idx(queue->write_idx);
++ queue->write_idx = (queue->write_idx + 1) & (queue->size - 1);
+ queue->tx_pending++;
+ queue->jiffies_last_packet = jiffies;
+ }
+@@ -544,7 +541,7 @@ void *hif_lib_tx_get_next_complete(struc
+ if (desc->ctrl & CL_DESC_OWN)
+ return NULL;
+
+- inc_cl_idx(queue->read_idx);
++ queue->read_idx = (queue->read_idx + 1) & (queue->size - 1);
+ queue->tx_pending--;
+
+ *flags = CL_DESC_GET_FLAGS(desc->ctrl);