[SCSI] libsas: use ->set_dmamode to notify lldds of NCQ parameters
authorDan Williams <dan.j.williams@intel.com>
Fri, 18 Nov 2011 01:59:52 +0000 (17:59 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 19 Feb 2012 19:55:42 +0000 (13:55 -0600)
commitb91bb296188118eea9fdc6093cfcf76bbe8589ba
tree8fe9dda8894514f9cd1184368eab975583c12f3c
parent87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2
[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>
drivers/scsi/aic94xx/aic94xx.h
drivers/scsi/aic94xx/aic94xx_dev.c
drivers/scsi/aic94xx/aic94xx_init.c
drivers/scsi/libsas/sas_ata.c
drivers/scsi/libsas/sas_discover.c
include/scsi/libsas.h