
Dear Daniel Hellstrom,
In message 1274194143-8994-2-git-send-email-daniel@gaisler.com you wrote:
Signed-off-by: Daniel Hellstrom daniel@gaisler.com
drivers/net/greth.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/net/greth.c b/drivers/net/greth.c index a1a88f9..143c773 100644 --- a/drivers/net/greth.c +++ b/drivers/net/greth.c @@ -146,13 +146,23 @@ int greth_init(struct eth_device *dev, bd_t * bis) printf("greth_init\n"); #endif
/* Reset core */
GRETH_REGSAVE(®s->control, (GRETH_RESET | (greth->gb << 8) |
(greth->sp << 7) | (greth->fd << 4)));
/* Wait for Reset to complete */
while ( GRETH_REGLOAD(®s->control) & GRETH_RESET) ;
GRETH_REGSAVE(®s->control,
((greth->gb << 8) | (greth->sp << 7) | (greth->fd << 4)));
if (!greth->rxbd_base) {
/* allocate descriptors */ greth->rxbd_base = (greth_bd *) memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd)); greth->txbd_base = (greth_bd *)
memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd));
memalign(0x1000, GRETH_TXBD_CNT * sizeof(greth_bd));
This...
/* allocate buffers to all descriptors */ greth->rxbuf_base =
@@ -185,7 +195,7 @@ int greth_init(struct eth_device *dev, bd_t * bis) for (i = 0; i < GRETH_TXBD_CNT; i++) { greth->txbd_base[i].addr = 0; /* enable desciptor & set wrap bit if last descriptor */
if (i >= (GRETH_RXBD_CNT - 1)) {
if (i >= (GRETH_TXBD_CNT - 1)) {
... and these seem to be unrelated bug fixes. These should go into a separate commit.
Best regards,
Wolfgang Denk