All of lore.kernel.org
 help / color / mirror / Atom feed
From: Don Brace <don.brace@microchip.com>
To: <Kevin.Barnett@microchip.com>, <scott.teel@microchip.com>,
	<Justin.Lindley@microchip.com>, <scott.benesh@microchip.com>,
	<gerry.morong@microchip.com>, <mahesh.rajashekhara@microchip.com>,
	<mike.mcgowen@microchip.com>, <murthy.bhat@microchip.com>,
	<hch@infradead.org>, <jejb@linux.vnet.ibm.com>,
	<joseph.szczypek@hpe.com>, <POSWALD@suse.com>
Cc: <linux-scsi@vger.kernel.org>
Subject: [PATCH V5 00/31] smartpqi updates
Date: Thu, 11 Mar 2021 14:14:51 -0600	[thread overview]
Message-ID: <161549045434.25025.17473629602756431540.stgit@brunhilda> (raw)

These patches are based on Martin Peterson's 5.13/scsi-queue tree

Note that these patches depend on the following three patches
applied to Martin Peterson's tree:
  https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
  5.13/scsi-queue
Depends-on: 5443bdc4cc77 scsi: smartpqi: Update version to 1.2.16-012
Depends-on: 408bdd7e5845 scsi: smartpqi: Correct pqi_sas_smp_handler busy condition
Depends-on: 1bdf6e934387 scsi: smartpqi: Correct driver removal with HBA disks

This set of changes consist of:
  * Add support for newer controller hardware.
    * Refactor AIO and s/g processing code. (No functional changes)
    * Add write support for RAID 5/6/1 Raid bypass path (or accelerated I/O path).
    * Add check for sequential streaming.
    * Add in new PCI-IDs.
  * Format changes to re-align with our in-house driver. (No functional changes.)
  * Correct some issues relating to suspend/hibernation/OFA/shutdown.
    * Block I/O requests during these conditions.
  * Add in qdepth limit check to limit outstanding commands.
    to the max values supported by the controller.
  * Correct some minor issues found during regression testing.
  * Update the driver version.

Changes since V1:
  * Re-added 32bit calculations to correct i386 compile issues
    to patch smartpqi-refactor-aio-submission-code 
    Reported-by: kernel test robot <lkp@intel.com>
    https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org/thread/VMBBGGGE5446SVEOQBRCKBTRRWTSH4AB/

Changes since V2:
  * Added 32bit division to correct i386 compile issues
    to patch smartpqi-add-support-for-raid5-and-raid6-writes
    Reported-by: kernel test robot <lkp@intel.com>
    https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org/thread/ZCXJJDGPPTTXLZCSCGWEY6VXPRB3IFOQ/

