Skip to content
Permalink
Changheun-Lee/…
Switch branches/tags

Commits on Apr 12, 2021

  1. bio: add limit_bio_size sysfs

    Add limit_bio_size block sysfs node to limit bio size.
    Queue flag QUEUE_FLAG_LIMIT_BIO_SIZE will be set if limit_bio_size is set.
    And bio max size will be limited by queue max sectors via
    QUEUE_FLAG_LIMIT_BIO_SIZE set.
    
    Signed-off-by: Changheun Lee <nanich.lee@samsung.com>
    Changheun authored and intel-lab-lkp committed Apr 12, 2021
  2. ufs: set QUEUE_FLAG_LIMIT_BIO_SIZE

    Set QUEUE_FLAG_LIMIT_BIO_SIZE queue flag to limit bio max size to
    queue max sectors size for UFS device.
    
    Signed-off-by: Changheun Lee <nanich.lee@samsung.com>
    Changheun authored and intel-lab-lkp committed Apr 12, 2021
  3. bio: limit bio max size

    bio size can grow up to 4GB when muli-page bvec is enabled.
    but sometimes it would lead to inefficient behaviors.
    in case of large chunk direct I/O, - 32MB chunk read in user space -
    all pages for 32MB would be merged to a bio structure if the pages
    physical addresses are contiguous. it makes some delay to submit
    until merge complete. bio max size should be limited to a proper size.
    
    When 32MB chunk read with direct I/O option is coming from userspace,
    kernel behavior is below now in do_direct_IO() loop. it's timeline.
    
     | bio merge for 32MB. total 8,192 pages are merged.
     | total elapsed time is over 2ms.
     |------------------ ... ----------------------->|
                                                     | 8,192 pages merged a bio.
                                                     | at this time, first bio submit is done.
                                                     | 1 bio is split to 32 read request and issue.
                                                     |--------------->
                                                      |--------------->
                                                       |--------------->
                                                                  ......
                                                                       |--------------->
                                                                        |--------------->|
                              total 19ms elapsed to complete 32MB read done from device. |
    
    If bio max size is limited with 1MB, behavior is changed below.
    
     | bio merge for 1MB. 256 pages are merged for each bio.
     | total 32 bio will be made.
     | total elapsed time is over 2ms. it's same.
     | but, first bio submit timing is fast. about 100us.
     |--->|--->|--->|---> ... -->|--->|--->|--->|--->|
          | 256 pages merged a bio.
          | at this time, first bio submit is done.
          | and 1 read request is issued for 1 bio.
          |--------------->
               |--------------->
                    |--------------->
                                          ......
                                                     |--------------->
                                                      |--------------->|
            total 17ms elapsed to complete 32MB read done from device. |
    
    As a result, read request issue timing is faster if bio max size is limited.
    Current kernel behavior with multipage bvec, super large bio can be created.
    And it lead to delay first I/O request issue.
    
    Signed-off-by: Changheun Lee <nanich.lee@samsung.com>
    Changheun authored and intel-lab-lkp committed Apr 12, 2021

