1. 10 Oct, 2007 6 commits
    • Sivakumar Subramani's avatar
      [S2IO]: Handle and monitor all of the device errors and alarms · 8116f3cf
      Sivakumar Subramani authored
      
      - Added support to poll entire set of device errors and alarams.
      - A note on how device errors and alarms are handled:
      - The adapter will automatically recover from uncorrectable ECC errors.
        Packets containing corrupted data will be dropped (not transmitted) or tagged
        as invalid before being passed to the host.
      - The adapter cannot recover from any internal state machine errors. A state
        machine error requires a device reset.
      - Any internal error that could potentially result in .store trampling.
        (undesirable PCI behaviour)is tagged as a "serious error". In such cases
        the adapter will give up its ability to be a bus master. In this situation
        the host will still be able to read internal device registers in order to
        generate an error report. A device reset is necessary to return to normal
        operation.
      - In the event of a pcix data parity error, the adapter will automatically
        disable itself. Adapter_En will automatically transition from '1' to '0' and
        the adapter will enter its clean-up routine. Once the device has achieved
        quiescence, an adapter reset should be performed.
      - Replaced alarm_intr_handler() with s2io_handle_errors().
      - Added statistic counters to monitor the alarms.
      
      [ Fix warnings wrt. do_s2io_chk_alarm_bit(), Callers pass in an
        "unsigned long long *" but the function takes a "u64 *" which is
        different on many 64-bit platforms. -DaveM ]
      Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: default avatarSantosh Rastapur <santosh.rastapur@neterion.com>
      Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      8116f3cf
    • Sivakumar Subramani's avatar
      S2io: Enable all the error and alarm indications · 9caab458
      Sivakumar Subramani authored
      
      - Added support to unmask entire set of device errors and alarams.
              Alarm interrupts are generated for a myriad of purposes, ranging from
        illegal operations or requests to internal state machine errors and
        uncorrectable data corruption errors. In several cases the adapter can
        recover gracefully from unexpected events; however, in some cases, a device
        reset may be necessary. This patch handles alarms generated by all the
        blocks within the device.
      
        The adapter generates the following types of alarms:
              1. Link state transitions (local/remote fault) or other link-related
                 problems.
              2. Problems with any device peripherals, including the EEPROM, FLASH,
                 etc.
              3. Correctable ECC errors (single-bit errors) on internal data
                 structures or frame data.
              4. Uncorrectable ECC errors (multi-bit errors) on internal data
                 structures or frame data.
              5. State machine errors, which indicate that internal control
                 structures have become corrupted.
              6. PCI related errors, including parity errors or illegal transactions.
              7. Other unexpected events.
      
      - Implemented Jeff's review comments to use do_s2io_write_bits function to avoid
        duplicate codes.
      Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: default avatarSantosh Rastapur <santosh.rastapur@neterion.com>
      Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      9caab458
    • Sivakumar Subramani's avatar
      S2IO: Fixed Link LED issue when MSI-X is enabled · 92c48799
      Sivakumar Subramani authored
      
      -Fixed Link LED issue when MSI-X is enabled.
      Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      92c48799
    • Sivakumar Subramani's avatar
      S2IO: Fixes in MSIX related code. · c77dd43e
      Sivakumar Subramani authored
      
      - Calling store_xmsi_data to store the MSI-X datas during initialization
        in s2io-init_nic function
      - Disabling NAPI when MSI-X is enabled
      - Freeing sp->entries and sp->s2io_entries in s2io_rem_isr
      Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      c77dd43e
    • Sivakumar Subramani's avatar
      [S2IO]: Making MSIX as default intr_type · 8abc4d5b
      Sivakumar Subramani authored
      
      - Making MSIX as default intr_type
      - Driver will test MSI-X by issuing test MSI-X vector and if fails it will
        fallback to INTA
      Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8abc4d5b
    • Stephen Hemminger's avatar
      [NET]: Make NAPI polling independent of struct net_device objects. · bea3348e
      Stephen Hemminger authored
      
      Several devices have multiple independant RX queues per net
      device, and some have a single interrupt doorbell for several
      queues.
      
      In either case, it's easier to support layouts like that if the
      structure representing the poll is independant from the net
      device itself.
      
      The signature of the ->poll() call back goes from:
      
      	int foo_poll(struct net_device *dev, int *budget)
      
      to
      
      	int foo_poll(struct napi_struct *napi, int budget)
      
      The caller is returned the number of RX packets processed (or
      the number of "NAPI credits" consumed if you want to get
      abstract).  The callee no longer messes around bumping
      dev->quota, *budget, etc. because that is all handled in the
      caller upon return.
      
      The napi_struct is to be embedded in the device driver private data
      structures.
      
      Furthermore, it is the driver's responsibility to disable all NAPI
      instances in it's ->stop() device close handler.  Since the
      napi_struct is privatized into the driver's private data structures,
      only the driver knows how to get at all of the napi_struct instances
      it may have per-device.
      
      With lots of help and suggestions from Rusty Russell, Roland Dreier,
      Michael Chan, Jeff Garzik, and Jamal Hadi Salim.
      
      Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
      Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.
      
      [ Ported to current tree and all drivers converted.  Integrated
        Stephen's follow-on kerneldoc additions, and restored poll_list
        handling to the old style to fix mutual exclusion issues.  -DaveM ]
      Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bea3348e
  2. 03 Aug, 2007 1 commit
  3. 30 Jul, 2007 6 commits
  4. 16 Jul, 2007 1 commit
  5. 11 Jul, 2007 1 commit
    • Auke Kok's avatar
      PCI: Change all drivers to use pci_device->revision · 44c10138
      Auke Kok authored
      
      Instead of all drivers reading pci config space to get the revision
      ID, they can now use the pci_device->revision member.
      
      This exposes some issues where drivers where reading a word or a dword
      for the revision number, and adding useless error-handling around the
      read. Some drivers even just read it for no purpose of all.
      
      In devices where the revision ID is being copied over and used in what
      appears to be the equivalent of hotpath, I have left the copy code
      and the cached copy as not to influence the driver's performance.
      
      Compile tested with make all{yes,mod}config on x86_64 and i386.
      Signed-off-by: default avatarAuke Kok <auke-jan.h.kok@intel.com>
      Acked-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      44c10138
  6. 10 Jul, 2007 1 commit
  7. 08 Jul, 2007 2 commits
  8. 27 Jun, 2007 1 commit
    • Olaf Hering's avatar
      2.6.22: ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined! · f9046eb3
      Olaf Hering authored
      On Tue, Jun 19, Stephen Hemminger wrote:
      > Olaf Hering <olaf@aepfle.de> wrote:
      > > What happend to __ucmpdi2 from David Woodhouse?
      > > google has a few hits about stuff like this on 32bit powerpc with gcc 4.1.2:
      > >
      > > ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined!
      > >
      > > using the drivers/net/s2io* files from 2.6.21 with 2.6.22-rc5 fixes the
      > > compile.
      > >
      > > 25805dcf
      
       adds two u64 >>= 48 followed by
      > > a switch statement (line 2889 and 6816).
      >
      > Probably the "switch(err) {" needs a cast to a smaller type (like u8).
      
      This change removes the compiler-generated calls to __ucmpdi2.
      Signed-off-by: default avatarOlaf Hering <olaf@aepfle.de>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      f9046eb3
  9. 03 Jun, 2007 1 commit
  10. 11 May, 2007 3 commits
  11. 28 Apr, 2007 4 commits
  12. 26 Apr, 2007 1 commit
    • Arnaldo Carvalho de Melo's avatar
      [SK_BUFF]: Convert skb->tail to sk_buff_data_t · 27a884dc
      Arnaldo Carvalho de Melo authored
      
      So that it is also an offset from skb->head, reduces its size from 8 to 4 bytes
      on 64bit architectures, allowing us to combine the 4 bytes hole left by the
      layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
      64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
      :-)
      
      Many calculations that previously required that skb->{transport,network,
      mac}_header be first converted to a pointer now can be done directly, being
      meaningful as offsets or pointers.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      27a884dc
  13. 02 Mar, 2007 1 commit
  14. 27 Feb, 2007 6 commits
  15. 20 Feb, 2007 1 commit
  16. 14 Feb, 2007 1 commit
    • Tim Schmielau's avatar
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau authored
      
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  17. 09 Feb, 2007 1 commit
  18. 05 Feb, 2007 2 commits