04 Jun, 2009

1 commit


02 May, 2009

1 commit


27 Apr, 2009

1 commit

  • >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--.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: Vladislav Zolotarov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Vladislav Zolotarov
     

21 Apr, 2009

1 commit


11 Apr, 2009

1 commit

  • * git://git.infradead.org/~dwmw2/firmware-2.6:
    qla1280: Fix off-by-some error in firmware loading.
    Add README.AddingFirmware file. Basically telling people not to.
    firmware: Remove newly-added slicoss and sxg firmware images
    firmware/WHENCE: Add missing origin information for Ambassador atmsar11.fw
    ALSA: wavefront - Always use request_firmware()
    Remove fdump tool for av7110 firmware
    firmware: convert av7110 driver to request_firmware()
    Partially revert "V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card"
    Revert "fix modules_install via NFS"

    Add-add conflicts in firmware/WHENCE fixed manually

    Linus Torvalds
     

07 Apr, 2009

6 commits

  • These are available elsewhere (for example in the linux-firmware.git
    repository); they have no business being added to the kernel source
    tree.

    We are only putting stuff in the firmware/ directory of the kernel
    source when it's extracted from long-standing drivers which used to
    include it directly.

    We didn't intend to open the floodgates to including megabytes of new
    firmware which was previously being distributed separately.

    Signed-off-by: David Woodhouse

    David Woodhouse
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    b44: Use kernel DMA addresses for the kernel DMA API
    forcedeth: Fix resume from hibernation regression.
    xfrm: fix fragmentation on inter family tunnels
    ibm_newemac: Fix dangerous struct assumption
    gigaset: documentation update
    gigaset: in file ops, check for device disconnect before anything else
    bas_gigaset: use tasklet_hi_schedule for timing critical tasklets
    net/802/fddi.c: add MODULE_LICENSE
    smsc911x: remove unused #include
    axnet_cs: fix phy_id detection for bogus Asix chip.
    bnx2: Use request_firmware()
    b44: Fix sizes passed to b44_sync_dma_desc_for_{device,cpu}()
    socket: use percpu_add() while updating sockets_in_use
    virtio_net: Set the mac config only when VIRITO_NET_F_MAC
    myri_sbus: use request_firmware
    e1000: fix loss of multicast packets
    vxge: should include tcp.h

    Conflict in firmware/WHENCE (SCSI vs net firmware)

    Linus Torvalds
     
  • Looks like we forgot to update WHENCE when we converted this driver.

    Signed-off-by: David Woodhouse

    David Woodhouse
     
  • Always use request_firmware() for loading yss225_registers image.

    Signed-off-by: Takashi Iwai
    Signed-off-by: David Woodhouse

    Takashi Iwai
     
  • Signed-off-by: Jaswinder Singh
    Signed-off-by: David Woodhouse

    Jaswinder Singh
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (74 commits)
    [SCSI] sg: fix q->queue_lock on scsi_error_handler path
    [SCSI] replace __inline with inline
    [SCSI] a2091: make 2 functions static
    [SCSI] a3000: make 2 functions static
    [SCSI] ses: #if 0 the unused ses_match_host()
    [SCSI] use kmem_cache_zalloc instead of kmem_cache_alloc/memset
    [SCSI] sg: fix iovec bugs introduced by the block layer conversion
    [SCSI] qlogicpti: use request_firmware
    [SCSI] advansys: use request_firmware
    [SCSI] qla1280: use request_firmware
    [SCSI] libiscsi: fix iscsi pool error path
    [SCSI] cxgb3i: call ddp release function directly
    [SCSI] cxgb3i: merge cxgb3i_ddp into cxgb3i module
    [SCSI] cxgb3i: close all tcp connections upon chip reset
    [SCSI] cxgb3i: re-read ddp settings information after chip reset
    [SCSI] cxgb3i: re-initialize ddp settings after chip reset
    [SCSI] cxgb3i: subscribe to error notification from cxgb3 driver
    [SCSI] aacraid driver update
    [SCSI] mptsas: remove unneeded check
    [SCSI] config: Make need for SCSI_CDROM clearer
    ...

    Linus Torvalds
     

05 Apr, 2009

2 commits

  • Based on original patch by Ben Hutchings and
    Bastian Blank , 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: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Firmware blob looks like this...

    __be16 lanai4_data_size
    unsigned char lanai4_code[]

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: David S. Miller

    Jaswinder Singh Rajput
     

04 Apr, 2009

3 commits


03 Apr, 2009

3 commits


30 Mar, 2009

3 commits


14 Mar, 2009

1 commit


27 Feb, 2009

2 commits


13 Jan, 2009

1 commit

  • Add the Multi-Tech cellular modem firmware to the TI USB serial driver.
    This firmware was extracted from:

    ftp://ftp.multitech.com/wireless/wireless_linux.zip

    Firmware licence: "all firmware components are redistributable in binary
    form" per support@multitech.com
    Copyright (C) 2005 Multi-Tech Systems, Inc.

    Signed-off-by: Chris Adams
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Chris Adams
     

08 Jan, 2009

1 commit


05 Jan, 2009

3 commits

  • Firmware blob is big endian

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: David S. Miller

    Jaswinder Singh Rajput
     
  • Firmware blob looks like this...
    u8 firmware_major
    u8 firmware_minor
    u8 firmware_fix
    u8 pad
    __be32 start_address
    __be32 length (total, including BSS sections to be zeroed)
    data... (in __be32 words, which is native for the firmware)

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: David S. Miller

    Jaswinder Singh Rajput
     
  • We store the firmware in its native big-endian form now, so the loop in
    ace_copy() is modified to use be32_to_cpup() when writing it out.

    We can forget the BSS,SBSS sections of the firmware, since we were
    clearing all the device's RAM anyway. And the text,rodata,data sections
    can all be loaded as a single chunk since they're contiguous (give or
    take a few dozen bytes in between).

    Signed-off-by: Jaswinder Singh
    Signed-off-by: David Woodhouse
    Acked-by: Jes Sorensen
    Signed-off-by: David S. Miller

    Jaswinder Singh
     

27 Nov, 2008

1 commit


23 Sep, 2008

1 commit

  • Firmware blob looks like this...
    __le16 load_address
    unsigned char data[]

    [akpm@linux-foundation.org: include vmalloc.h]
    Signed-off-by: Jaswinder Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Jaswinder Singh
     

15 Jul, 2008

7 commits


10 Jul, 2008

1 commit