21 Oct, 2006

1 commit

  • When rebooting with netconsole over e100, the driver shutdown code would
    deadlock with netpoll. Reduce shutdown code to a bare minimum while retaining
    WoL and suspend functionality.

    Signed-off-by: Auke Kok
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Auke Kok
     

19 Oct, 2006

1 commit

  • * 'ubuntu-updates' of master.kernel.org:/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6:
    [pci_ids] Add Quicknet XJ vendor/device ID's.
    [valkyriefb] Ifdef for when CONFIG_NVRAM isn't enabled.
    [platinumfb] Ifdef for when CONFIG_NVRAM isn't enabled.
    [igafb] Add pci dev table for module auto loading.
    [controlfb] Ifdef for when CONFIG_NVRAM isn't enabled.
    [hid-core] TurboX Keyboard needs NOGET quirk.
    [ixj] Add pci dev table for module auto loading.
    [initio] Add pci dev table for module auto loading.
    [fdomain] Add pci dev table for module auto loading.
    [BusLogic] Add pci dev table for auto module loading.
    [mv643xx] Add pci device table for auto module loading.
    [alim7101] Add pci dev table for auto module loading.

    Linus Torvalds
     

18 Oct, 2006

14 commits


12 Oct, 2006

3 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (42 commits)
    [PATCH] Fix section mismatch in de2104x.c
    [PATCH] sky2: set lower pause threshold to prevent overrun
    [PATCH] sky2: revert pci express extensions
    [PATCH] skge: version 1.9
    [PATCH] skge: better flow control negotiation
    [PATCH] skge: pause mapping for fiber
    [PATCH] skge: fix stuck irq when fiber down
    [PATCH] powerpc/cell spidernet release all descrs
    [PATCH] powerpc/cell spidernet DMA direction fix
    [PATCH] powerpc/cell spidernet variable name change
    [PATCH] powerpc/cell spidernet reduce DMA kicking
    [PATCH] powerpc/cell spidernet
    [PATCH] powerpc/cell spidernet refine locking
    [PATCH] powerpc/cell spidernet NAPI polling info.
    [PATCH] powerpc/cell spidernet low watermark patch.
    [PATCH] powerpc/cell spidernet incorrect offset
    [PATCH] powerpc/cell spidernet stop error printing patch.
    [PATCH] powerpc/cell spidernet fix error interrupt print
    [PATCH] powerpc/cell spidernet bogus rx interrupt bit
    [PATCH] Spidernet stop queue when queue is full.
    ...

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • In preparation for moving check_signature, change these users from asm/io.h
    to linux/io.h

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     

11 Oct, 2006

21 commits

  • WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20)
    WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .exit.text:de_remove_one from .data.rel.local after 'de_driver' (at offset 0x28)

    Signed-off-by: Helge Deller
    Signed-off-by: Kyle McMartin
    Signed-off-by: Matthew Wilcox
    Signed-off-by: Jeff Garzik

    Helge Deller
     
  • Adjust the pause threshold on slower systems to keep from getting overrun.
    Since FIFO is 2K bytes, don't send XON pause until there is space for a full
    frame.

    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • The pci express error handling extensions don't work unless PCI access is via
    mmconfig. Otherwise, all accesses to pci config registers greater than 256 fail.
    Since the sky2 driver has other ways of getting to PCI config space, it works
    around this short coming, but the pci_find_ext_capablity doesn't work.

    This backs out commit 91aeb3edbcf4e6ed72d138ac8c22fd68e6d717c3
    Go back to hardcoding, since we know where the error registers are anyway.
    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7222

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Want to be able to track downstream impact of fiber related
    fixes.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Do flow control negotiation properly. Don't let auto negotiation
    status limit renegotiation. Separate desired pause values from
    the result of auto negotiation.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Do correct mapping of pause and duplex when using 1000BaseX fiber
    versions of the board.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • The PHY interrupt from the internal fiber is getting
    stuck on when the link is down. Add code to handle the
    transition and mask it.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Bugfix: rx descriptor release function fails to visit
    the last entry while walking receive descriptor ring.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • The ring buffer descriptors are DMA-accessed bidirectionally,
    but are not declared in this way. Fix this.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • Cosmetic patch: give the variable holding the numer of descriptors
    a more descriptive name, so to avoid confusion.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • The current code attempts to start the TX dma every time a packet
    is queued. This is too conservative, and wastes CPU time. This
    patch changes behaviour to call the kick-dma function less often,
    only when the tx queue is at risk of emptying.

    This reduces cpu usage, improves performance.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • Remove a dummy register read that is not needed.
    This reduces CPU usage notably during transmit.

    Signed-off-by: Linas Vepstas
    Cc: Arnd Bergmann
    Cc: James K Lewis
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • The transmit side of the spider ethernet driver currently
    places locks around some very large chunks of code. This
    results in a fair amount of lock contention is some cases.
    This patch makes the locks much more fine-grained, protecting
    only the cirtical sections. One lock is used to protect
    three locations: the queue head and tail pointers, and the
    queue low-watermark location.

    Signed-off-by: Linas Vepstas
    Cc: Arnd Bergmann
    Cc: James K Lewis
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • This patch moves transmit queue cleanup code out of the
    interrupt context, and into the NAPI polling routine.

    Signed-off-by: Linas Vepstas
    Acked-by: Arnd Bergmann
    Cc: James K Lewis
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • Implement basic low-watermark support for the transmit queue.
    Hardware low-watermarks allow a properly configured kernel
    to continously stream data to a device and not have to handle
    any interrupts at all in doing so. Correct zero-interrupt
    operation can be actually observed for this driver, when the
    socket buffer is made large enough.

    The basic idea of a low-watermark interrupt is as follows.
    The device driver queues up a bunch of packets for the hardware
    to transmit, and then kicks the hardware to get it started.
    As the hardware drains the queue of pending, untransmitted
    packets, the device driver will want to know when the queue
    is almost empty, so that it can queue some more packets.

    If the queue drains down to the low waterark, then an interrupt
    will be generated. However, if the kernel/driver continues
    to add enough packets to keep the queue partially filled,
    no interrupt will actually be generated, and the hardware
    can continue streaming packets indefinitely in this mode.

    The impelmentation is done by setting the DESCR_TXDESFLG flag
    in one of the packets. When the hardware sees this flag, it will
    interrupt the device driver. Because this flag is on a fixed
    packet, rather than at fixed location in the queue, the
    code below needs to move the flag as more packets are
    queued up. This implementation attempts to keep the flag
    at about 1/4 from "empty".

    Signed-off-by: Linas Vepstas
    Signed-off-by: James K Lewis
    Acked-by: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • Bugfix -- the rx chain is in memory after the tx chain --
    the offset being used was wrong, resulting in memory corruption
    when the size of the rx and tx rings weren't exactly the same.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • Turn off mis-interpretation of the queue-empty interrupt
    status bit as an error.

    Signed-off-by: Linas Vepstas
    Signed-off-by: James K Lewis
    Acked-by: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • The print message associated with the descriptor chain end interrupt
    prints a bogs value. Fix that.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • The current receive interrupt mask sets a bogus bit that doesn't even
    belong to the definition of this register. Remove it.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • This patch adds a call to netif_stop_queue() when there is
    no more room for more packets on the transmit queue.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas
     
  • This patch fixes the names of a few fields in the DMA control
    register. There is no functional change.

    Signed-off-by: Linas Vepstas
    Cc: James K Lewis
    Cc: Arnd Bergmann
    Signed-off-by: Jeff Garzik

    Linas Vepstas