19 Dec, 2013

2 commits

  • Observed Auto mode in the HBA side while doing manual D-Port test on the
    switch side. Mode is not passed to BFA from firmware when the test is
    triggered by switch side. BFA just blindly using Auto mode.

    Signed-off-by: Vijaya Mohan Guvva
    Signed-off-by: James Bottomley

    Vijaya Mohan Guvva
     
  • This patch includes change to enable firmware patch simplication
    feature. This feature is targeted to address the requirement to have
    independent patch release for firmware. Prior to 3.2.3, releasing a
    patch fix for firmware requires changes to bfa, to use new firmware
    images. But with these changes, if the new firmware is flashed on to the
    HBA with brocade adapter management utilites, driver uses the new
    firmware after checking the patch release byte in the firmware version.

    Signed-off-by: Vijaya Mohan Guvva
    Signed-off-by: James Bottomley

    Vijaya Mohan Guvva
     

27 Jun, 2013

3 commits

  • 1. While FRU VPD data update, inform firmware to send a completion event
    on I2C bus. Without this change, firmware used to send completion
    message on I2C bus for every chunk of FRU VPD update.
    2. Support for FRU VPN update on CHINOOK2 cards.
    3. Append port count to the model name to differentiate between single
    port and dual port model of 1860.
    4. Update the size of the model name to 16bytes

    Signed-off-by: Vijaya Mohan Guvva
    Signed-off-by: James Bottomley

    Vijaya Mohan Guvva
     
  • Root cause: When kernel crashes, On brocade 815/825 adapters,
    bfa IOC state machine and FW doesn't get a notification and
    hence are not cleanly shutdown. So registers holding driver/IOC
    state information are not reset back to valid disabled/parking
    values. This causes subsequent driver initialization to fail
    during kdump kernel boot.

    Fix description: during the initialization of first PCI function, reset
    corresponding register when unclean shutown is detect by reading chip
    registers. This will make sure that ioc/fw gets clean re-initialization.

    Signed-off-by: Vijaya Mohan Guvva
    Signed-off-by: James Bottomley

    Vijaya Mohan Guvva
     
  • D-Port is a new port type created with the intention of running link
    level diagnostic tests like loopback, traffic test. In static D-port
    mode, user configures the port to D-port mode and starts the test, but
    in dynamic D-port, once the Brocade switch port is configured to
    D-port, it will reject the regular FLOGI from HBA with reason that it is
    in D-port mode. So based on the reason code HBA port will turn itself into
    D-port and start diagnostic test.

    Signed-off-by: Sudarsana Reddy Kalluru
    Signed-off-by: Vijaya Mohan Guvva
    Signed-off-by: James Bottomley

    Vijaya Mohan Guvva
     

07 Oct, 2012

4 commits


27 Jul, 2011

1 commit


30 Jun, 2011

