|
@@ -45,7 +45,7 @@
|
|
/* ByPass Cache when reading regs */
|
|
/* ByPass Cache when reading regs */
|
|
#define GRETH_REGLOAD(addr) SPARC_NOCACHE_READ(addr)
|
|
#define GRETH_REGLOAD(addr) SPARC_NOCACHE_READ(addr)
|
|
/* Write-through cache ==> no bypassing needed on writes */
|
|
/* Write-through cache ==> no bypassing needed on writes */
|
|
-#define GRETH_REGSAVE(addr,data) (*(unsigned int *)(addr) = (data))
|
|
|
|
|
|
+#define GRETH_REGSAVE(addr,data) (*(volatile unsigned int *)(addr) = (data))
|
|
#define GRETH_REGORIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)|data)
|
|
#define GRETH_REGORIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)|data)
|
|
#define GRETH_REGANDIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)&data)
|
|
#define GRETH_REGANDIN(addr,data) GRETH_REGSAVE(addr,GRETH_REGLOAD(addr)&data)
|
|
|
|
|
|
@@ -146,8 +146,6 @@ int greth_init(struct eth_device *dev, bd_t * bis)
|
|
printf("greth_init\n");
|
|
printf("greth_init\n");
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- GRETH_REGSAVE(®s->control, 0);
|
|
|
|
-
|
|
|
|
if (!greth->rxbd_base) {
|
|
if (!greth->rxbd_base) {
|
|
|
|
|
|
/* allocate descriptors */
|
|
/* allocate descriptors */
|