aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/dpcsup.c
diff options
context:
space:
mode:
authorMahesh Rajashekhara <Mahesh_Rajashekhara@pmc-sierra.com>2012-07-14 08:48:51 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-07-20 03:59:04 -0400
commit85d22bbf6787c240921539bba224eb221bfb8ee1 (patch)
tree364d004282e48cd45d83232e00fddc3cdbec057c /drivers/scsi/aacraid/dpcsup.c
parentfa7250d6945d0f693bef6545682beb7f671f1694 (diff)
[SCSI] aacraid: Series 7 Async. (performance) mode support
- Series 7 Async. (performance) mode support added - New scatter/gather list format for Series 7 - Driver converts s/g list to a firmware suitable list for best performance on Series 7, this can be disabled with driver parameter "aac_convert_sgl" for testing purposes - New container read/write command structure for Series 7 - Fast response support for the SCSI pass-through path added - Async. status response buffer changes Signed-off-by: Mahesh Rajashekhara <Mahesh_Rajashekhara@pmc-sierra.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/aacraid/dpcsup.c')
-rw-r--r--drivers/scsi/aacraid/dpcsup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/aacraid/dpcsup.c b/drivers/scsi/aacraid/dpcsup.c
index f0c66a80ad13..d81b2810f0f7 100644
--- a/drivers/scsi/aacraid/dpcsup.c
+++ b/drivers/scsi/aacraid/dpcsup.c
@@ -101,6 +101,7 @@ unsigned int aac_response_normal(struct aac_queue * q)
101 */ 101 */
102 *(__le32 *)hwfib->data = cpu_to_le32(ST_OK); 102 *(__le32 *)hwfib->data = cpu_to_le32(ST_OK);
103 hwfib->header.XferState |= cpu_to_le32(AdapterProcessed); 103 hwfib->header.XferState |= cpu_to_le32(AdapterProcessed);
104 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP;
104 } 105 }
105 106
106 FIB_COUNTER_INCREMENT(aac_config.FibRecved); 107 FIB_COUNTER_INCREMENT(aac_config.FibRecved);
@@ -121,7 +122,7 @@ unsigned int aac_response_normal(struct aac_queue * q)
121 * NOTE: we cannot touch the fib after this 122 * NOTE: we cannot touch the fib after this
122 * call, because it may have been deallocated. 123 * call, because it may have been deallocated.
123 */ 124 */
124 fib->flags = 0; 125 fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
125 fib->callback(fib->callback_data, fib); 126 fib->callback(fib->callback_data, fib);
126 } else { 127 } else {
127 unsigned long flagv; 128 unsigned long flagv;
@@ -367,6 +368,7 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
367 */ 368 */
368 *(__le32 *)hwfib->data = cpu_to_le32(ST_OK); 369 *(__le32 *)hwfib->data = cpu_to_le32(ST_OK);
369 hwfib->header.XferState |= cpu_to_le32(AdapterProcessed); 370 hwfib->header.XferState |= cpu_to_le32(AdapterProcessed);
371 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP;
370 } 372 }
371 373
372 FIB_COUNTER_INCREMENT(aac_config.FibRecved); 374 FIB_COUNTER_INCREMENT(aac_config.FibRecved);
@@ -387,7 +389,7 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 index,
387 * NOTE: we cannot touch the fib after this 389 * NOTE: we cannot touch the fib after this
388 * call, because it may have been deallocated. 390 * call, because it may have been deallocated.
389 */ 391 */
390 fib->flags = 0; 392 fib->flags &= FIB_CONTEXT_FLAG_FASTRESP;
391 fib->callback(fib->callback_data, fib); 393 fib->callback(fib->callback_data, fib);
392 } else { 394 } else {
393 unsigned long flagv; 395 unsigned long flagv;