Changes since V3:
    Martin Wilck's Review:
    smartpqi-add-support-for-product-id
      * Moved a formatting HUNK to smartpqi-align-code-with-oob-driver
      * Added more patch description detail.
    smartpqi-refactor-aio-submission-code
      * Updated patch description.
    smartpqi-add-support-for-raid5-and-raid6-writes
      * Removed two manifest constants from smartpqi.h
      * Changed scnprintf format from %hhx to %x for sysfs entries:
          pqi_host_enable_r5_writes_show:ctrl_info->enable_r5_writes
          pqi_host_enable_r6_writes_show:ctrl_info->enable_r6_writes
      * Corrected disabling of R1 reads
      * Added comment on raid_map calculations.
        Changed how parity indexes are calculated.
      * Changed DMA direction in function pqi_aio_submit_r56_write_io
        to DMA_TO_DEVICE.
    smartpqi-add-support-for-raid1-writes
      * Changed DMA direction in function pqi_aio_submit_r1_write_io
        to DMA_TO_DEVICE.
    smartpqi-add-support-for-BMIC-sense-feature-cmd-and-feature-bits
      * Squashed smartpqi-update-AIO-Sub-Page-0x02-support
        This effectively moved function pqi_aio_limit_to_bytes into this patch.
      * Squashed smartpqi-enable-support-for-NVMe-encryption since
        this was adding in another feature.
      * Moved formatting HUNK for pqi_scsi_dev_raid_map_data into
        smartpqi-refactor-aio-submission-code.
      * Moved structure pqi_aio_r56_path_request formatting HUNKS into
        smartpqi-add-support-for-raid5-and-raid6-writes.
      * Moved remaining formatting HUNKs into
        smartpqi-align-code-with-oob-driver.
    smartpqi-add-support-for-long-firmware-version
      * Updated setting of ctrl_info->firmware_version to avoid overflows.
      * Moved a formatting HUNK into smartpqi-align-code-with-oob-driver.
    smartpqi-align-code-with-oob-driver
      * Updated with formatting HUNKs in other reviews.
    smartpqi-add-stream-detection
      * Updated patch description to better describe what the patch does.
    smartpqi-add-host-level-stream-detection-enable
      * Changed snprintf formate from 0x%hhx to 0x%x.
    smartpqi-enable-support-for-NVMe-encryption
      * Squashed into patch
        smartpqi-add-support-for-BMIC-sense-feature-cmd-and-feature-bits
    smartpqi-fix-driver-synchronization-issues
      * Split into 10 patches.
        smartpqi-remove-timeouts-from-internal-cmds
        smartpqi-add-support-for-wwid
        smartpqi-update-event-handler
        smartpqi-update-soft-reset-management-for-OFA
          * Squashed smartpqi-change-timing-of-release-of-QRM-memory-during-OFA
        smartpqi-synchronize-device-resets-with-mutex
          * Note: still using mutex. Our OOB driver has been well tested with
                  this synchronization construct. Changing this here will
                  mandate a change in our OOB driver and kick off another
                  round of regression tests that have already passed.
        smartpqi-update-suspend-resume-and-shutdown
          * Note: suspend/resume is not supported on many servers. This
                  has passed our internal tests on the few that do. This
                  patch was originally intended for a workstation platform.
                  So I left the mutex code alone. We would like to address any
                  subsequent issues in the future.
        smartpqi-update-raid-bypass-handling
        smartpqi-update-ofa-management
          * Squashed smartpqi-return-busy-indication-for-IOCTLs-when-ofa-is-active
        smartpqi-update-device-scan-operations
        smartpqi-fix-driver-synchronization-issues
          * Original patch with all un-related HUNKs moved into the above
            9 patches.
    smartpqi-fix_host_qdepth_limit
      * Patch removed and replaced with patch smartpqi-use-host-wide-tagspace
    smartpqi-change-timing-of-release-of-QRM-memory-during-OFA
      * Squashed into patch smartpqi-update-soft-reset-management-for-OFA
    smartpqi-add-additional-logging-for-LUN-resets
      * Updated patch description
    smartpqi-update-enclosure-identifier-in-sysfs
      * Updated patch description.
    smartpqi-correct-system-hangs-when-resuming-from-hibernation
      * Updated patch description.
      * Note: suspend/resume is not widely supported. The platform this
              patch was added for was a workstation. There has been a lot
              of testing on the supported platforms and all of the tests
              have passed. We would rather not make changes to this patch
              because of the rare usage. We would rather correct any issues
              (if any) in subsequent patches.
    smartpqi-update-version-to-2.1.8-045
      * Previous patch was smartpqi-update-version-to-2.1.6-005
        We bumped the version up since the patch set was originally pushed.

Changes since V4:
	smartpqi-use-host-wide-tagspace
            John Garry <john.garry@huawei.com> review:
            https://marc.info/?l=linux-scsi&m=161541732830890&w=2
            * Changed driver to only set shost->host_tagset = 1, and reverted
              setting nm_hw_queue back to original setting.
            * Corrected John's email address.
---

Don Brace (8):
      smartpqi: use host wide tagspace
      smartpqi: refactor aio submission code
      smartpqi: refactor build sg list code
      smartpqi: add support for raid5 and raid6 writes
      smartpqi: add support for raid1 writes
      smartpqi: add stream detection
      smartpqi: add host level stream detection enable
      smartpqi: update version to 2.1.8-045

Kevin Barnett (19):
      smartpqi: add support for product id
      smartpqi: add support for BMIC sense feature cmd and feature bits
      smartpqi: add support for long firmware version
      smartpqi: align code with oob driver
      smartpqi: disable write_same for nvme hba disks
      smartpqi: remove timeouts from internal cmds
      smartpqi: add support for wwid
      smartpqi: update event handler
      smartpqi: update soft reset management for OFA
      smartpqi: synchronize device resets with mutex
      smartpqi: update suspend resume and shutdown
      smartpqi: update raid bypass handling
      smartpqi: update ofa management
      smartpqi: update device scan operations
      smartpqi: fix driver synchronization issues
      smartpqi: convert snprintf to scnprintf
      smartpqi: add additional logging for LUN resets
      smartpqi: correct system hangs when resuming from hibernation
      smartpqi: add new pci ids

Murthy Bhat (4):
      smartpqi: fix request leakage
      smartpqi: add phy id support for the physical drives
      smartpqi: update sas initiator_port_protocols and target_port_protocols
      smartpqi: update enclosure identifier in sysfs


 drivers/scsi/smartpqi/smartpqi.h              |  310 +-
 drivers/scsi/smartpqi/smartpqi_init.c         | 3106 ++++++++++-------
 .../scsi/smartpqi/smartpqi_sas_transport.c    |   39 +-
 drivers/scsi/smartpqi/smartpqi_sis.c          |    9 +-
 drivers/scsi/smartpqi/smartpqi_sis.h          |    1 +
 5 files changed, 2184 insertions(+), 1281 deletions(-)

