1. 27 7月, 2011 1 次提交
    • J
      [SCSI] lpfc 8.3.25: Adapter Interface fixes and changes · 7851fe2c
      James Smart 提交于
      Adapter Interface fixes and changes
      
      - Modify the macro field from lpfc_init_vpi_vpi to lpfc_init_vfi_vpi
      - Add the new CQE_CODE_RECEIVE_V1 CQE Code, add code in the driver to handle
        the new Code the same as the CQE_CODE_RECEIVE code except that there are
        two new checks for this code that will cause the driver to use the new V1
        macros for rq_id and fcf_id.
      - Fix a bug in lpfc_prep_seq() where the size out of the first CQE was
        ONLY being used, even though multiple dmabufs make up the sequence,
        each have their own CQE with potentially different sizes.
      - Fix bug in lpfc_bsg_ct_unsol_event() where the ulpContext and ulpWord[3]
        fields of the XMIT_SEQUENCE64_CX IOCB were being calculated incorrectly.
      - Do physical to logical translation before indexing into the active
        XRI array.
      - Populate physical vpi in the iocb data structure.
      - Put the current accumulated total in each IOCB in the chain as we are
        walking thru then. The last IOCB in the chain should have the total
        length of the sequence.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      7851fe2c
  2. 27 5月, 2011 1 次提交
  3. 02 5月, 2011 1 次提交
    • J
      [SCSI] lpfc 8.3.23: Miscellaneous fixes · 9589b062
      James Smart 提交于
      Miscellaneous fixes
      
      - Do not limit RPI Count to a minimum of 64
      - Fix FCFI incorrect on received unsolicited frames.
      - Save the FCFI returned in the REG_FCFI mailbox command if it was successful.
      - Fixed Vports not sending FDISC after lips.
      - Align based on the SLI4_PAGE_SIZE.
      - Fixed double byte swap on received RRQ.
      - Fixed mask size for the wq_id mask from 0x7F to 0x7FFF.
      - Clear FC_FABRIC flag when NPIV LOGO completes (and add a log message).
      - Modified driver to skip round robin only when ulpStatus==LOCAL_REJECT
        and word4=SEQUENCE_TIMEOUT to prevent FLOGI to disconnected FCF.
      - Don't add rport if driver unloading
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      9589b062
  4. 31 3月, 2011 1 次提交
  5. 19 2月, 2011 2 次提交
  6. 22 12月, 2010 2 次提交
    • J
      [SCSI] lpfc 8.3.20: Updates to FC discovery commands · 4042629e
      James Smart 提交于
      Updated commands used for ELS to utilize VPI
      Allocate RPI at node creation time and pass in ELS commnads.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      4042629e
    • J
      [SCSI] lpfc 8.3.19: Add SLI4 FC Discovery support · 76a95d75
      James Smart 提交于
      Add SLI4 FC Discovery support
      
      - Replace READ_LA and READ_LA64 with READ_TOPOLOGY mailbox command.
      - Converted the old READ_LA structure to use bf_set/get instead of bit fields.
      - Rename HBA_FCOE_SUPPORT flag to HBA_FCOE_MODE. Flag now indicates function
        is running as SLI-4 FC or FCoE port. Make sure flag reset each time
        READ_REV completed as it can dynamically change.
      - Removed BDE union in the READ_TOPOLOGY mailbox command and added a define to
        define the ALPA MAP SIZE. Added FC Code for async events.
      - Added code to support new 16G link speed.
      - Define new set of values to keep track of valid user settable link speeds.
      - Used new link speed definitions to define link speed max and bitmap.
      - Redefined FDMI Port sppeds to be hax values and added the 16G value.
      - Added new CQE trailer code for FC Events.
      - Add lpfc_issue_init_vfi and lpfc_init_vfi_cmpl routines.
      - Replace many calls to the initial_flogi routine with lpfc_issue_init_vfi.
      - Add vp and vpi fields to the INIT_VFI mailbox command.
      - Addapt lpfc_hba_init_link routine for SLI4 use.
      - Use lpfc_hba_init_link call from lpfc_sli4_hba_setup.
      - Add a check for FC mode to register the FCFI before init link.
      - Convert lpfc_sli4_init_vpi to be called without a vpi (get it from vport).
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      76a95d75
  7. 26 10月, 2010 1 次提交
  8. 07 8月, 2010 1 次提交
    • J
      [SCSI] lpfc 8.3.16: FCoE Discovery and Failover Fixes · 38b92ef8
      James Smart 提交于
      - Add support for re-reg'ing changed VPI w/o unregister VPI
      - Copy WWN and state from old nodelist when target DID change.
      - Clean up old nodelist rport and put the nodelist when target DID change.
      - Clear the VFI_REGISTERED flag when UNREG_VFI completes.
      - Made both checks of port_state against LPFC_FLOGI and LPFC_FDISC
        non-inclusive for ignoring CVL events.
      - Added logic to stop retrying of the ongoing PLOGI and FDISC if
        transitioned back to the FCF rediscovery state in reaction to CVL.
      - Removed the dependency of scanning of all the available FCF table
        entries for bulding round-robin bitmap.
      - Use the lpfc_sli4_fcf_rr_read_fcf_rec() in responding to
        individual New FCF found event.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      38b92ef8
  9. 28 7月, 2010 3 次提交
  10. 12 4月, 2010 2 次提交
  11. 11 4月, 2010 1 次提交
  12. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  13. 03 3月, 2010 1 次提交
  14. 18 2月, 2010 3 次提交
  15. 05 12月, 2009 4 次提交
    • J
      [SCSI] lpfc 8.3.6 : FCoE Protocol Fixes · c868595d
      James Smart 提交于
      FCoE Protocol fixes.
       - Fixed FIP frame designation for ELS commands.
       - Fix CVL received on Port 1 not processed by driver.
       - Fix Zeroed frame on wire after FLOGI
       - Fix vport keep-alive does not contain the correct WWN.
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      c868595d
    • J
      [SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance... · 45ed1190
      James Smart 提交于
      [SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes
      
      This patch includes the following changes:
      - Fixed Panic/Hang when using polling mode for fcp commands
      - Added support for Read_rev mbox bits indicating FIP mode of HBA
      - Optimize performance of slow-path handling of els responses
      - Add code to cleanup orphaned unsolicited receive sequences
      - Fixed Devloss timeout when multiple initiators are in same zone
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      45ed1190
    • J
      [SCSI] lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging · 6a9c52cf
      James Smart 提交于
      This patch include the following fixes and changes:
      - Fix crash when "error" is echoed to board_mode sysfs parameter
      - Fix FCoE Parameter parsing in regions 23
      - Fix driver crash when creating vport with large number of targets on SLI4
      - Fix bug with npiv message being logged when it is not supported by the adapter
      - Fix a potential dereferencing mailbox structure after free bug
      - Fix firmware crash after vport create with high target count
      - Error out requests to set board_mode to warm restart via sysfs on SLI4 HBAs
      - Fix Block guard logging
      - Fix a memory corruption issue during GID_FT IO prep
      - Fix crash while processing unsolicited FC frames
      - Fix failed to allocate XRI message is not a critical failure
      - Update and fix formatting in some log messages
      - Fix missing new line characters in log messages
      - Removed the use of the locally defined FC transport layer related macros
      - Check the rsplen in lpfc_handle_fcp_err function before using rsplen
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      6a9c52cf
    • J
      [SCSI] lpfc 8.3.5: fix VPI registration, error clean up and add support for vlink events · 6669f9bb
      James Smart 提交于
      This patch includes the following fixes and new features:
      - Fix mask size for CT field in WQE
      - Fix VPI base not used when unregistering VPI on port 1.
      - Fix UNREG_VPI mailbox command to unreg the correct VPI
      - Fixed Check for aborted els command
      - Fix error when trying to load driver with wrong firmware on FCoE HBA.
      - Fix bug with probe_one routines not putting the Scsi_Host back upon error
      - Add support for Clear Virtual Link Async Events
      - Add support for unsolicited CT exchange sequence abort
      - Add 0x0714 OCeXXXXX PCI ID
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      6669f9bb
  16. 23 8月, 2009 4 次提交
  17. 15 6月, 2009 2 次提交
  18. 09 6月, 2009 4 次提交
  19. 27 4月, 2009 1 次提交
  20. 30 12月, 2008 4 次提交