05 Feb, 2009

6 commits

  • The MDIO bus drivers for the UCC and gianfar ethernet controllers are
    essentially the same. There's no reason to duplicate that much code.

    Signed-off-by: Andy Fleming
    Signed-off-by: David S. Miller

    Andy Fleming
     
  • Many physical NICs let the OS re-program the "hardware" MAC
    address. Virtual NICs should allow this too.

    Signed-off-by: Alex Williamson
    Acked-by: Mark McLoughlin
    Signed-off-by: David S. Miller

    Alex Williamson
     
  • VLAN filtering allows the hypervisor to drop packets from VLANs
    that we're not a part of, further reducing the number of extraneous
    packets recieved. This makes use of the VLAN virtqueue command class.
    The CTRL_VLAN feature bit tells us whether the backend supports VLAN
    filtering.

    Signed-off-by: Alex Williamson
    Acked-by: Rusty Russell
    Signed-off-by: David S. Miller

    Alex Williamson
     
  • Make use of the MAC control virtqueue class to support a MAC
    filter table. The filter table is managed by the hypervisor.
    We consider the table to be available if the CTRL_RX feature
    bit is set. We leave it to the hypervisor to manage the table
    and enable promiscuous or all-multi mode as necessary depending
    on the resources available to it.

    Signed-off-by: Alex Williamson
    Acked-by: Rusty Russell
    Signed-off-by: David S. Miller

    Alex Williamson
     
  • Make use of the RX_MODE control virtqueue class to enable the
    set_rx_mode netdev interface. This allows us to selectively
    enable/disable promiscuous and allmulti mode so we don't see
    packets we don't want. For now, we automatically enable these
    as needed if additional unicast or multicast addresses are
    requested.

    Signed-off-by: Alex Williamson
    Acked-by: Rusty Russell
    Signed-off-by: David S. Miller

    Alex Williamson
     
  • This will be used for RX mode, MAC filter table, VLAN filtering, etc...

    The control transaction consists of one or more "out" sg entries and
    one or more "in" sg entries. The first out entry contains a header
    defining the class and command. Additional out entries may provide
    data for the command. The last in entry provides a status response
    back from the command.

    Virtqueues typically run asynchronous, running a callback function
    when there's data in the channel. We can't readily make use of this
    in the command paths where we need to use this. Instead, we kick
    the virtqueue and spin. The kick causes an I/O write, triggering an
    immediate trap into the hypervisor.

    Signed-off-by: Alex Williamson
    Acked-by: Rusty Russell
    Signed-off-by: David S. Miller

    Alex Williamson
     

04 Feb, 2009

6 commits


03 Feb, 2009

9 commits


02 Feb, 2009

1 commit


01 Feb, 2009

18 commits

  • New year, new copyright date ranges. Also bump the driver version
    number to reflect many of the recent changes.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Peter P Waskiewicz Jr
     
  • Our current MSI-X allocation mechanism does not support new hardware
    at all. It also isn't getting the actual number of supported MSI-X vectors
    from the device.

    This patch allows the number of MSI-X vectors to be specific to a device,
    plus it gets the number of MSI-X vectors available from PCIe configuration
    space.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Peter P Waskiewicz Jr
     
  • Add the device ID for BX devices using the 82598 MAC.

    Signed-off-by: Don Skidmore
    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Don Skidmore
     
  • This turns the fec driver into a platform device driver for new
    platforms. Old platforms are still supported through a FEC_LEGACY define
    till they are also ported.

    Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • flush_dcache_range is not portable across architectures. Use
    dma_sync_single instead. Also, the memory must be synchronised in the
    receive path aswell.

    Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • According to the datasheet the ICSR register is at offset 27, not 22.

    Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • There are some architecture specific functions which are all
    empty. Remove them.

    Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • The #else branches throughout this driver belong to a PowerPC 8xx for
    which this driver is not used.

    Signed-off-by: Sascha Hauer
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • This patch fixes following sparse warnings:

    CHECK gianfar_ethtool.c
    gianfar_ethtool.c:610:26: warning: symbol 'gfar_ethtool_ops' was not declared. Should it be static?
    CHECK gianfar_mii.c
    gianfar_mii.c:108:35: warning: cast adds address space to expression ()
    gianfar_mii.c:119:35: warning: cast adds address space to expression ()
    gianfar_mii.c:128:35: warning: cast adds address space to expression ()
    gianfar_mii.c:272:5: warning: cast removes address space of expression
    gianfar_mii.c:271:15: warning: cast adds address space to expression ()
    gianfar_mii.c:340:11: warning: cast adds address space to expression ()
    CHECK gianfar_sysfs.c
    gianfar_sysfs.c:84:1: warning: symbol 'dev_attr_bd_stash' was not declared. Should it be static?
    gianfar_sysfs.c:133:1: warning: symbol 'dev_attr_rx_stash_size' was not declared. Should it be static?
    gianfar_sysfs.c:175:1: warning: symbol 'dev_attr_rx_stash_index' was not declared. Should it be static?
    gianfar_sysfs.c:213:1: warning: symbol 'dev_attr_fifo_threshold' was not declared. Should it be static?
    gianfar_sysfs.c:250:1: warning: symbol 'dev_attr_fifo_starve' was not declared. Should it be static?
    gianfar_sysfs.c:287:1: warning: symbol 'dev_attr_fifo_starve_off' was not declared. Should it be static?

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • In most cases (e.g. PCI drivers) MDIO and MAC controllers are
    represented by the same device. But for SOC ethernets we have
    separate devices. So, in SOC case, checking whether MDIO
    controller may wakeup is not only makes little sense, but also
    prevents us from doing per-netdevice wakeup management.

    This patch reworks suspend/resume code so that now it checks
    for net device's wakeup flags, not MDIO controller's ones.

    Each netdevice should manage its wakeup flags, and phylib will
    decide whether suspend an attached PHY or not.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • This patch implements wakeup management for the gianfar driver.

    The driver should set wakeup enable if WOL is enabled, so that
    phylib won't power off an attached PHY.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • Base versions handle constant folding now.

    Signed-off-by: Harvey Harrison
    Signed-off-by: David S. Miller

    Harvey Harrison
     
  • Base versions handle constant folding now.

    Signed-off-by: Harvey Harrison
    Acked-by: Inaky Perez-Gonzalez
    Signed-off-by: David S. Miller

    Harvey Harrison
     
  • Some platforms (for example pcm037) do not have an EEPROM fitted,
    instead storing their mac address somewhere else. The bootloader
    fetches this and configures the ethernet adapter before the kernel is
    started.

    This patch allows a platform to indicate to the driver via the
    SMSC911X_SAVE_MAC_ADDRESS flag that the mac address has already been
    configured via such a mechanism, and should be saved before resetting
    the chip.

    Signed-off-by: Steve Glendinning
    Acked-by: Sascha Hauer
    Tested-by: Sascha Hauer
    Signed-off-by: David S. Miller

    Steve Glendinning