]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop 4.16 patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 May 2018 23:47:50 +0000 (16:47 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 May 2018 23:47:50 +0000 (16:47 -0700)
queue-4.16/net-qlge-eliminate-duplicate-barriers-on-weakly-ordered-archs.patch [deleted file]
queue-4.16/series

diff --git a/queue-4.16/net-qlge-eliminate-duplicate-barriers-on-weakly-ordered-archs.patch b/queue-4.16/net-qlge-eliminate-duplicate-barriers-on-weakly-ordered-archs.patch
deleted file mode 100644 (file)
index 9546668..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From foo@baz Tue May  1 14:59:17 PDT 2018
-From: Sinan Kaya <okaya@codeaurora.org>
-Date: Sun, 25 Mar 2018 10:39:19 -0400
-Subject: net: qlge: Eliminate duplicate barriers on weakly-ordered archs
-
-From: Sinan Kaya <okaya@codeaurora.org>
-
-[ Upstream commit e42d8cee343a545ac2d9557a3b28708bbca2bd31 ]
-
-Code includes wmb() followed by writel(). writel() already has a barrier on
-some architectures like arm64.
-
-This ends up CPU observing two barriers back to back before executing the
-register write.
-
-Create a new wrapper function with relaxed write operator. Use the new
-wrapper when a write is following a wmb().
-
-Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/qlogic/qlge/qlge.h      |   16 ++++++++++++++++
- drivers/net/ethernet/qlogic/qlge/qlge_main.c |    3 ++-
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/qlogic/qlge/qlge.h
-+++ b/drivers/net/ethernet/qlogic/qlge/qlge.h
-@@ -2185,6 +2185,22 @@ static inline void ql_write_db_reg(u32 v
- }
- /*
-+ * Doorbell Registers:
-+ * Doorbell registers are virtual registers in the PCI memory space.
-+ * The space is allocated by the chip during PCI initialization.  The
-+ * device driver finds the doorbell address in BAR 3 in PCI config space.
-+ * The registers are used to control outbound and inbound queues. For
-+ * example, the producer index for an outbound queue.  Each queue uses
-+ * 1 4k chunk of memory.  The lower half of the space is for outbound
-+ * queues. The upper half is for inbound queues.
-+ * Caller has to guarantee ordering.
-+ */
-+static inline void ql_write_db_reg_relaxed(u32 val, void __iomem *addr)
-+{
-+      writel_relaxed(val, addr);
-+}
-+
-+/*
-  * Shadow Registers:
-  * Outbound queues have a consumer index that is maintained by the chip.
-  * Inbound queues have a producer index that is maintained by the chip.
---- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
-+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
-@@ -2700,7 +2700,8 @@ static netdev_tx_t qlge_send(struct sk_b
-               tx_ring->prod_idx = 0;
-       wmb();
--      ql_write_db_reg(tx_ring->prod_idx, tx_ring->prod_idx_db_reg);
-+      ql_write_db_reg_relaxed(tx_ring->prod_idx, tx_ring->prod_idx_db_reg);
-+      mmiowb();
-       netif_printk(qdev, tx_queued, KERN_DEBUG, qdev->ndev,
-                    "tx queued, slot %d, len %d\n",
-                    tx_ring->prod_idx, skb->len);
index e4fed7b53f9aae88c7e95fbb19d702d528b5bbbe..55593780b763ad31230ebea23bb11d8df1eb3fff 100644 (file)
@@ -93,7 +93,6 @@ selftests-print-the-test-we-re-running-to-dev-kmsg.patch
 i40e-hold-the-rtnl-lock-while-changing-interrupt-schemes.patch
 net-mlx5-protect-from-command-bit-overflow.patch
 watchdog-davinci_wdt-fix-error-handling-in-davinci_wdt_probe.patch
-net-qlge-eliminate-duplicate-barriers-on-weakly-ordered-archs.patch
 net-hns3-fix-for-the-wrong-shift-problem-in-hns3_set_txbd_baseinfo.patch
 net-hns3-fix-for-returning-wrong-value-problem-in-hns3_get_rss_indir_size.patch
 net-hns3-fix-for-returning-wrong-value-problem-in-hns3_get_rss_key_size.patch