Re: [U-Boot] [PATCH] net: configure DWMAC DMA by default AXI burst length

2015-01-28 Thread Joe Hershberger
On Tue, Jan 27, 2015 at 9:24 PM, Sonic Zhang sonic@gmail.com wrote:

 Hi Joe,

 On Wed, Jan 28, 2015 at 4:43 AM, Joe Hershberger
 joe.hershber...@gmail.com wrote:
  On Mon, Jan 26, 2015 at 8:54 PM, sonic@gmail.com wrote:
 
  From: Sonic Zhang sonic.zh...@analog.com
 
  Board can define its own AXI burst length to improve DWMAC DMA
  performance.
 
  Signed-off-by: Sonic Zhang sonic.zh...@analog.com
  ---
 
   drivers/net/designware.c |2 ++
   drivers/net/designware.h |5 +
   2 files changed, 7 insertions(+)
 
  diff --git a/drivers/net/designware.c b/drivers/net/designware.c
  index 9ded895..d8d6792 100644
  --- a/drivers/net/designware.c
  +++ b/drivers/net/designware.c
  @@ -256,6 +256,8 @@ static int dw_eth_init(struct eth_device *dev, bd_t
  *bis)
 
  writel(readl(dma_p-opmode) | RXSTART | TXSTART,
dma_p-opmode);
 
  This should probably include:
  +#if CONFIG_DW_AXI_BURST_LEN
  so that this register is only accessed if configured.

 CONFIG_DW_AXI_BURST_LEN is always defined in designware.h in the same
patch.

 +/* Default AXI BUS Burst length */
 +#ifndef CONFIG_DW_AXI_BURST_LEN
 +#define CONFIG_DW_AXI_BURST_LEN 0
 +#endif
 +

Yes, I saw that... sorry I wasn't clear.  I meant don't we want to avoid
the write (preserving existing behavior) instead of ensuring that it is
set, and still adding a register write that is (presumably) a NOP?

-Joe
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] net: configure DWMAC DMA by default AXI burst length

2015-01-28 Thread Sonic Zhang
Hi Joe,

On Wed, Jan 28, 2015 at 5:42 PM, Joe Hershberger
joe.hershber...@gmail.com wrote:
 On Tue, Jan 27, 2015 at 9:24 PM, Sonic Zhang sonic@gmail.com wrote:

 Hi Joe,

 On Wed, Jan 28, 2015 at 4:43 AM, Joe Hershberger
 joe.hershber...@gmail.com wrote:
  On Mon, Jan 26, 2015 at 8:54 PM, sonic@gmail.com wrote:
 
  From: Sonic Zhang sonic.zh...@analog.com
 
  Board can define its own AXI burst length to improve DWMAC DMA
  performance.
 
  Signed-off-by: Sonic Zhang sonic.zh...@analog.com
  ---
 
   drivers/net/designware.c |2 ++
   drivers/net/designware.h |5 +
   2 files changed, 7 insertions(+)
 
  diff --git a/drivers/net/designware.c b/drivers/net/designware.c
  index 9ded895..d8d6792 100644
  --- a/drivers/net/designware.c
  +++ b/drivers/net/designware.c
  @@ -256,6 +256,8 @@ static int dw_eth_init(struct eth_device *dev, bd_t
  *bis)
 
  writel(readl(dma_p-opmode) | RXSTART | TXSTART,
  dma_p-opmode);
 
  This should probably include:
  +#if CONFIG_DW_AXI_BURST_LEN
  so that this register is only accessed if configured.

 CONFIG_DW_AXI_BURST_LEN is always defined in designware.h in the same
 patch.

 +/* Default AXI BUS Burst length */
 +#ifndef CONFIG_DW_AXI_BURST_LEN
 +#define CONFIG_DW_AXI_BURST_LEN 0
 +#endif
 +

 Yes, I saw that... sorry I wasn't clear.  I meant don't we want to avoid the
 write (preserving existing behavior) instead of ensuring that it is set, and
 still adding a register write that is (presumably) a NOP?
OK, I will update the patch.

Sonic
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] net: configure DWMAC DMA by default AXI burst length

2015-01-27 Thread Joe Hershberger
On Mon, Jan 26, 2015 at 8:54 PM, sonic@gmail.com wrote:

 From: Sonic Zhang sonic.zh...@analog.com

 Board can define its own AXI burst length to improve DWMAC DMA
