net: sh_eth: add cache handling
PATCH 1/2 net: sh_eth: add cache handling
Some CPU needs cache handling. So this patch add the config of CONFIG_SH_ETHER_CACHE_WRITEBACK, and it calls wback function.
--- drivers/net/sh_eth.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
drivers/net/sh_eth.c +9 -0
@@ -36,6 +36,12 @@#ifndef CONFIG_SH_ETHER_PHY_ADDR # error "Please define CONFIG_SH_ETHER_PHY_ADDR"#endif +#ifdef CONFIG_SH_ETHER_CACHE_WRITEBACK +#define flush_cache_wback (addr, len) \ + dcache_wback_range((u32)addr, (u32)(addr + len - 1)) +#else +#define flush_cache_wback (...) +#endif #define SH_ETH_PHY_DELAY 50000
@@ -197,6 +203,7 @@ int sh_eth_send(struct eth_device *dev, volatile void *packet, int len) }/* Update tx descriptor */ +flush_cache_wback (packet, len); port_info->tx_desc_cur->td2 =ADDR_TO_PHY (packet); port_info->tx_desc_cur->td1 = len <<16 ;/* Must preserve the end of descriptor list indication */
@@ -312,6 +319,7 @@ static int sh_eth_tx_desc_init(struct sh_eth_dev *eth) tmp_addr = (u32) (((int )port_info->tx_desc_malloc +TX_DESC_SIZE -1 ) & ~(TX_DESC_SIZE -1 )); +flush_cache_wback (tmp_addr,NUM_TX_DESC *sizeof (struct tx_desc_s ));/* Make sure we use a P2 address (non-cacheable) */ port_info->tx_desc_base = (struct tx_desc_s *)ADDR_TO_P2 (tmp_addr); port_info->tx_desc_cur = port_info->tx_desc_base;
@@ -361,6 +369,7 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth) tmp_addr = (u32) (((int )port_info->rx_desc_malloc +RX_DESC_SIZE -1 ) & ~(RX_DESC_SIZE -1 )); +flush_cache_wback (tmp_addr,NUM_RX_DESC *sizeof (struct rx_desc_s ));/* Make sure we use a P2 address (non-cacheable) */ port_info->rx_desc_base = (struct rx_desc_s *)ADDR_TO_P2 (tmp_addr);
Signature · 1 line
1.7.1
Nobuhiro Iwamatsu
AppliedPATCH 1/2 net: sh_eth: add cache handling
Quoted 8 lines · Yoshihiro Shimoda
Some CPU needs cache handling. So this patch add the config of
CONFIG_SH_ETHER_CACHE_WRITEBACK, and it calls wback function.Signed-off-by Yoshihiro Shimoda <[email protected]>--- drivers/net/sh_eth.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
Applied, thank.
Nobuhiro
PATCH 1/2 net: sh_eth: add cache handling
Dear Nobuhiro Iwamatsu,
Quoted 10 lines · In message <[email protected]> you wrote:
Quoted 8 lines · Yoshihiro Shimoda
Some CPU needs cache handling. So this patch add the config of
CONFIG_SH_ETHER_CACHE_WRITEBACK, and it calls wback function.Signed-off-by Yoshihiro Shimoda <[email protected]>--- drivers/net/sh_eth.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)Applied, thank.
You are a bit fast. Network code should go throughthe network custodian, or at least it requires his ACK.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de How does a project get to be a year late? ... One day at a time.
PATCH 1/2 net: sh_eth: add cache handling
In reply to Yoshihiro ShimodaDear Yoshihiro Shimoda,
Quoted 13 lines · In message <[email protected]> you wrote:
Some CPU needs cache handling. So this patch add the config of
CONFIG_SH_ETHER_CACHE_WRITEBACK, and it calls wback function.Signed-off-by Yoshihiro Shimoda <[email protected]>--- drivers/net/sh_eth.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)drivers/net/sh_eth.c +0
-0
drivers/net/sh_eth.c line 44
Quoted 9 lines
drivers/net/sh_eth.c +6
-0@@ -36,6 +36,12 @@#ifndef CONFIG_SH_ETHER_PHY_ADDR # error "Please define CONFIG_SH_ETHER_PHY_ADDR"#endif +#ifdef CONFIG_SH_ETHER_CACHE_WRITEBACK +#define flush_cache_wback (addr, len) \ + dcache_wback_range((u32)addr, (u32)(addr + len - 1)) +#else +#define flush_cache_wback (...) +#endif
New config options must be documented in the README.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de When all is said and done, more is said than done.
PATCH 1/2 net: sh_eth: add cache handling
Dear Wolfgang Denk,
Quoted 18 lines · Wolfgang Denk
Dear Yoshihiro Shimoda,
drivers/net/sh_eth.c line 44
Quoted 12 lines · In message <[email protected]> you wrote:
drivers/net/sh_eth.c +6
-0@@ -36,6 +36,12 @@#ifndef CONFIG_SH_ETHER_PHY_ADDR # error "Please define CONFIG_SH_ETHER_PHY_ADDR"#endif +#ifdef CONFIG_SH_ETHER_CACHE_WRITEBACK +#define flush_cache_wback (addr, len) \ + dcache_wback_range((u32)addr, (u32)(addr + len - 1)) +#else +#define flush_cache_wback (...) +#endif New config options must be documented in the README.
I will document about this option in the README.
The README isn't written about the driver now,
so I will document about this driver first.
Best regards,
Yoshihiro Shimoda