Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1570512

[PATCH 08/17] net: stmmac: Use readl_poll_timeout

From Corentin Labbe <clabbe.montjoie@gmail.com>
Newsgroups linux.kernel
Subject [PATCH 08/17] net: stmmac: Use readl_poll_timeout
Date 2017-01-31 10:30 +0100
Message-ID <t5CVc-7pw-17@gated-at.bofh.it> (permalink)
References <t5CLw-7mj-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


The dwmac_dma_reset function use an open coded of readl_poll_timeout().
Replace the open coded handling with the proper function.

Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
index e4cda39..e60bfca 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
@@ -17,6 +17,7 @@
 *******************************************************************************/
 
 #include <linux/io.h>
+#include <linux/iopoll.h>
 #include "common.h"
 #include "dwmac_dma.h"
 
@@ -25,19 +26,16 @@
 int dwmac_dma_reset(void __iomem *ioaddr)
 {
 	u32 value = readl(ioaddr + DMA_BUS_MODE);
-	int limit;
+	int err;
 
 	/* DMA SW reset */
 	value |= DMA_BUS_MODE_SFT_RESET;
 	writel(value, ioaddr + DMA_BUS_MODE);
-	limit = 10;
-	while (limit--) {
-		if (!(readl(ioaddr + DMA_BUS_MODE) & DMA_BUS_MODE_SFT_RESET))
-			break;
-		mdelay(10);
-	}
 
-	if (limit < 0)
+	err = readl_poll_timeout(ioaddr + DMA_BUS_MODE, value,
+				 !(value & DMA_BUS_MODE_SFT_RESET),
+				 100000, 10000);
+	if (err)
 		return -EBUSY;
 
 	return 0;
-- 
2.10.2

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/17] net: stmmac: misc fix Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
  [PATCH 08/17] net: stmmac: Use readl_poll_timeout Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
  [PATCH 07/17] net: stmmac: replace stmmac_mdio_busy_wait by readl_poll_timeout Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
    Re: [PATCH 07/17] net: stmmac: replace stmmac_mdio_busy_wait by  readl_poll_timeout Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 11:40 +0100
      Re: [PATCH 07/17] net: stmmac: replace stmmac_mdio_busy_wait by  readl_poll_timeout Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:50 +0100
    Re: [PATCH 07/17] net: stmmac: replace stmmac_mdio_busy_wait by  readl_poll_timeout Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:50 +0100
  [PATCH 10/17] net: stmmac: Correct the error message about invalid speed Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
    Re: [PATCH 10/17] net: stmmac: Correct the error message about  invalid speed Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:10 +0100
  [PATCH 02/17] net: stmmac: Remove the bus_setup function pointer Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
    Re: [PATCH 02/17] net: stmmac: Remove the bus_setup function pointer Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:10 +0100
  [PATCH 11/17] net: stmmac: Rewrite two test against NULL value Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
    Re: [PATCH 11/17] net: stmmac: Rewrite two test against NULL value Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:10 +0100
  [PATCH 01/17] net: stmmac: fix the typo on MAC_RNABLE_RX Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:30 +0100
  [PATCH 14/17] net: stmmac: print phy information Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:50 +0100
    Re: [PATCH 14/17] net: stmmac: print phy information Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:20 +0100
      Re: [PATCH 14/17] net: stmmac: print phy information Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-02-03 14:20 +0100
  [PATCH 06/17] net: stmmac: fix some code style problem Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:50 +0100
    Re: [PATCH 06/17] net: stmmac: fix some code style problem Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:10 +0100
  [PATCH 05/17] net: stmmac: remplace asm/io.h by linux/io.h Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:50 +0100
  [PATCH 15/17] net: stmmac: remove dead code in stmmac_tx_clean Corentin Labbe <clabbe.montjoie@gmail.com> - 2017-01-31 10:50 +0100
  Re: [PATCH 00/17] net: stmmac: misc fix Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:10 +0100
    Re: [PATCH 00/17] net: stmmac: misc fix Joao Pinto <Joao.Pinto@synopsys.com> - 2017-01-31 11:40 +0100
      Re: [PATCH 00/17] net: stmmac: misc fix Giuseppe CAVALLARO <peppe.cavallaro@st.com> - 2017-01-31 11:40 +0100
        Re: [PATCH 00/17] net: stmmac: misc fix Joao Pinto <Joao.Pinto@synopsys.com> - 2017-01-31 11:50 +0100

csiph-web