18 commits

  • - Added PHY sub-module.
    - Implemented interface to obtain stats and to
    read/update the fw from the PHY module.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added diagnostics sub-module to BFA.
    - Implemented interface to perform memtest/loopback test
    and some other diagnostics tests.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added flash sub-module.
    - Implemented the interface to read/erase/update flash partition.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added SFP sub-module to BFA.
    - Added interface to collect sfp media info and sfp speed.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added CEE sub-module.
    - Added support to collect stats/cee module info
    using BSG interface.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Modified the design such that each BFA sub-module will provide
    the amount of DMA and KVA memory needed by it and queues the
    same request to the global dma and kva info queues.
    - During the memory allocation we iterate over this queue to allocate
    the dma and kva memory requested by sub-modules.
    - The change is needed to avoid requesting the aggregate amount of memory
    needed by all the BFA sub-modules as one contiguous chunk.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Introduced partitioning of the BFA resources.
    - Added h/w queue ID in CPE messages, firmware uses h/w queue ID
    from messages to pick a matching RME queue.
    - Added message header to bfa_reqq_produce(). h/w queue ID is set
    in the message header and firmware modules use h/w queue ID from
    message header instead of from cpqe event.
    - Made changes to allow using all 256 queues of Brocade-1860 asic.
    Previously only a single queue per queue group was used.
    - Added function tag to BFI message header. Only used by FC BFI
    messages. Used to translate host tag to firmware tag. bfa_lpuid()
    is changed to bfa_fn_lpu() that encodes both PCI function and port
    ID in BFI message header.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - If flash controller is halted unconditionally, this results in
    illegal write access to flash controller register domain. Since
    flash controller registers are only accessible once s_clk is started
    - added logic to check for WGN status and halt flash controller only
    if it is already running.
    - Added check to wait for flash controller halt to be completed before
    proceeding with s_clk/l_clk initializations.
    - Removed unnecessary reset logic for PMM 1T memory and moved memory
    initialization after flash access enable.
    - Disable Brocade-1860 asic MBOX interrupt before PLL initialization.
    - Remove reset enable for S_CLK/L_CLK after both PLL initializations
    are complete.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Updated/added data structures and definitions to support FAA protocol.
    - Modified the IOC state machine to support FAA.
    - Introduced FAA feature configuration - enable/disable/query.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Add logic to handle the case where PCI mapping goes away when
    IOCPF state machine is waiting for semaphore.
    - Added logic to unlock hw semaphore if the previos FW boot was
    from flash based and the current FW initialization attempt is from OS.
    - Added fix to update hbfails and hb_count stats during hwerror event.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added ASIC block configuration APIs:
    - to create/delete/update the physical functions
    - to do adapter/port mode configuration
    - to query the current ASIC block configuration.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added support for 16Gbps.
    - Added logic to flush pending mailbox command queue when IOC is disabled.
    - Fix to Halt the flash controller during fw initialization - since
    when asic blck is programmed flash controller's continuous access
    blocks f/w access to flash.
    - Added new asic based card types and modified IOC get card model routine.
    - Added PLL init fix to do LPU reset every time we do a memory
    initialization, since not doing so will cause LPU to be
    uninitialized during driver load.
    - Added fix to Halt flash controller before PLL initialization.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Introduced IOC poll mechanism which replaces current interrupt
    based FW READY method.
    - The timer based poll routine in IOC will query the ioc_fwstate
    register to see if there is a state change in FW, and sends the READY event.
    - Bug fixes in the new asic PLL initialization.
    - Added logic to handle CPE/RME queue interrupts before iocfc config done.
    1. Use the queue_process flag to see if iocfc configuration is done
    in INTX mode.
    2. Split the MSIX handler installation in two - one for IOC intr
    handler and the other for cpe/rme queue handler - and delay
    assigning queue handlers until iocfc config is done in MSIX mode.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Made changes to FCS lport, vport state machines to support vport
    enable / disable operations.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Added support for Brocade-1860 Fabric Adapter.
    - Made changes to support single firmware image per asic type.
    - Combined bfi_cbreg.h and bfi_ctreg.h defines into bfi_reg.h with
    only minimal defines used by host.
    - Added changes to setup CPE/RME Queue register offsets based on
    firmware response.
    - Removed queue register offset initializations and added register offsets
    to BFI config response message.
    - Added Brocade-1860 asic specific interrupt status definitions and
    mailbox interfaces.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Add PBC port Disabled condition check.
    - Rename incorrectly named LPS I2H messages.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Introduced a generic event notification callback function that
    receives IOC_ENABLED, IOC_DISABLED, IOC_FAILED events and notifies the
    modules registered for these events.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • - Avoid the use of hardware defined structure bfi_sge_s for DMA
    requests in host.

    - Defined a generic address len pair to represent a DMA memory chunk
    (bfi_alen_s).

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     

22 Dec, 2010

3 commits


26 Oct, 2010

1 commit

  • This patch addresses the comments from Randy Dunlap (Randy.Dunlap@oracle.com)
    regarding comment blocks that begining with "/**". bfa driver comments
    currently do not follow kernel-doc convention, we hence replace all
    /** with /* and **/ with */.

    Signed-off-by: Jing Huang
    Signed-off-by: James Bottomley

    Jing Huang
     

17 Sep, 2010

1 commit