b44.c (aea983801c6b5e4e9af333a32220d580a77f6783) b44.c (e1c6dccaf3af291488fbad155d7ee6bc29db262a)
1/* b44.c: Broadcom 44xx/47xx Fast Ethernet device driver.
2 *
3 * Copyright (C) 2002 David S. Miller (davem@redhat.com)
4 * Copyright (C) 2004 Pekka Pietikainen (pp@ee.oulu.fi)
5 * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
6 * Copyright (C) 2006 Felix Fietkau (nbd@openwrt.org)
7 * Copyright (C) 2006 Broadcom Corporation.
8 * Copyright (C) 2007 Michael Buesch <m@bues.ch>

--- 45 unchanged lines hidden (view full) ---

54 NETIF_MSG_TX_ERR)
55
56/* length of time before we decide the hardware is borked,
57 * and dev->tx_timeout() should be called to fix the problem
58 */
59#define B44_TX_TIMEOUT (5 * HZ)
60
61/* hardware minimum and maximum for a single frame's data payload */
1/* b44.c: Broadcom 44xx/47xx Fast Ethernet device driver.
2 *
3 * Copyright (C) 2002 David S. Miller (davem@redhat.com)
4 * Copyright (C) 2004 Pekka Pietikainen (pp@ee.oulu.fi)
5 * Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
6 * Copyright (C) 2006 Felix Fietkau (nbd@openwrt.org)
7 * Copyright (C) 2006 Broadcom Corporation.
8 * Copyright (C) 2007 Michael Buesch <m@bues.ch>

--- 45 unchanged lines hidden (view full) ---

54 NETIF_MSG_TX_ERR)
55
56/* length of time before we decide the hardware is borked,
57 * and dev->tx_timeout() should be called to fix the problem
58 */
59#define B44_TX_TIMEOUT (5 * HZ)
60
61/* hardware minimum and maximum for a single frame's data payload */
62#define B44_MIN_MTU 60
63#define B44_MAX_MTU 1500
62#define B44_MIN_MTU ETH_ZLEN
63#define B44_MAX_MTU ETH_DATA_LEN
64
65#define B44_RX_RING_SIZE 512
66#define B44_DEF_RX_RING_PENDING 200
67#define B44_RX_RING_BYTES (sizeof(struct dma_desc) * \
68 B44_RX_RING_SIZE)
69#define B44_TX_RING_SIZE 512
70#define B44_DEF_TX_RING_PENDING (B44_TX_RING_SIZE - 1)
71#define B44_TX_RING_BYTES (sizeof(struct dma_desc) * \

--- 987 unchanged lines hidden (view full) ---

1059 rc = NETDEV_TX_BUSY;
1060 goto out_unlock;
1061}
1062
1063static int b44_change_mtu(struct net_device *dev, int new_mtu)
1064{
1065 struct b44 *bp = netdev_priv(dev);
1066
64
65#define B44_RX_RING_SIZE 512
66#define B44_DEF_RX_RING_PENDING 200
67#define B44_RX_RING_BYTES (sizeof(struct dma_desc) * \
68 B44_RX_RING_SIZE)
69#define B44_TX_RING_SIZE 512
70#define B44_DEF_TX_RING_PENDING (B44_TX_RING_SIZE - 1)
71#define B44_TX_RING_BYTES (sizeof(struct dma_desc) * \

--- 987 unchanged lines hidden (view full) ---

1059 rc = NETDEV_TX_BUSY;
1060 goto out_unlock;
1061}
1062
1063static int b44_change_mtu(struct net_device *dev, int new_mtu)
1064{
1065 struct b44 *bp = netdev_priv(dev);
1066
1067 if (new_mtu < B44_MIN_MTU || new_mtu > B44_MAX_MTU)
1068 return -EINVAL;
1069
1070 if (!netif_running(dev)) {
1071 /* We'll just catch it later when the
1072 * device is up'd.
1073 */
1074 dev->mtu = new_mtu;
1075 return 0;
1076 }
1077

--- 1294 unchanged lines hidden (view full) ---

2372 spin_lock_init(&bp->lock);
2373
2374 bp->rx_pending = B44_DEF_RX_RING_PENDING;
2375 bp->tx_pending = B44_DEF_TX_RING_PENDING;
2376
2377 dev->netdev_ops = &b44_netdev_ops;
2378 netif_napi_add(dev, &bp->napi, b44_poll, 64);
2379 dev->watchdog_timeo = B44_TX_TIMEOUT;
1067 if (!netif_running(dev)) {
1068 /* We'll just catch it later when the
1069 * device is up'd.
1070 */
1071 dev->mtu = new_mtu;
1072 return 0;
1073 }
1074

--- 1294 unchanged lines hidden (view full) ---

2369 spin_lock_init(&bp->lock);
2370
2371 bp->rx_pending = B44_DEF_RX_RING_PENDING;
2372 bp->tx_pending = B44_DEF_TX_RING_PENDING;
2373
2374 dev->netdev_ops = &b44_netdev_ops;
2375 netif_napi_add(dev, &bp->napi, b44_poll, 64);
2376 dev->watchdog_timeo = B44_TX_TIMEOUT;
2377 dev->min_mtu = B44_MIN_MTU;
2378 dev->max_mtu = B44_MAX_MTU;
2380 dev->irq = sdev->irq;
2381 dev->ethtool_ops = &b44_ethtool_ops;
2382
2383 err = ssb_bus_powerup(sdev->bus, 0);
2384 if (err) {
2385 dev_err(sdev->dev,
2386 "Failed to powerup the bus\n");
2387 goto err_out_free_dev;

--- 225 unchanged lines hidden ---
2379 dev->irq = sdev->irq;
2380 dev->ethtool_ops = &b44_ethtool_ops;
2381
2382 err = ssb_bus_powerup(sdev->bus, 0);
2383 if (err) {
2384 dev_err(sdev->dev,
2385 "Failed to powerup the bus\n");
2386 goto err_out_free_dev;

--- 225 unchanged lines hidden ---