1. 27 Aug, 2009 1 commit
  2. 04 Jun, 2009 1 commit
  3. 30 May, 2009 1 commit
  4. 02 May, 2009 1 commit
  5. 27 Apr, 2009 2 commits
    • Vladislav Zolotarov's avatar
      bnx2x: Separated FW from the source. · 94a78b79
      Vladislav Zolotarov authored
      >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: default avatarVladislav Zolotarov <vladz@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94a78b79
    • Vladislav Zolotarov's avatar
      ec9323f4
  6. 21 Apr, 2009 1 commit
  7. 07 Apr, 2009 3 commits
  8. 06 Apr, 2009 4 commits
  9. 04 Apr, 2009 2 commits
  10. 03 Apr, 2009 6 commits
  11. 30 Mar, 2009 3 commits
  12. 13 Mar, 2009 1 commit
  13. 27 Feb, 2009 2 commits
  14. 13 Jan, 2009 1 commit
  15. 07 Jan, 2009 2 commits
    • Jaswinder Singh Rajput's avatar
      firmware: convert e100 driver to request_firmware() · 9ac32e1b
      Jaswinder Singh Rajput authored
      Thanks to David Woodhouse for help.
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ac32e1b
    • Sam Ravnborg's avatar
      fix modules_install via NFS · 8b249b68
      Sam Ravnborg authored
      Rafael reported:
      
      I get the following error from 'make modules_install' on my test boxes:
      
        HOSTCC  firmware/ihex2fw
      /home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system
      compilation terminated.
      make[3]: *** [firmware/ihex2fw] Error 1
      make[2]: *** [_modinst_post] Error 2
      make[1]: *** [sub-make] Error 2
      make: *** [all] Error 2
      
      where the configuration is that the kernel is compiled on a build box
      with 'make O=<destdir> -j5' and then <destdir> is mounted over NFS read-only by
      each test box (full path to this directory is the same on the build box and on
      the test boxes).  Then, I cd into <destdir>, run 'make modules_install' and get
      the error above.
      
      The issue turns out to be that we when we install firmware pick
      up the list of firmware blobs from firmware/Makefile.
      And this triggers the Makefile rules to update ihex2fw.
      
      There were two solutions for this issue:
      1) Move the list of firmware blobs to a separate file
      2) Avoid ihex2fw rebuild by moving it to scripts
      
      As I seriously beleive that the list of firmware blobs should be
      done in a fundamental different way solution 2) was selected.
      Reported-and-tested-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      8b249b68
  16. 06 Jan, 2009 1 commit
  17. 05 Jan, 2009 3 commits
  18. 29 Dec, 2008 1 commit
  19. 26 Nov, 2008 1 commit
  20. 23 Sep, 2008 1 commit
  21. 02 Sep, 2008 1 commit
  22. 02 Aug, 2008 1 commit