Commits on Apr 6, 2021

  1. scsi: libsas: Clean up whitespace

    checkpatch reported several whitespace errors. Fix them all.
    
    Link: https://lore.kernel.org/r/1616675396-6108-3-git-send-email-luojiaxing@huawei.com
    Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Luojiaxing1991 authored and martinkpetersen committed Apr 6, 2021
  2. scsi: libsas: Correctly indent statements in sas_to_ata_err()

    checkpatch reported an error in sas_to_ata_err(). switch and case
    statements are incorrectly indented.
    
    Link: https://lore.kernel.org/r/1616675396-6108-2-git-send-email-luojiaxing@huawei.com
    Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Luojiaxing1991 authored and martinkpetersen committed Apr 6, 2021
  3. scsi: qedf: Remove unused include of linux/version.h

    Remove unnecessary include of linux/version.h.
    
    Link: https://lore.kernel.org/r/1617283618-19346-1-git-send-email-tiantao6@hisilicon.com
    Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
    Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Tian Tao authored and martinkpetersen committed Apr 6, 2021
  4. scsi: bfa: Remove unnecessary struct declarations

    struct bfa_fcs_s is declared twice. First is declared at line 50, remove
    the duplicate.
    
    struct bfa_fcs_fabric_s is defined at line 175, remove unnecessary
    declaration.
    
    Link: https://lore.kernel.org/r/20210401063535.992487-1-wanjiabing@vivo.com
    Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Wan Jiabing authored and martinkpetersen committed Apr 6, 2021
  5. scsi: ufs: core: Fix out-of-bounds warnings in ufshcd_exec_raw_upiu_c…

    …md()
    
    Fix the following out-of-bounds warnings by enclosing some structure
    members into new structure objects upiu_req and upiu_rsp:
    
    include/linux/fortify-string.h:20:29: warning: '__builtin_memcpy' offset [29, 48] from the object at 'treq' is out of the bounds of referenced subobject 'req_header' with type 'struct utp_upiu_header' at offset 16 [-Warray-bounds]
    include/linux/fortify-string.h:20:29: warning: '__builtin_memcpy' offset [61, 80] from the object at 'treq' is out of the bounds of referenced subobject 'rsp_header' with type 'struct utp_upiu_header' at offset 48 [-Warray-bounds]
    arch/m68k/include/asm/string.h:72:25: warning: '__builtin_memcpy' offset [29, 48] from the object at 'treq' is out of the bounds of referenced subobject 'req_header' with type 'struct utp_upiu_header' at offset 16 [-Warray-bounds]
    arch/m68k/include/asm/string.h:72:25: warning: '__builtin_memcpy' offset [61, 80] from the object at 'treq' is out of the bounds of referenced subobject 'rsp_header' with type 'struct utp_upiu_header' at offset 48 [-Warray-bounds]
    
    Refactor the code by making it more structured.
    
    The problem is that the original code is trying to copy data into a bunch
    of struct members adjacent to each other in a single call to memcpy(). Now
    that a new struct _upiu_req_ enclosing all those adjacent members is
    introduced, memcpy() doesn't overrun the length of &treq.req_header,
    because the address of the new struct object _upiu_req_ is used as the
    destination, instead. The same problem is present when memcpy() overruns
    the length of the source &treq.rsp_header; in this case the address of the
    new struct object _upiu_rsp_ is used, instead.
    
    Also, this helps with the ongoing efforts to enable -Warray-bounds and
    avoid confusing the compiler.
    
    Link: KSPP#109
    Link: https://lore.kernel.org/lkml/60640558.lsAxiK6otPwTo9rv%25lkp@intel.com/
    Link: https://lore.kernel.org/r/20210331224338.GA347171@embeddedor
    Reported-by: kernel test robot <lkp@intel.com>
    Reviewed-by: Avri Altman <avri.altman@wdc.com>
    Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Build-tested-by: kernel test robot <lkp@intel.com>
    GustavoARSilva authored and martinkpetersen committed Apr 6, 2021
  6. scsi: fnic: Remove unnecessary spin_lock_init() and INIT_LIST_HEAD()

    The spinlock and list head of fnic_list are initialized statically.  It is
    unnecessary to initialize them.
    
    Link: https://lore.kernel.org/r/20210330125911.1050879-1-yangyingliang@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Yang Yingliang authored and martinkpetersen committed Apr 6, 2021
  7. scsi: message: fusion: Use BUG_ON instead of if condition followed by…

    … BUG
    
    BUG_ON() uses unlikely in if() which can be optimized at compile time.
    
    Link: https://lore.kernel.org/r/1617108361-6870-1-git-send-email-zhouchuangao@vivo.com
    Signed-off-by: zhouchuangao <zhouchuangao@vivo.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    zhouchuangao authored and martinkpetersen committed Apr 6, 2021
  8. scsi: mpt3sas: Block PCI config access from userspace during reset

    While diag reset is in progress there is short duration where all access to
    controller's PCI config space from the host needs to be blocked. This is
    due to a hardware limitation of the IOC controllers.
    
    Block all access to controller's config space from userland applications by
    calling pci_cfg_access_lock() while diag reset is in progress and unlocking
    it again after the controller comes back to ready state.
    
    Link: https://lore.kernel.org/r/20210330105137.20728-1-sreekanth.reddy@broadcom.com
    Cc: stable@vger.kernel.org #v5.4.108+
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Apr 6, 2021
  9. scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement

    Covert ActiveCablePowerRequirement's value to target CPU endian before
    displaying it.
    
    Link: https://lore.kernel.org/r/20210330105106.20569-1-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Apr 6, 2021
  10. scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES

    Whenever the driver is adding a vSES to virtual-phys list it is
    reinitializing the list head. Hence those vSES devices which were added
    previously are lost.
    
    Stop reinitializing the list every time a new vSES device is added.
    
    Link: https://lore.kernel.org/r/20210330105004.20413-1-sreekanth.reddy@broadcom.com
    Cc: stable@vger.kernel.org #v5.11.10+
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    sreekanthbrcm authored and martinkpetersen committed Apr 6, 2021
  11. scsi: target: Make the virtual LUN 0 device

    Create the device for the virtual LUN 0 using the DUMMY flag. This change
    makes it possible to remove some special-casing in the INQUIRY code.
    
    Link: https://lore.kernel.org/r/20210322200938.53300-3-k.shelekhin@yadro.com
    Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
    Reviewed-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Konstantin Shelekhin <k.shelekhin@yadro.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Konstantin Shelekhin authored and martinkpetersen committed Apr 6, 2021
  12. scsi: target: Add the DUMMY flag to rd_mcp

    This commit adds the DUMMY flag to the rd_mcp backend that forces a logical
    unit to report itself as not connected device of an unknown type.
    Essentially this allows users to create devices identical to the device for
    the virtual LUN 0, making it possible to explicitly create a LUN 0 device
    and configure its WWNs (e.g. vendor or product name).
    
    Link: https://lore.kernel.org/r/20210322200938.53300-2-k.shelekhin@yadro.com
    Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
    Reviewed-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Konstantin Shelekhin <k.shelekhin@yadro.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Konstantin Shelekhin authored and martinkpetersen committed Apr 6, 2021
  13. scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()

    Some arrays return ILLEGAL_REQUEST with ASC 00h if they don't support the
    RTPG extended header so remove the check for INVALID FIELD IN CDB.
    
    Link: https://lore.kernel.org/r/20210331201154.20348-1-emilne@redhat.com
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Ewan D. Milne <emilne@redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ewan D. Milne authored and martinkpetersen committed Apr 6, 2021
  14. scsi: scsi_dh_alua: Prevent duplicate pg info print in alua_rtpg()

    Due to the frequency that alua_rtpg() is called, the path group info print
    within can print the same info multiple times in the logs, subsequent
    prints adding no new information or value.
    
    To reproduce:
    
        # modprobe scsi_debug vpd_use_hostno=0
        # systemctl start multipathd.service
    
    To fix, check stored values, only printing at alua attach/activate and if
    any of the values change.
    
    Link: https://lore.kernel.org/r/20210331181656.5046-1-jpittman@redhat.com
    Reviewed-by: David Jeffery <djeffery@redhat.com>
    Reviewed-by: Laurence Oberman <loberman@redhat.com>
    Signed-off-by: John Pittman <jpittman@redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    jtpittman195 authored and martinkpetersen committed Apr 6, 2021
  15. scsi: smartpqi: Update version to 2.1.8-045

    Update version.
    
    Link: https://lore.kernel.org/r/161549387469.25025.12859568843576080076.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Gerry Morong <gerry.morong@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Don Brace authored and martinkpetersen committed Apr 6, 2021
  16. scsi: smartpqi: Add new PCI IDs

    Add support for newer hardware.
    
    Link: https://lore.kernel.org/r/161549386882.25025.2594251735886014958.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Acked-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  17. scsi: smartpqi: Correct system hangs when resuming from hibernation

    Correct system hangs when resuming from hibernation after first successful
    hibernation/resume cycle. Rare condition involving OFA.
    
    Note: Suspend/resume is not supported on many platforms. It was originally
    intended for workstations.
    
    Link: https://lore.kernel.org/r/161549386295.25025.14555840632114761610.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  18. scsi: smartpqi: Update enclosure identifier in sysfs

    Update enclosure identifier field corresponding to physical devices in
    lsscsi/sysfs.
    
    During device add the SCSI devtype is filled in during slave_configure().
    However, when pqi_scsi_update_device() runs (REGNEWD) the firmware returns
    zero for the SCSI devtype field, and valid devtype is overwritten by
    zero. Due to this, lsscsi output shows wrong values.
    
    Link: https://lore.kernel.org/r/161549385708.25025.17234953506918043750.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Murthy Bhat <Murthy.Bhat@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Murthy Bhat authored and martinkpetersen committed Apr 6, 2021
  19. scsi: smartpqi: Add additional logging for LUN resets

    LUN resets can take longer to complete. Adding in more driver logging helps
    show where the driver is in the reset process.
    
    Add a timeout in pqi_device_wait_for_pending_io() to cap how long the
    driver will wait for outstanding commands.
    
    Link: https://lore.kernel.org/r/161549385119.25025.10366493975709358647.stgit@brunhilda
    Reviewed-by: Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  20. scsi: smartpqi: Update SAS initiator_port_protocols and target_port_p…

    …rotocols
    
    Export valid sas initiator_port_protocols and target_port_protocols to
    sysfs. Needed for lsscsi to show correct values.
    
    Link: https://lore.kernel.org/r/161549384532.25025.1469409935400845385.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Murthy Bhat <Murthy.Bhat@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Murthy Bhat authored and martinkpetersen committed Apr 6, 2021
  21. scsi: smartpqi: Add phy ID support for the physical drives

    Display topology using PHY numbers. PHY (both local and remote) numbers
    corresponding to physical drives are read from
    BMIC_IDENTIFY_PHYSICAL_DEVICE.
    
    Link: https://lore.kernel.org/r/161549383947.25025.16977895345376485056.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
    Reviewed-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Murthy Bhat <Murthy.Bhat@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Murthy Bhat authored and martinkpetersen committed Apr 6, 2021
  22. scsi: smartpqi: Convert snprintf() to scnprintf()

    The entire Linux kernel has been slowly migrating from snprintf() to
    scnprintf(), so we are doing our part. This article explains the rationale
    for this change:
    
       https: //lwn.net/Articles/69419/
    
    Link: https://lore.kernel.org/r/161549383357.25025.12363435617789964291.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  23. scsi: smartpqi: Fix driver synchronization issues

     - Synchronize OFA and controller offline events. Prevent I/O during the
       above conditions.
    
     - Cleanup pqi_device_wait_for_pending_io() by checking the
       device->scsi_cmds_outstanding instead of walking the device's list of
       commands.
    
     - Stop failing all I/O for all devices. This was causing OS to retry them,
       delaying OFA.
    
     - Clean up cache flush. The controller is checked for offline status in
       lower level functions.
    
    Link: https://lore.kernel.org/r/161549382770.25025.789855864026860170.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  24. scsi: smartpqi: Update device scan operations

    Change return type from EINPROGRESS to EBUSY to signal applications to
    retry a REGNEWD if the driver cannot process the REGNEWD. Events such as
    OFA, suspend, and shutdown return EINPROGRESS if a scan is currently
    running. This prevents applications from immediately retrying REGNEWD.
    
    Schedule a new REGNEWD if system low on memory.
    
    Link: https://lore.kernel.org/r/161549382157.25025.16054784597622125373.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  25. scsi: smartpqi: Update OFA management

    OFA, Online Firmware Activation, allows users to update firmware without a
    reboot.
    
     - Change OFA setup to a worker thread
    
     - Delay soft resets
    
     - Add OFA event handler to allow FW to initiate OFA
    
     - Add in-memory allocation to OFA events
    
     - Update OFA buffer size calculations
    
     - Add ability to cancel OFA events
    
     - Update OFA quiesce/un-quiesce
    
     - Prevent Kernel crashes while issuing ioctl during OFA
    
     - Returned EBUSY for pass-through IOCTLs throughout all stages of OFA
    
     - Add mutex to prevent parallel OFA updates.
    
    Link: https://lore.kernel.org/r/161549381563.25025.2647205502550052197.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  26. scsi: smartpqi: Update RAID bypass handling

    Simplify AIO retry management by removing retry list and list
    management. Need to retry is already set in the response status. Also
    remove the bypass worker thread.
    
    Accelerated I/O requests bypass the RAID engine and go directly to either
    an HBA disk or to a physical component of a RAID volume.
    
    Link: https://lore.kernel.org/r/161549380976.25025.11776487034357231156.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  27. scsi: smartpqi: Update suspend/resume and shutdown

    For suspend/resume and shutdown prevent: Controller events, any new I/O
    requests, controller requests, REGNEWD, and reset operations.
    
    Wait for any pending completions from the controller to complete to avoid
    controller NMI events.
    
    Link: https://lore.kernel.org/r/161549380398.25025.12266769502766103580.stgit@brunhilda
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  28. scsi: smartpqi: Synchronize device resets with mutex

    Remove some flags used to check for device resets already in
    progress. Allow only 1 reset operation at a time for the host.
    
    Link: https://lore.kernel.org/r/161549379810.25025.10194117431886743795.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  29. scsi: smartpqi: Update soft reset management for OFA

    Cleanup soft reset code for Online Firmware Activation (OFA). OFA allows
    controller firmware updates without a reboot.
    
    OFA updates require an on-line controller reset to activate the updated
    firmware. There were some missing actions for some of the reset cases. The
    controller is first set back to sis mode before returning to pqi mode.
    Check to ensure the controller is in sis mode.
    
    Release QRM memory (OFA buffer) on OFA error conditions. Clean up
    controller state which can cause a kernel panic upon reboot after an
    unsuccessful OFA.
    
    Link: https://lore.kernel.org/r/161549379215.25025.10654441314249183621.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  30. scsi: smartpqi: Update event handler

    Change the data types for event_id and additional_event_id.
    
    Link: https://lore.kernel.org/r/161549378628.25025.14338046567871170916.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  31. scsi: smartpqi: Add support for wwid

    WWID has been added to Report Physical LUNs in newer controller
    firmware. The presence of this field is detected by a feature bit. Add
    detection of this new feature and store the WWID when set.
    
    Link: https://lore.kernel.org/r/161549378041.25025.3869709982357729841.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
  32. scsi: smartpqi: Remove timeouts from internal cmds

    Remove timeouts for driver-initiated commands. Responses to internal
    requests can take longer than hard coded timeout values and the driver will
    still have an outstanding request that may complete in the future with no
    context.
    
    Link: https://lore.kernel.org/r/161549377451.25025.12306492868851801623.stgit@brunhilda
    Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
    Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
    Reviewed-by: Scott Teel <scott.teel@microchip.com>
    Signed-off-by: Kevin Barnett <kevin.barnett@microchip.com>
    Signed-off-by: Don Brace <don.brace@microchip.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Kevin Barnett authored and martinkpetersen committed Apr 6, 2021
Older