From: John Garry <john.garry@huawei.com>
To: <jejb@linux.ibm.com>, <martin.petersen@oracle.com>,
<artur.paszkiewicz@intel.com>, <jinpu.wang@cloud.ionos.com>,
<chenxiang66@hisilicon.com>, <damien.lemoal@opensource.wdc.com>,
<hch@lst.de>
Cc: <Ajish.Koshy@microchip.com>, <yanaijie@huawei.com>,
<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-scsi@vger.kernel.org>, <linuxarm@huawei.com>,
<liuqi115@huawei.com>, <Viswas.G@microchip.com>,
John Garry <john.garry@huawei.com>
Subject: [PATCH v2 00/18] scsi: libsas and users: Factor out LLDD TMF code
Date: Thu, 17 Feb 2022 23:42:28 +0800 [thread overview]
Message-ID: <1645112566-115804-1-git-send-email-john.garry@huawei.com> (raw)
The LLDD TMF code is almost identical between hisi_sas, pm8001, and mvsas
drivers.
This series factors out that code into libsas, thus reducing much
duplication and giving a net reduction of ~350 LoC.
There are some subtle differences between the core TMF handler and each
of the LLDDs old implementation, so any review and testing is appreciated.
Some other minor patches are thrown in:
- Delete unused macro in hisi_sas driver
- Delete unused libsas callback
- Delete unused SAS_SG_ERR
- Add enum for response frame datapres field
- Handle unrecognised errors in sas_scsi_find_task()
I have another follow-up series to factor out the internal abort code,
which is common to hisi_sas and pm8001 drivers.
Based on mkp-scsi 5.18 staging queue at commit ac2beb4e3bd7
Differences to v1:
- Add Reviewed-by and Tested-by tags (Thanks!)
- Add SAS_SG_ERR patch
- Add sas_scsi_find_task() patch
- Use switch statement in sas_ssp_task_response()
- Add DATAPRES enum in sas.h
- Reword "Add struct sas_tmf_task" patch
- Don't print TMF code in sas_execute_tmf()
- Rebase
John Garry (18):
scsi: libsas: Handle non-TMF codes in sas_scsi_find_task()
scsi: libsas: Use enum for response frame DATAPRES field
scsi: libsas: Delete lldd_clear_aca callback
scsi: libsas: Delete SAS_SG_ERR
scsi: hisi_sas: Delete unused I_T_NEXUS_RESET_PHYUP_TIMEOUT
scsi: libsas: Move SMP task handlers to core
scsi: libsas: Add struct sas_tmf_task
scsi: libsas: Add sas_task.tmf
scsi: libsas: Add sas_execute_tmf()
scsi: libsas: Add sas_execute_ssp_tmf()
scsi: libsas: Add TMF handler exec complete callback
scsi: libsas: Add TMF handler aborted callback
scsi: libsas: Add sas_abort_task_set()
scsi: libsas: Add sas_clear_task_set()
scsi: libsas: Add sas_lu_reset()
scsi: libsas: Add sas_query_task()
scsi: libsas: Add sas_abort_task()
scsi: libsas: Add sas_execute_ata_cmd()
Documentation/scsi/libsas.rst | 2 -
drivers/scsi/aic94xx/aic94xx.h | 1 -
drivers/scsi/aic94xx/aic94xx_init.c | 1 -
drivers/scsi/aic94xx/aic94xx_tmf.c | 11 +-
drivers/scsi/hisi_sas/hisi_sas.h | 9 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 227 ++++--------------------
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 9 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +-
drivers/scsi/isci/init.c | 1 -
drivers/scsi/isci/request.c | 7 +-
drivers/scsi/isci/task.c | 18 --
drivers/scsi/isci/task.h | 4 -
drivers/scsi/libsas/sas_ata.c | 10 +-
drivers/scsi/libsas/sas_expander.c | 24 +--
drivers/scsi/libsas/sas_internal.h | 6 +
drivers/scsi/libsas/sas_scsi_host.c | 229 ++++++++++++++++++++++++-
drivers/scsi/libsas/sas_task.c | 14 +-
drivers/scsi/mvsas/mv_defs.h | 5 -
drivers/scsi/mvsas/mv_init.c | 5 +-
drivers/scsi/mvsas/mv_sas.c | 179 +------------------
drivers/scsi/mvsas/mv_sas.h | 3 -
drivers/scsi/pm8001/pm8001_hwi.c | 4 +-
drivers/scsi/pm8001/pm8001_init.c | 5 +-
drivers/scsi/pm8001/pm8001_sas.c | 194 ++++-----------------
drivers/scsi/pm8001/pm8001_sas.h | 14 +-
include/scsi/libsas.h | 24 ++-
include/scsi/sas.h | 7 +
28 files changed, 377 insertions(+), 640 deletions(-)
--
2.26.2
next reply other threads:[~2022-02-17 15:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-17 15:42 John Garry [this message]
2022-02-17 15:42 ` [PATCH v2 01/18] scsi: libsas: Handle non-TMF codes in sas_scsi_find_task() John Garry
2022-02-17 15:42 ` [PATCH v2 02/18] scsi: libsas: Use enum for response frame DATAPRES field John Garry
2022-02-17 15:42 ` [PATCH v2 03/18] scsi: libsas: Delete lldd_clear_aca callback John Garry
2022-02-17 15:42 ` [PATCH v2 04/18] scsi: libsas: Delete SAS_SG_ERR John Garry
2022-02-17 15:42 ` [PATCH v2 05/18] scsi: hisi_sas: Delete unused I_T_NEXUS_RESET_PHYUP_TIMEOUT John Garry
2022-02-17 15:42 ` [PATCH v2 06/18] scsi: libsas: Move SMP task handlers to core John Garry
2022-02-17 15:42 ` [PATCH v2 07/18] scsi: libsas: Add struct sas_tmf_task John Garry
2022-02-17 15:42 ` [PATCH v2 08/18] scsi: libsas: Add sas_task.tmf John Garry
2022-02-17 15:42 ` [PATCH v2 09/18] scsi: libsas: Add sas_execute_tmf() John Garry
2022-02-17 15:42 ` [PATCH v2 10/18] scsi: libsas: Add sas_execute_ssp_tmf() John Garry
2022-02-17 15:42 ` [PATCH v2 11/18] scsi: libsas: Add TMF handler exec complete callback John Garry
2022-02-17 15:42 ` [PATCH v2 12/18] scsi: libsas: Add TMF handler aborted callback John Garry
2022-02-17 15:42 ` [PATCH v2 13/18] scsi: libsas: Add sas_abort_task_set() John Garry
2022-02-17 15:42 ` [PATCH v2 14/18] scsi: libsas: Add sas_clear_task_set() John Garry
2022-02-17 15:42 ` [PATCH v2 15/18] scsi: libsas: Add sas_lu_reset() John Garry
2022-02-17 15:42 ` [PATCH v2 16/18] scsi: libsas: Add sas_query_task() John Garry
2022-02-17 15:42 ` [PATCH v2 17/18] scsi: libsas: Add sas_abort_task() John Garry
2022-02-17 15:42 ` [PATCH v2 18/18] scsi: libsas: Add sas_execute_ata_cmd() John Garry
2022-02-18 4:18 ` [PATCH v2 00/18] scsi: libsas and users: Factor out LLDD TMF code Damien Le Moal
2022-02-18 4:28 ` Martin K. Petersen
2022-02-19 21:53 ` Martin K. Petersen
2022-02-19 23:05 ` Damien Le Moal
2022-02-21 8:36 ` John Garry
2022-02-19 21:55 ` Martin K. Petersen
2022-02-20 0:38 ` Damien Le Moal
2022-02-20 1:31 ` Martin K. Petersen
2022-02-20 1:37 ` Damien Le Moal
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=1645112566-115804-1-git-send-email-john.garry@huawei.com \
--to=john.garry@huawei.com \
--cc=Ajish.Koshy@microchip.com \
--cc=Viswas.G@microchip.com \
--cc=artur.paszkiewicz@intel.com \
--cc=chenxiang66@hisilicon.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=hch@lst.de \
--cc=jejb@linux.ibm.com \
--cc=jinpu.wang@cloud.ionos.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=liuqi115@huawei.com \
--cc=martin.petersen@oracle.com \
--cc=yanaijie@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox