Commit 701f75ec authored by John Garry's avatar John Garry Committed by Martin K. Petersen

hisi_sas: Add scan finished and start

Add functions for scsi host template scan_finished and scan_start
methods.
Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 66ee999b
......@@ -156,6 +156,7 @@ struct hisi_hba {
u8 sas_addr[SAS_ADDR_SIZE];
int n_phy;
int scan_finished;
spinlock_t lock;
struct timer_list timer;
......
......@@ -403,6 +403,29 @@ static int hisi_sas_dev_found(struct domain_device *device)
return 0;
}
static void hisi_sas_scan_start(struct Scsi_Host *shost)
{
struct hisi_hba *hisi_hba = shost_priv(shost);
int i;
for (i = 0; i < hisi_hba->n_phy; ++i)
hisi_sas_bytes_dmaed(hisi_hba, i);
hisi_hba->scan_finished = 1;
}
static int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time)
{
struct hisi_hba *hisi_hba = shost_priv(shost);
struct sas_ha_struct *sha = &hisi_hba->sha;
if (hisi_hba->scan_finished == 0)
return 0;
sas_drain_work(sha);
return 1;
}
static void hisi_sas_phyup_work(struct work_struct *work)
{
struct hisi_sas_phy *phy =
......@@ -587,6 +610,8 @@ static struct scsi_host_template hisi_sas_sht = {
.queuecommand = sas_queuecommand,
.target_alloc = sas_target_alloc,
.slave_configure = sas_slave_configure,
.scan_finished = hisi_sas_scan_finished,
.scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
.can_queue = 1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment