1. 18 5月, 2009 1 次提交
  2. 30 4月, 2009 4 次提交
  3. 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
  4. 20 4月, 2009 1 次提交
  5. 09 4月, 2009 2 次提交
  6. 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
  7. 02 4月, 2009 1 次提交
  8. 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
  9. 27 3月, 2009 1 次提交
  10. 22 3月, 2009 2 次提交
  11. 12 3月, 2009 2 次提交
  12. 25 2月, 2009 1 次提交
  13. 19 2月, 2009 2 次提交
  14. 16 2月, 2009 1 次提交
  15. 05 2月, 2009 1 次提交
  16. 01 2月, 2009 1 次提交
  17. 27 1月, 2009 1 次提交
  18. 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
  19. 11 1月, 2009 1 次提交
  20. 09 1月, 2009 1 次提交
  21. 08 1月, 2009 1 次提交
  22. 31 12月, 2008 1 次提交
  23. 28 12月, 2008 1 次提交
  24. 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
  25. 12 12月, 2008 1 次提交
  26. 25 11月, 2008 1 次提交
  27. 21 11月, 2008 1 次提交
  28. 20 11月, 2008 1 次提交
  29. 14 11月, 2008 1 次提交
  30. 06 11月, 2008 1 次提交