All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] r8169: remove unneeded mmiowb barriers
@ 2018-11-26 19:24 Heiner Kallweit
  2018-11-28  0:36 ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Heiner Kallweit @ 2018-11-26 19:24 UTC (permalink / raw)
  To: Realtek linux nic maintainers, David Miller; +Cc: netdev

writex() has implicit barriers, that's what makes it different from
writex_relaxed(). Therefore these calls to mmiowb() can be removed.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/ethernet/realtek/r8169.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 4114c2712..bb1847fd6 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1283,13 +1283,11 @@ static u16 rtl_get_events(struct rtl8169_private *tp)
 static void rtl_ack_events(struct rtl8169_private *tp, u16 bits)
 {
 	RTL_W16(tp, IntrStatus, bits);
-	mmiowb();
 }
 
 static void rtl_irq_disable(struct rtl8169_private *tp)
 {
 	RTL_W16(tp, IntrMask, 0);
-	mmiowb();
 }
 
 #define RTL_EVENT_NAPI_RX	(RxOK | RxErr)
@@ -6127,10 +6125,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
 	if (unlikely(stop_queue))
 		netif_stop_queue(dev);
 
-	if (__netdev_sent_queue(dev, skb->len, skb->xmit_more)) {
+	if (__netdev_sent_queue(dev, skb->len, skb->xmit_more))
 		RTL_W8(tp, TxPoll, NPQ);
-		mmiowb();
-	}
 
 	if (unlikely(stop_queue)) {
 		/* Sync with rtl_tx:
@@ -6481,9 +6477,7 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
 
 	if (work_done < budget) {
 		napi_complete_done(napi, work_done);
-
 		rtl_irq_enable(tp);
-		mmiowb();
 	}
 
 	return work_done;
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] r8169: remove unneeded mmiowb barriers
  2018-11-26 19:24 [PATCH net-next] r8169: remove unneeded mmiowb barriers Heiner Kallweit
@ 2018-11-28  0:36 ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2018-11-28  0:36 UTC (permalink / raw)
  To: hkallweit1; +Cc: nic_swsd, netdev

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 26 Nov 2018 20:24:16 +0100

> writex() has implicit barriers, that's what makes it different from
> writex_relaxed(). Therefore these calls to mmiowb() can be removed.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] r8169: remove unneeded mmiowb barriers
  2019-02-16  9:20 Heiner Kallweit
@ 2019-02-19  0:39 ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2019-02-19  0:39 UTC (permalink / raw)
  To: hkallweit1; +Cc: nic_swsd, netdev

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sat, 16 Feb 2019 10:20:15 +0100

> writex() has implicit barriers, that's what makes it different from
> writex_relaxed(). Therefore these calls to mmiowb() can be removed.
> 
> This patch was recently reverted due to a dependency with another
> problematic patch. But because it didn't contribute to the problem
> it was rebased and can be resubmitted.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH net-next] r8169: remove unneeded mmiowb barriers
@ 2019-02-16  9:20 Heiner Kallweit
  2019-02-19  0:39 ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Heiner Kallweit @ 2019-02-16  9:20 UTC (permalink / raw)
  To: Realtek linux nic maintainers, David Miller; +Cc: netdev

writex() has implicit barriers, that's what makes it different from
writex_relaxed(). Therefore these calls to mmiowb() can be removed.

This patch was recently reverted due to a dependency with another
problematic patch. But because it didn't contribute to the problem
it was rebased and can be resubmitted.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/ethernet/realtek/r8169.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 548fe260b..3cca2ffb2 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1288,13 +1288,11 @@ static u8 rtl8168d_efuse_read(struct rtl8169_private *tp, int reg_addr)
 static void rtl_ack_events(struct rtl8169_private *tp, u16 bits)
 {
 	RTL_W16(tp, IntrStatus, bits);
-	mmiowb();
 }
 
 static void rtl_irq_disable(struct rtl8169_private *tp)
 {
 	RTL_W16(tp, IntrMask, 0);
-	mmiowb();
 }
 
 #define RTL_EVENT_NAPI_RX	(RxOK | RxErr)
@@ -6251,8 +6249,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
 
 	RTL_W8(tp, TxPoll, NPQ);
 
-	mmiowb();
-
 	if (!rtl_tx_slots_avail(tp, MAX_SKB_FRAGS)) {
 		/* Avoid wrongly optimistic queue wake-up: rtl_tx thread must
 		 * not miss a ring update when it notices a stopped queue.
@@ -6597,9 +6593,7 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
 
 	if (work_done < budget) {
 		napi_complete_done(napi, work_done);
-
 		rtl_irq_enable(tp);
-		mmiowb();
 	}
 
 	return work_done;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-02-19  0:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 19:24 [PATCH net-next] r8169: remove unneeded mmiowb barriers Heiner Kallweit
2018-11-28  0:36 ` David Miller
2019-02-16  9:20 Heiner Kallweit
2019-02-19  0:39 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.