--
Signature

             reply	other threads:[~2021-03-11 20:15 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-11 20:14 Don Brace [this message]
2021-03-11 20:14 ` [PATCH V5 01/31] smartpqi: use host wide tagspace Don Brace
2021-03-11 20:15 ` [PATCH V5 02/31] smartpqi: fix request leakage Don Brace
2021-03-11 20:15 ` [PATCH V5 03/31] smartpqi: add support for product id Don Brace
2021-03-11 20:15 ` [PATCH V5 04/31] smartpqi: refactor aio submission code Don Brace
2021-03-11 20:15 ` [PATCH V5 05/31] smartpqi: refactor build sg list code Don Brace
2021-03-11 20:15 ` [PATCH V5 06/31] smartpqi: add support for raid5 and raid6 writes Don Brace
2021-03-11 20:15 ` [PATCH V5 07/31] smartpqi: add support for raid1 writes Don Brace
2021-03-11 20:15 ` [PATCH V5 08/31] smartpqi: add support for BMIC sense feature cmd and feature bits Don Brace
2021-03-11 20:15 ` [PATCH V5 09/31] smartpqi: add support for long firmware version Don Brace
2021-03-11 20:15 ` [PATCH V5 10/31] smartpqi: align code with oob driver Don Brace
2021-03-11 20:15 ` [PATCH V5 11/31] smartpqi: add stream detection Don Brace
2021-03-11 20:16 ` [PATCH V5 12/31] smartpqi: add host level stream detection enable Don Brace
2021-03-11 20:16 ` [PATCH V5 13/31] smartpqi: disable write_same for nvme hba disks Don Brace
2021-03-11 20:16 ` [PATCH V5 14/31] smartpqi: remove timeouts from internal cmds Don Brace
2021-03-11 20:16 ` [PATCH V5 15/31] smartpqi: add support for wwid Don Brace
2021-03-11 20:16 ` [PATCH V5 16/31] smartpqi: update event handler Don Brace
2021-03-11 20:16 ` [PATCH V5 17/31] smartpqi: update soft reset management for OFA Don Brace
2021-03-11 20:16 ` [PATCH V5 18/31] smartpqi: synchronize device resets with mutex Don Brace
2021-03-11 20:16 ` [PATCH V5 19/31] smartpqi: update suspend resume and shutdown Don Brace
2021-03-11 20:16 ` [PATCH V5 20/31] smartpqi: update raid bypass handling Don Brace
2021-03-11 20:16 ` [PATCH V5 21/31] smartpqi: update ofa management Don Brace
2021-03-11 20:17 ` [PATCH V5 22/31] smartpqi: update device scan operations Don Brace
2021-03-11 20:17 ` [PATCH V5 23/31] smartpqi: fix driver synchronization issues Don Brace
2021-03-11 20:17 ` [PATCH V5 24/31] smartpqi: convert snprintf to scnprintf Don Brace
2021-03-11 20:17 ` [PATCH V5 25/31] smartpqi: add phy id support for the physical drives Don Brace
2021-03-11 20:17 ` [PATCH V5 26/31] smartpqi: update sas initiator_port_protocols and target_port_protocols Don Brace
2021-03-11 20:17 ` [PATCH V5 27/31] smartpqi: add additional logging for LUN resets Don Brace
2021-03-11 20:17 ` [PATCH V5 28/31] smartpqi: update enclosure identifier in sysfs Don Brace
2021-03-11 20:17 ` [PATCH V5 29/31] smartpqi: correct system hangs when resuming from hibernation Don Brace
2021-03-11 20:17 ` [PATCH V5 30/31] smartpqi: add new pci ids Don Brace
2021-03-11 20:17 ` [PATCH V5 31/31] smartpqi: update version to 2.1.8-045 Don Brace
2021-04-06 19:55 ` [PATCH V5 00/31] smartpqi updates Don.Brace
2021-04-07  3:16   ` Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=161549045434.25025.17473629602756431540.stgit@brunhilda \
    --to=don.brace@microchip.com \
    --cc=Justin.Lindley@microchip.com \
    --cc=Kevin.Barnett@microchip.com \
    --cc=POSWALD@suse.com \
    --cc=gerry.morong@microchip.com \
    --cc=hch@infradead.org \
    --cc=jejb@linux.vnet.ibm.com \
    --cc=joseph.szczypek@hpe.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mahesh.rajashekhara@microchip.com \
    --cc=mike.mcgowen@microchip.com \
    --cc=murthy.bhat@microchip.com \
    --cc=scott.benesh@microchip.com \
    --cc=scott.teel@microchip.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.