1. 27 4月, 2009 2 次提交
    • V
      bnx2x: Separated FW from the source. · 94a78b79
      Vladislav Zolotarov 提交于
      >From now on FW will be downloaded from the binary file using request_firmware.
      
      There will be different files for every supported chip. Currently 57710 (e1) and
      57711 (e1h).
      
      File names have the following format: bnx2x-<chip version>-<FW version>.fw.
      ihex versions of current FW files are submitted in the next patch.
      
      Each binary file has a header in the following format:
      
      
      struct bnx2x_fw_file_section {
      	__be32 len;
      	__be32 offset;
      }
      
      struct bnx2x_fw_file_hdr {
      	struct bnx2x_fw_file_section init_ops;
      	struct bnx2x_fw_file_section init_ops_offsets;
      	struct bnx2x_fw_file_section init_data;
      	struct bnx2x_fw_file_section tsem_int_table_data;
      	struct bnx2x_fw_file_section tsem_pram_data;
      	struct bnx2x_fw_file_section usem_int_table_data;
      	struct bnx2x_fw_file_section usem_pram_data;
      	struct bnx2x_fw_file_section csem_int_table_data;
      	struct bnx2x_fw_file_section csem_pram_data;
      	struct bnx2x_fw_file_section xsem_int_table_data;
      	struct bnx2x_fw_file_section xsem_pram_data;
      	struct bnx2x_fw_file_section fw_version;
      }
      
      Each bnx2x_fw_file_section contains the length and the offset of the appropriate
      section in the binary file. Values are stored in the big endian format.
      
      Data types of arrays:
      
      init_data            __be32
      init_ops_offsets     __be16
      XXsem_pram_data         u8
      XXsem_int_table_data    u8
      init_ops             struct raw_op {
                                u8   op;
      			__be24 offset;
                              __be32 data;
      		     }
      fw_version              u8
      
      >From now boundaries of a specific initialization stage are stored in
      init_ops_offsets array instead of being defined by separate macroes. The index 
      in init_ops_offsets is calculated by BLOCK_OPS_IDX macro:
      
      #define BLOCK_OPS_IDX(block, stage, end) \
             (2*(((block)*STAGE_IDX_MAX) + (stage)) + (end))
      
      Security:
      
      In addition to sanity check of array boundaries bnx2x will check a FW version.
      Additional checks might be added in the future.
      Signed-off-by: NVladislav Zolotarov <vladz@broadcom.com>
      Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94a78b79
    • G
      net: add Xilinx ll_temac device driver · 92744989
      Grant Likely 提交于
      This patch adds support for the Xilinx ll_temac 10/100/1000 Ethernet
      device.  The ll_temac ipcore is typically used on Xilinx Virtex and
      Spartan designs attached to either a PowerPC 4xx or Microblaze
      processor.
      
      At the present moment, this driver only works with Virtex5 PowerPC
      designs because it assumes DCR is used to access the DMA registers.
      However, the low level access to DMA registers is abstracted and
      it should be easy to adapt for the other implementations.
      
      I'm posting this driver now as an RFC.  There are still some things that
      need to be tightened up, but it does appear to be stable.
      
      Derived from driver code written by Yoshio Kashiwagi and David H. Lynch Jr.
      
      Tested on Xilinx ML507 eval board with Base System Builder generated
      FPGA design.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NAndy Fleming <afleming@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      92744989
  2. 20 4月, 2009 1 次提交
  3. 09 4月, 2009 2 次提交
  4. 05 4月, 2009 1 次提交
    • M
      bnx2: Use request_firmware() · 57579f76
      Michael Chan 提交于
      Based on original patch by Ben Hutchings <ben@decadent.org.uk> and
      Bastian Blank <waldi@debian.org>, with the following main changes:
      
      Separated the mips firmware and rv2p firmware into different files
      to make it easier to update them separately.
      
      Added some code to fixup the rv2p code with run-time information
      such as PAGE_SIZE.
      
      Update version to 2.0.0.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57579f76
  5. 02 4月, 2009 1 次提交
  6. 01 4月, 2009 1 次提交
    • H
      ETHOC: fix build breakage on s390 · eeb5f5c9
      Heiko Carstens 提交于
      Let driver depend on HAS_IOMEM to avoid build breakage on s390:
      
        CC      drivers/net/ethoc.o
      drivers/net/ethoc.c: In function 'ethoc_read':
      drivers/net/ethoc.c:221: error: implicit declaration of function 'ioread32'
      drivers/net/ethoc.c: In function 'ethoc_write':
      drivers/net/ethoc.c:226: error: implicit declaration of function 'iowrite32'
      drivers/net/ethoc.c: In function 'ethoc_rx':
      drivers/net/ethoc.c:405: error: implicit declaration of function 'memcpy_fromio'
      drivers/net/ethoc.c: In function 'ethoc_start_xmit':
      drivers/net/ethoc.c:828: error: implicit declaration of function 'memcpy_toio'
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: NThierry Reding <thierry.reding@avionic-design.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eeb5f5c9
  7. 27 3月, 2009 1 次提交
  8. 22 3月, 2009 2 次提交
  9. 12 3月, 2009 2 次提交
  10. 25 2月, 2009 1 次提交
  11. 19 2月, 2009 2 次提交
  12. 16 2月, 2009 1 次提交
  13. 05 2月, 2009 1 次提交
  14. 01 2月, 2009 1 次提交
  15. 27 1月, 2009 1 次提交
  16. 22 1月, 2009 3 次提交
    • H
      cxgb3: Replace LRO with GRO · 7be2df45
      Herbert Xu 提交于
      This patch makes cxgb3 invoke the GRO hooks instead of LRO.  As
      GRO has a compatible external interface to LRO this is a very
      straightforward replacement.
      
      I've kept the ioctl controls for per-queue LRO switches.  However,
      we should not encourage anyone to use these.
      
      Because of that, I've also kept the skb construction code in
      cxgb3.  Hopefully we can phase out those per-queue switches
      and then kill this too.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Acked-by: NDivy Le Ray <divy@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7be2df45
    • H
      igb: Replace LRO with GRO · 5c0999b7
      Herbert Xu 提交于
      This patch makes igb invoke the GRO hooks instead of LRO.  As
      GRO has a compatible external interface to LRO this is a very
      straightforward replacement.
      
      Three things of note:
      
      1) I've kept the LRO Kconfig option until we decide to enable
      GRO across the board at which point it can also be killed.
      
      2) The poll_controller stuff is broken in igb as it tries to do
      the same work as the normal poll routine.  Since poll_controller
      can be called in the middle of a poll, this can't be good.
      
      I noticed this because poll_controller can invoke the GRO hooks
      without flushing held GRO packets.
      
      However, this should be harmless (assuming the poll_controller
      bug above doesn't kill you first :) since the next ->poll will
      clear the backlog.  The only time when we'll have a problem is
      if we're already executing the GRO code on the same ring, but
      that's no worse than what happens now.
      
      3) I kept the ip_summed check before calling GRO so that we're
      on par with previous behaviour.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5c0999b7
    • H
      ixgbe: Replace LRO with GRO · 78b6f4ce
      Herbert Xu 提交于
      This patch makes ixgbe invoke the GRO hooks instead of LRO.  As
      GRO has a compatible external interface to LRO this is a very
      straightforward replacement.
      
      As GRO uses the napi structure to track the held packets, I've
      modified the code paths involved to pass that along.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      78b6f4ce
  17. 11 1月, 2009 1 次提交
  18. 09 1月, 2009 1 次提交
  19. 08 1月, 2009 1 次提交
  20. 31 12月, 2008 1 次提交
  21. 28 12月, 2008 1 次提交
  22. 19 12月, 2008 1 次提交
    • A
      ucc_geth: Remove UGETH_FILTERING dead code · 221b3d60
      Anton Vorontsov 提交于
      The code appears to be dead: nobody call these functions, plus build
      breaks when UGETH_FILTERING is enabled:
      
      ucc_geth.c:1848: warning: 'struct enet_addr' declared inside parameter list
      ucc_geth.c:1848: warning: its scope is only this definition or declaration, which is probably not what you want
      ucc_geth.c: In function 'ugeth_82xx_filtering_get_match_addr_in_hash':
      ucc_geth.c:1856: error: dereferencing pointer to incomplete type
      ucc_geth.c:1874: error: dereferencing pointer to incomplete type
      ucc_geth.c:1877: warning: return from incompatible pointer type
      ucc_geth.c: At top level:
      ucc_geth.c:1885: warning: 'struct enet_addr' declared inside parameter list
      ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_hash':
      ucc_geth.c:1894: error: dereferencing pointer to incomplete type
      ucc_geth.c:1909: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type
      ucc_geth.c:1909: warning: assignment from incompatible pointer type
      ucc_geth.c:1918: error: dereferencing pointer to incomplete type
      ucc_geth.c: At top level:
      ucc_geth.c:1928: warning: 'struct enet_addr' declared inside parameter list
      ucc_geth.c: In function 'ugeth_82xx_filtering_clear_addr_in_hash':
      ucc_geth.c:1947: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type
      ucc_geth.c:1947: warning: assignment from incompatible pointer type
      ucc_geth.c:1954: error: dereferencing pointer to incomplete type
      ucc_geth.c: At top level:
      ucc_geth.c:2060: warning: 'struct enet_addr' declared inside parameter list
      ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_paddr':
      ucc_geth.c:2064: error: dereferencing pointer to incomplete type
      ucc_geth.c:2073: error: dereferencing pointer to incomplete type
      ucc_geth.c:2075: warning: passing argument 2 of 'hw_add_addr_in_paddr' from incompatible pointer type
      make[2]: *** [ucc_geth.o] Error 1
      
      The code is there since the driver was merged, and nobody seem to be
      interested in fixing or actually using it. If we ever want the
      filtering support, we can always revert the patch and fix it, but so
      far it just draws reader's attention.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      221b3d60
  23. 12 12月, 2008 1 次提交
  24. 25 11月, 2008 1 次提交
  25. 21 11月, 2008 1 次提交
  26. 20 11月, 2008 1 次提交
  27. 14 11月, 2008 1 次提交
  28. 06 11月, 2008 2 次提交
    • S
      SMSC LAN911x and LAN921x vendor driver · fd9abb3d
      Steve Glendinning 提交于
      Attached is a driver for SMSC's LAN911x and LAN921x families of embedded
      ethernet controllers.
      
      There is an existing smc911x driver in the tree; this is intended to
      replace it.  Dustin McIntire (the author of the smc911x driver) has
      expressed his support for switching to this driver.
      
      This driver contains workarounds for all known hardware issues, and has
      been tested on all flavours of the chip on multiple architectures.
      
      This driver now uses phylib, so this patch also adds support for the
      device's internal phy
      Signed-off-by: NSteve Glendinning <steve.glendinning@smsc.com>
      Signed-off-by: NBahadir Balban <Bahadir.Balban@arm.com>
      Signed-off-by: NDustin Mcintire <dustin@sensoria.com>
      Signed-off-by: NBill Gatliff <bgat@billgatliff.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      fd9abb3d
    • B
      bonding: send IPv6 neighbor advertisement on failover · 305d552a
      Brian Haley 提交于
      This patch adds better IPv6 failover support for bonding devices,
      especially when in active-backup mode and there are only IPv6 addresses
      configured, as reported by Alex Sidorenko.
      
      - Creates a new file, net/drivers/bonding/bond_ipv6.c, for the
         IPv6-specific routines.  Both regular bonds and VLANs over bonds
         are supported.
      
      - Adds a new tunable, num_unsol_na, to limit the number of unsolicited
         IPv6 Neighbor Advertisements that are sent on a failover event.
         Default is 1.
      
      - Creates two new IPv6 neighbor discovery functions:
      
         ndisc_build_skb()
         ndisc_send_skb()
      
         These were required to support VLANs since we have to be able to
         add the VLAN id to the skb since ndisc_send_na() and friends
         shouldn't be asked to do this.  These two routines are basically
         __ndisc_send() split into two pieces, in a slightly different order.
      
      - Updates Documentation/networking/bonding.txt and bumps the rev of bond
         support to 3.4.0.
      
      On failover, this new code will generate one packet:
      
      - An unsolicited IPv6 Neighbor Advertisement, which helps the switch
         learn that the address has moved to the new slave.
      
      Testing has shown that sending just the NA results in pretty good
      behavior when in active-back mode, I saw no lost ping packets for example.
      Signed-off-by: NBrian Haley <brian.haley@hp.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      305d552a
  29. 04 11月, 2008 1 次提交
  30. 31 10月, 2008 1 次提交
  31. 23 10月, 2008 1 次提交
  32. 22 10月, 2008 1 次提交