[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1643110372-85470-9-git-send-email-john.garry@huawei.com>
Date: Tue, 25 Jan 2022 19:32:44 +0800
From: John Garry <john.garry@...wei.com>
To: <jejb@...ux.ibm.com>, <martin.petersen@...cle.com>,
<artur.paszkiewicz@...el.com>, <jinpu.wang@...ud.ionos.com>,
<chenxiang66@...ilicon.com>, <Ajish.Koshy@...rochip.com>
CC: <yanaijie@...wei.com>, <linux-doc@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-scsi@...r.kernel.org>,
<linuxarm@...wei.com>, <liuqi115@...wei.com>,
<Viswas.G@...rochip.com>, <damien.lemoal@...nsource.wdc.com>,
John Garry <john.garry@...wei.com>
Subject: [PATCH 08/16] scsi: libsas: Add sas_execute_ssp_tmf()
Add a function to issue an SSP TMF.
Add a temp prototype to keep make W=1 happy.
Signed-off-by: John Garry <john.garry@...wei.com>
---
drivers/scsi/libsas/sas_scsi_host.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index 93ca6da63104..cfdf4a031be0 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -938,6 +938,11 @@ int sas_execute_tmf(struct domain_device *device, void *parameter,
task->dev = device;
task->task_proto = device->tproto;
+ if (dev_is_sata(device)) {
+ } else {
+ memcpy(&task->ssp_task, parameter, para_len);
+ }
+
task->task_done = sas_task_internal_done;
task->tmf = tmf;
@@ -1023,6 +1028,21 @@ int sas_execute_tmf(struct domain_device *device, void *parameter,
return res;
}
+int sas_execute_ssp_tmf(struct domain_device *device, u8 *lun,
+ struct sas_tmf_task *tmf);
+int sas_execute_ssp_tmf(struct domain_device *device, u8 *lun,
+ struct sas_tmf_task *tmf)
+{
+ struct sas_ssp_task ssp_task;
+
+ if (!(device->tproto & SAS_PROTOCOL_SSP))
+ return TMF_RESP_FUNC_ESUPP;
+
+ memcpy(ssp_task.LUN, lun, 8);
+
+ return sas_execute_tmf(device, &ssp_task, sizeof(ssp_task), -1, tmf);
+}
+
/*
* Tell an upper layer that it needs to initiate an abort for a given task.
* This should only ever be called by an LLDD.
--
2.26.2
Powered by blists - more mailing lists