summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic94xx/aic94xx.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-11-17 17:59:52 -0800
committerJames Bottomley <JBottomley@Parallels.com>2012-02-19 13:55:42 -0600
commitb91bb296188118eea9fdc6093cfcf76bbe8589ba (patch)
tree8fe9dda8894514f9cd1184368eab975583c12f3c /drivers/scsi/aic94xx/aic94xx.h
parent87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2 (diff)
downloadlinux-b91bb296188118eea9fdc6093cfcf76bbe8589ba.tar.bz2
[SCSI] libsas: use ->set_dmamode to notify lldds of NCQ parameters
sas_discover_sata() notifies lldds of sata devices twice. Once to allow the 'identify' to be sent, and a second time to allow aic94xx (the only libsas driver that cares about sata_dev.identify) to setup NCQ parameters before the device becomes known to the midlayer. Replace this double notification and intervening 'identify' with an explicit ->lldd_ata_set_dmamode notification. With this change all ata internal commands are issued by libata, so we no longer need sas_issue_ata_cmd(). The data from the identify command only needs to be cached in one location so ata_device.id replaces domain_device.sata_dev.identify. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/aic94xx/aic94xx.h')
-rw-r--r--drivers/scsi/aic94xx/aic94xx.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx.h b/drivers/scsi/aic94xx/aic94xx.h
index 2863a9d22851..66cda669b417 100644
--- a/drivers/scsi/aic94xx/aic94xx.h
+++ b/drivers/scsi/aic94xx/aic94xx.h
@@ -80,6 +80,8 @@ void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id);
int asd_execute_task(struct sas_task *, int num, gfp_t gfp_flags);
+void asd_set_dmamode(struct domain_device *dev);
+
/* ---------- TMFs ---------- */
int asd_abort_task(struct sas_task *);
int asd_abort_task_set(struct domain_device *, u8 *lun);