performance.

 Signed-off-by: Sonic Zhang sonic.zh...@analog.com
 ---

  drivers/net/designware.c |2 ++
  drivers/net/designware.h |5 +
  2 files changed, 7 insertions(+)

 diff --git a/drivers/net/designware.c b/drivers/net/designware.c
 index 9ded895..d8d6792 100644
 --- a/drivers/net/designware.c
 +++ b/drivers/net/designware.c
 @@ -256,6 +256,8 @@ static int dw_eth_init(struct eth_device *dev, bd_t
*bis)

 writel(readl(dma_p-opmode) | RXSTART | TXSTART, dma_p-opmode);

This should probably include:
+#if CONFIG_DW_AXI_BURST_LEN
so that this register is only accessed if configured.
 +   writel((CONFIG_DW_AXI_BURST_LEN  0x1FF  1), dma_p-axibus);
 +
 /* Start up the PHY */
 if (phy_startup(priv-phydev)) {
 printf(Could not initialize PHY %s\n,
 diff --git a/drivers/net/designware.h b/drivers/net/designware.h
 index ce51102..d8bd84d 100644
 --- a/drivers/net/designware.h
 +++ b/drivers/net/designware.h
 @@ -102,6 +102,11 @@ struct eth_dma_regs {
  #define TXSECONDFRAME  (1  2)
  #define RXSTART(1  1)

 +/* Default AXI BUS Burst length */
 +#ifndef CONFIG_DW_AXI_BURST_LEN
 +#define CONFIG_DW_AXI_BURST_LEN 0
 +#endif
 +
  /* Descriptior related definitions */
  #define MAC_MAX_FRAME_SZ   (1600)

 --
 1.7.9.5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] net: configure DWMAC DMA by default AXI burst length

2015-01-27 Thread Sonic Zhang
Hi Joe,

On Wed, Jan 28, 2015 at 4:43 AM, Joe Hershberger
joe.hershber...@gmail.com wrote:
 On Mon, Jan 26, 2015 at 8:54 PM, sonic@gmail.com wrote:

 From: Sonic Zhang sonic.zh...@analog.com

 Board can define its own AXI burst length to improve DWMAC DMA
 performance.

 Signed-off-by: Sonic Zhang sonic.zh...@analog.com
 ---

  drivers/net/designware.c |2 ++
  drivers/net/designware.h |5 +
  2 files changed, 7 insertions(+)

 diff --git a/drivers/net/designware.c b/drivers/net/designware.c
 index 9ded895..d8d6792 100644
 --- a/drivers/net/designware.c
 +++ b/drivers/net/designware.c
 @@ -256,6 +256,8 @@ static int dw_eth_init(struct eth_device *dev, bd_t
 *bis)

 writel(readl(dma_p-opmode) | RXSTART | TXSTART, dma_p-opmode);

 This should probably include:
 +#if CONFIG_DW_AXI_BURST_LEN
 so that this register is only accessed if configured.

CONFIG_DW_AXI_BURST_LEN is always defined in designware.h in the same patch.

+/* Default AXI BUS Burst length */
+#ifndef CONFIG_DW_AXI_BURST_LEN
+#define CONFIG_DW_AXI_BURST_LEN 0
+#endif
+

Regards,

Sonic
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] net: configure DWMAC DMA by default AXI burst length

2015-01-26 Thread sonic.adi
From: Sonic Zhang sonic.zh...@analog.com

Board can define its own AXI burst length to improve DWMAC DMA performance.

Signed-off-by: Sonic Zhang sonic.zh...@analog.com
---

 drivers/net/designware.c |2 ++
 drivers/net/designware.h |5 +
 2 files changed, 7 insertions(+)

diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 9ded895..d8d6792 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -256,6 +256,8 @@ static int dw_eth_init(struct eth_device *dev, bd_t *bis)
 
writel(readl(dma_p-opmode) | RXSTART | TXSTART, dma_p-opmode);
 
+   writel((CONFIG_DW_AXI_BURST_LEN  0x1FF  1), dma_p-axibus);
+
/* Start up the PHY */
if (phy_startup(priv-phydev)) {
printf(Could not initialize PHY %s\n,
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index ce51102..d8bd84d 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -102,6 +102,11 @@ struct eth_dma_regs {
 #define TXSECONDFRAME  (1  2)
 #define RXSTART(1  1)
 
+/* Default AXI BUS Burst length */
+#ifndef CONFIG_DW_AXI_BURST_LEN
+#define CONFIG_DW_AXI_BURST_LEN 0
+#endif
+
 /* Descriptior related definitions */
 #define MAC_MAX_FRAME_SZ   (1600)
 
-- 
1.7.9.5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot