]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: libsas: Add sas_execute_tmf()
authorJohn Garry <john.garry@huawei.com>
Thu, 17 Feb 2022 15:42:37 +0000 (23:42 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 19 Feb 2022 20:59:35 +0000 (15:59 -0500)
commita54d621c640d37c572e378677cc6e678955a74b7
tree99de8d88f0883823ab7ea3d108a9cecb09c1dec6
parenta5d2d3f3d404fb70c0f91547fc95ac93e5ddc1f5
scsi: libsas: Add sas_execute_tmf()

Drivers using libsas have to issue their own TMFs, and the code to do this
is duplicated between drivers.

Add a common function to handle TMFs. This will be also used for sending
ATA commands, but use name "tmf" as the purpose is similar between SCSI and
ATA in the usage.

The force_phy_id argument will be used for a hisi_sas HW bug workaround.

We check the sas task status stat field against TMF codes, as according to
the SAS v1.1 spec 9.2.2.5.3, if response_data is in datapres, then the
response code should be a TMF code - see table 128.

Link: https://lore.kernel.org/r/1645112566-115804-10-git-send-email-john.garry@huawei.com
Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libsas/sas_internal.h
drivers/scsi/libsas/sas_scsi_host.c