From: John Garry <john.garry@huawei.com>
To: martin.petersen@oracle.com, jejb@linux.vnet.ibm.com
Cc: linuxarm@huawei.com, arnd@arndb.de, linux-scsi@vger.kernel.org,
linux-kernel@vger.kernel.org, hch@infradead.org,
John Garry <john.garry@huawei.com>
Subject: [PATCH v5 00/23] hisi_sas: hip08 support
Date: Fri, 9 Jun 2017 22:16:13 +0800 [thread overview]
Message-ID: <1497017796-105067-1-git-send-email-john.garry@huawei.com> (raw)
This patchset adds support for the HiSilicon SAS controller
in the hip08 chipset.
The key difference compared to earlier chipsets is that the
controller is an integrated PCI endpoint in hip08.
As such, the controller is a pci device (not a platform device,
like v2 hw in hip07).
The driver is refactored so it can support both platform and
pci device-based controllers.
New hw layer file hisi_sas_v3_hw.c is added for v3 hw
support, which also includes pci device proving and
initialisation.
Common functionality is still in hisi_sas_main.c, along with
platform device probing and initialization.
As for the patches, (ignoring #1-3) the first few
reorganise some functions from v2 hw.c into main.c, as they
are required for v3 hw. Then support is added for pci
device-based controller in subsequent patches.
And then hip08 support is added in the final patches.
Difference to v4 series:
-report SAS_DATA_UNDERRUN to libsas for underflow
Differences to v3 series:
- Addressed Christoph's comments, including:
- remove msi disable in probe, and improve irq
registration and deregistration
- remove hisi_sas_is_rw_cmd() to check underflow,
and use scsi_cmnd underflow field instead
Differences to v2 series:
- Add patch to change hisi_sas_device.device_id size
- Add device dq pointer
- Remove hisi_sas_v3_hw prototype in v3 driver
- Add explicit comment in hisi_sas_get_fw_info()
Differences to v1 series:
- Addressed Arnd's comments, including:
- read sas address from device node DSD under PCI host
bridge
- add comment in fatal axi error patch commit log regarding
controller reset
- eliminate hisi_sas_pci_init.c, and move functionality into
hisi_sas_v3_hw.c, eliminating one layer of indirection
John Garry (5):
scsi: hisi_sas: define hisi_sas_device.device_id as int
scsi: hisi_sas: add pci_dev in hisi_hba struct
scsi: hisi_sas: create hisi_sas_get_fw_info()
scsi: hisi_sas: add skeleton v3 hw driver
scsi: hisi_sas: add initialisation for v3 pci-based controller
Xiang Chen (18):
scsi: hisi_sas: fix timeout check in hisi_sas_internal_task_abort()
scsi: hisi_sas: optimise the usage of hisi_hba.lock
scsi: hisi_sas: relocate get_ata_protocol()
scsi: hisi_sas: relocate sata_done_v2_hw()
scsi: hisi_sas: relocate get_ncq_tag_v2_hw()
scsi: hisi_sas: add v3 hw init
scsi: hisi_sas: add v3 hw PHY init
scsi: hisi_sas: add phy up/down/bcast and channel ISR
scsi: hisi_sas: add v3 cq interrupt handler
scsi: hisi_sas: add v3 code to send SSP frame
scsi: hisi_sas: add v3 code to send SMP frame
scsi: hisi_sas: add v3 code to send ATA frame
scsi: hisi_sas: add v3 code for itct setup and free
scsi: hisi_sas: add v3 code to send internal abort command
scsi: hisi_sas: add get_wideport_bitmap_v3_hw()
scsi: hisi_sas: Add v3 code to support ECC and AXI bus fatal error
scsi: hisi_sas: add v3 code to fill some more hw function pointers
scsi: hisi_sas: modify internal abort dev flow for v3 hw
drivers/scsi/hisi_sas/Kconfig | 10 +-
drivers/scsi/hisi_sas/Makefile | 1 +
drivers/scsi/hisi_sas/hisi_sas.h | 42 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 355 +++--
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 51 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 179 +--
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2240 ++++++++++++++++++++++++++++++++
7 files changed, 2613 insertions(+), 265 deletions(-)
create mode 100644 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
--
1.9.1
next reply other threads:[~2017-06-09 13:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 14:16 John Garry [this message]
2017-06-09 14:16 ` [PATCH v5 01/23] scsi: hisi_sas: fix timeout check in hisi_sas_internal_task_abort() John Garry
2017-06-09 14:16 ` [PATCH v5 02/23] scsi: hisi_sas: define hisi_sas_device.device_id as int John Garry
2017-06-09 14:16 ` [PATCH v5 03/23] scsi: hisi_sas: optimise the usage of hisi_hba.lock John Garry
2017-06-10 20:44 ` kbuild test robot
2017-06-12 8:26 ` John Garry
2017-06-12 9:45 ` Arnd Bergmann
2017-06-12 10:24 ` John Garry
2017-06-09 14:16 ` [PATCH v5 04/23] scsi: hisi_sas: relocate get_ata_protocol() John Garry
2017-06-09 14:16 ` [PATCH v5 05/23] scsi: hisi_sas: relocate sata_done_v2_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 06/23] scsi: hisi_sas: relocate get_ncq_tag_v2_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 07/23] scsi: hisi_sas: add pci_dev in hisi_hba struct John Garry
2017-06-09 14:16 ` [PATCH v5 08/23] scsi: hisi_sas: create hisi_sas_get_fw_info() John Garry
2017-06-09 14:16 ` [PATCH v5 09/23] scsi: hisi_sas: add skeleton v3 hw driver John Garry
2017-06-09 14:16 ` [PATCH v5 10/23] scsi: hisi_sas: add initialisation for v3 pci-based controller John Garry
2017-06-09 14:16 ` [PATCH v5 11/23] scsi: hisi_sas: add v3 hw init John Garry
2017-06-09 14:16 ` [PATCH v5 12/23] scsi: hisi_sas: add v3 hw PHY init John Garry
2017-06-09 14:16 ` [PATCH v5 13/23] scsi: hisi_sas: add phy up/down/bcast and channel ISR John Garry
2017-06-09 14:16 ` [PATCH v5 14/23] scsi: hisi_sas: add v3 cq interrupt handler John Garry
2017-06-09 14:16 ` [PATCH v5 15/23] scsi: hisi_sas: add v3 code to send SSP frame John Garry
2017-06-09 14:16 ` [PATCH v5 16/23] scsi: hisi_sas: add v3 code to send SMP frame John Garry
2017-06-09 14:16 ` [PATCH v5 17/23] scsi: hisi_sas: add v3 code to send ATA frame John Garry
2017-06-09 14:16 ` [PATCH v5 18/23] scsi: hisi_sas: add v3 code for itct setup and free John Garry
2017-06-09 14:16 ` [PATCH v5 19/23] scsi: hisi_sas: add v3 code to send internal abort command John Garry
2017-06-09 14:16 ` [PATCH v5 20/23] scsi: hisi_sas: add get_wideport_bitmap_v3_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 21/23] scsi: hisi_sas: Add v3 code to support ECC and AXI bus fatal error John Garry
2017-06-09 14:16 ` [PATCH v5 22/23] scsi: hisi_sas: add v3 code to fill some more hw function pointers John Garry
2017-06-09 14:16 ` [PATCH v5 23/23] scsi: hisi_sas: modify internal abort dev flow for v3 hw John Garry
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=1497017796-105067-1-git-send-email-john.garry@huawei.com \
--to=john.garry@huawei.com \
--cc=arnd@arndb.de \
--cc=hch@infradead.org \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=martin.petersen@oracle.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;
as well as URLs for NNTP newsgroup(s).