This is a follow on to Part I in the following: https://lore.kernel.org/linux-scsi/1666693096-180008-1-git-send-email-john.garry@xxxxxxxxxx/T/#ta This mostly focuses on libata changes to queue internal commands as requests. This is less complete than Part I series, due to: - not tested on SATA PMP - not support for ipr.c, which does not support ata_port_operations.error_handler - Not tested enough - for example, there are prob lots of issues lurking in libata qc iter functions now that ata_port.qcmd[] is deleted John Garry (7): ata: libata-scsi: Add ata_scsi_queue_internal() ata: libata-scsi: Add ata_internal_queuecommand() ata: libata: Make space for ATA queue command in scmd payload ata: libata: Add ata_internal_timeout() ata: libata: Queue ATA internal commands as requests scsi: mvsas: Remove internal tag handling scsi: hisi_sas: Remove internal tag handling for reserved commands drivers/ata/libata-core.c | 141 ++++++++++++++----------- drivers/ata/libata-eh.c | 11 +- drivers/ata/libata-sata.c | 5 +- drivers/ata/libata-scsi.c | 76 ++++++++++++- drivers/ata/libata.h | 3 +- drivers/scsi/aic94xx/aic94xx_init.c | 2 + drivers/scsi/hisi_sas/hisi_sas.h | 3 - drivers/scsi/hisi_sas/hisi_sas_main.c | 82 +++----------- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 + drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 2 + drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 11 +- drivers/scsi/isci/init.c | 2 + drivers/scsi/libsas/sas_scsi_host.c | 20 +++- drivers/scsi/mvsas/mv_init.c | 13 +-- drivers/scsi/mvsas/mv_sas.c | 55 +--------- drivers/scsi/mvsas/mv_sas.h | 1 - drivers/scsi/pm8001/pm8001_init.c | 2 + include/linux/libata.h | 64 ++++++++++- include/scsi/libsas.h | 8 +- 19 files changed, 281 insertions(+), 222 deletions(-) -- 2.35.3