mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-14 19:37:32 +07:00
[SCSI] pm8001: remove pm8001_slave_{alloc|configure}
libsas handles: 1/ limiting ata scanning to lun0 2/ changes to /sys/block/<sdX>/device/queue_depth for ata devices libata handles turning off ncq globally via kernel command line (libata.force=noncq) or sysfs (echo 1 > /sys/block/<sdX>/device/queue_depth). A lldd specific compile option is not necessary. Cc: Jack Wang <jack_wang@usish.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
e211e2c7b6
commit
11e16364aa
@ -61,7 +61,7 @@ static struct scsi_host_template pm8001_sht = {
|
|||||||
.name = DRV_NAME,
|
.name = DRV_NAME,
|
||||||
.queuecommand = sas_queuecommand,
|
.queuecommand = sas_queuecommand,
|
||||||
.target_alloc = sas_target_alloc,
|
.target_alloc = sas_target_alloc,
|
||||||
.slave_configure = pm8001_slave_configure,
|
.slave_configure = sas_slave_configure,
|
||||||
.slave_destroy = sas_slave_destroy,
|
.slave_destroy = sas_slave_destroy,
|
||||||
.scan_finished = pm8001_scan_finished,
|
.scan_finished = pm8001_scan_finished,
|
||||||
.scan_start = pm8001_scan_start,
|
.scan_start = pm8001_scan_start,
|
||||||
@ -76,7 +76,7 @@ static struct scsi_host_template pm8001_sht = {
|
|||||||
.use_clustering = ENABLE_CLUSTERING,
|
.use_clustering = ENABLE_CLUSTERING,
|
||||||
.eh_device_reset_handler = sas_eh_device_reset_handler,
|
.eh_device_reset_handler = sas_eh_device_reset_handler,
|
||||||
.eh_bus_reset_handler = sas_eh_bus_reset_handler,
|
.eh_bus_reset_handler = sas_eh_bus_reset_handler,
|
||||||
.slave_alloc = pm8001_slave_alloc,
|
.slave_alloc = sas_slave_alloc,
|
||||||
.target_destroy = sas_target_destroy,
|
.target_destroy = sas_target_destroy,
|
||||||
.ioctl = sas_ioctl,
|
.ioctl = sas_ioctl,
|
||||||
.shost_attrs = pm8001_host_attrs,
|
.shost_attrs = pm8001_host_attrs,
|
||||||
|
@ -216,20 +216,6 @@ int pm8001_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pm8001_slave_alloc(struct scsi_device *scsi_dev)
|
|
||||||
{
|
|
||||||
struct domain_device *dev = sdev_to_domain_dev(scsi_dev);
|
|
||||||
if (dev_is_sata(dev)) {
|
|
||||||
/* We don't need to rescan targets
|
|
||||||
* if REPORT_LUNS request is failed
|
|
||||||
*/
|
|
||||||
if (scsi_dev->lun > 0)
|
|
||||||
return -ENXIO;
|
|
||||||
scsi_dev->tagged_supported = 1;
|
|
||||||
}
|
|
||||||
return sas_slave_alloc(scsi_dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pm8001_scan_start - we should enable all HBA phys by sending the phy_start
|
* pm8001_scan_start - we should enable all HBA phys by sending the phy_start
|
||||||
* command to HBA.
|
* command to HBA.
|
||||||
@ -314,22 +300,7 @@ static int pm8001_task_prep_ssp(struct pm8001_hba_info *pm8001_ha,
|
|||||||
{
|
{
|
||||||
return PM8001_CHIP_DISP->ssp_io_req(pm8001_ha, ccb);
|
return PM8001_CHIP_DISP->ssp_io_req(pm8001_ha, ccb);
|
||||||
}
|
}
|
||||||
int pm8001_slave_configure(struct scsi_device *sdev)
|
|
||||||
{
|
|
||||||
struct domain_device *dev = sdev_to_domain_dev(sdev);
|
|
||||||
int ret = sas_slave_configure(sdev);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
if (dev_is_sata(dev)) {
|
|
||||||
#ifdef PM8001_DISABLE_NCQ
|
|
||||||
struct ata_port *ap = dev->sata_dev.ap;
|
|
||||||
struct ata_device *adev = ap->link.device;
|
|
||||||
adev->flags |= ATA_DFLAG_NCQ_OFF;
|
|
||||||
scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, 1);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* Find the local port id that's attached to this device */
|
/* Find the local port id that's attached to this device */
|
||||||
static int sas_find_local_port_id(struct domain_device *dev)
|
static int sas_find_local_port_id(struct domain_device *dev)
|
||||||
{
|
{
|
||||||
|
@ -471,8 +471,6 @@ void pm8001_ccb_task_free(struct pm8001_hba_info *pm8001_ha,
|
|||||||
struct sas_task *task, struct pm8001_ccb_info *ccb, u32 ccb_idx);
|
struct sas_task *task, struct pm8001_ccb_info *ccb, u32 ccb_idx);
|
||||||
int pm8001_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
|
int pm8001_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
|
||||||
void *funcdata);
|
void *funcdata);
|
||||||
int pm8001_slave_alloc(struct scsi_device *scsi_dev);
|
|
||||||
int pm8001_slave_configure(struct scsi_device *sdev);
|
|
||||||
void pm8001_scan_start(struct Scsi_Host *shost);
|
void pm8001_scan_start(struct Scsi_Host *shost);
|
||||||
int pm8001_scan_finished(struct Scsi_Host *shost, unsigned long time);
|
int pm8001_scan_finished(struct Scsi_Host *shost, unsigned long time);
|
||||||
int pm8001_queue_command(struct sas_task *task, const int num,
|
int pm8001_queue_command(struct sas_task *task, const int num,
|
||||||
|
Loading…
Reference in New Issue
Block a user