X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fftmac100.c;h=bd94f83f04472a3997381e8264641e717c292cd6;hb=1a791892dcb5904c8b208535704714b07802e0b8;hp=2328cb51d2f7cd8a90c6b308a91e8f315ad71871;hpb=f1da206041e373c88171369e1c6f42c98d77f771;p=oweals%2Fu-boot.git diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c index 2328cb51d2..bd94f83f04 100644 --- a/drivers/net/ftmac100.c +++ b/drivers/net/ftmac100.c @@ -4,19 +4,7 @@ * (C) Copyright 2009 Faraday Technology * Po-Yu Chuang * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -30,8 +18,8 @@ #define ETH_ZLEN 60 struct ftmac100_data { - volatile struct ftmac100_txdes txdes[1]; - volatile struct ftmac100_rxdes rxdes[PKTBUFSRX]; + struct ftmac100_txdes txdes[1]; + struct ftmac100_rxdes rxdes[PKTBUFSRX]; int rx_index; }; @@ -88,8 +76,8 @@ static int ftmac100_init (struct eth_device *dev, bd_t *bd) { struct ftmac100 *ftmac100 = (struct ftmac100 *)dev->iobase; struct ftmac100_data *priv = dev->priv; - volatile struct ftmac100_txdes *txdes = priv->txdes; - volatile struct ftmac100_rxdes *rxdes = priv->rxdes; + struct ftmac100_txdes *txdes = priv->txdes; + struct ftmac100_rxdes *rxdes = priv->rxdes; unsigned int maccr; int i; @@ -114,7 +102,7 @@ static int ftmac100_init (struct eth_device *dev, bd_t *bd) for (i = 0; i < PKTBUFSRX; i++) { /* RXBUF_BADR */ - rxdes[i].rxdes2 = (unsigned int)NetRxPackets[i]; + rxdes[i].rxdes2 = (unsigned int)net_rx_packets[i]; rxdes[i].rxdes1 |= FTMAC100_RXDES1_RXBUF_SIZE (PKTSIZE_ALIGN); rxdes[i].rxdes0 = FTMAC100_RXDES0_RXDMA_OWN; } @@ -153,7 +141,7 @@ static int ftmac100_init (struct eth_device *dev, bd_t *bd) static int ftmac100_recv (struct eth_device *dev) { struct ftmac100_data *priv = dev->priv; - volatile struct ftmac100_rxdes *curr_des; + struct ftmac100_rxdes *curr_des; unsigned short rxlen; curr_des = &priv->rxdes[priv->rx_index]; @@ -176,7 +164,7 @@ static int ftmac100_recv (struct eth_device *dev) /* pass the packet up to the protocol layers. */ - NetReceive ((void *)curr_des->rxdes2, rxlen); + net_process_received_packet((void *)curr_des->rxdes2, rxlen); /* release buffer to DMA */ @@ -190,13 +178,12 @@ static int ftmac100_recv (struct eth_device *dev) /* * Send a data block via Ethernet */ -static int -ftmac100_send (struct eth_device *dev, volatile void *packet, int length) +static int ftmac100_send(struct eth_device *dev, void *packet, int length) { struct ftmac100 *ftmac100 = (struct ftmac100 *)dev->iobase; struct ftmac100_data *priv = dev->priv; - volatile struct ftmac100_txdes *curr_des = priv->txdes; - int tmo; + struct ftmac100_txdes *curr_des = priv->txdes; + ulong start; if (curr_des->txdes0 & FTMAC100_TXDES0_TXDMA_OWN) { debug ("%s(): no TX descriptor available\n", __func__); @@ -224,9 +211,9 @@ ftmac100_send (struct eth_device *dev, volatile void *packet, int length) /* wait for transfer to succeed */ - tmo = get_timer (0) + 5 * CONFIG_SYS_HZ; + start = get_timer(0); while (curr_des->txdes0 & FTMAC100_TXDES0_TXDMA_OWN) { - if (get_timer (0) >= tmo) { + if (get_timer(start) >= 5) { debug ("%s(): timed out\n", __func__); return -1; }