aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_mbx.c
diff options
context:
space:
mode:
authorSantosh Vernekar <santosh.vernekar@qlogic.com>2010-03-19 19:59:16 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-03-27 15:11:29 -0400
commitcad454b12a23c24fd7f409402cf51434655e76c1 (patch)
tree4cf65ae456d4afab9491492ca1343d3a86167c06 /drivers/scsi/qla2xxx/qla_mbx.c
parentd88a714bfefa7aed7b9cb6c3721707fcd056b472 (diff)
[SCSI] qla2xxx: Honour "Extended BB credits" bit for CNAs.
We now enable/disable "Additional Receive Credits" in f/w based on nvram parameter "Extended_BB_Credits" bit (i.e. Enhanced-Features: at offset 0x196). This is applicable only for GEN2 CNAs. Signed-off-by: Santosh Vernekar <santosh.vernekar@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 6e53bdbb1da8..3ba9a2b56556 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -339,6 +339,7 @@ qla2x00_load_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t risc_addr,
339 return rval; 339 return rval;
340} 340}
341 341
342#define EXTENDED_BB_CREDITS BIT_0
342/* 343/*
343 * qla2x00_execute_fw 344 * qla2x00_execute_fw
344 * Start adapter firmware. 345 * Start adapter firmware.
@@ -371,7 +372,12 @@ qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr)
371 mcp->mb[1] = MSW(risc_addr); 372 mcp->mb[1] = MSW(risc_addr);
372 mcp->mb[2] = LSW(risc_addr); 373 mcp->mb[2] = LSW(risc_addr);
373 mcp->mb[3] = 0; 374 mcp->mb[3] = 0;
374 mcp->mb[4] = 0; 375 if (IS_QLA81XX(ha)) {
376 struct nvram_81xx *nv = ha->nvram;
377 mcp->mb[4] = (nv->enhanced_features &
378 EXTENDED_BB_CREDITS);
379 } else
380 mcp->mb[4] = 0;
375 mcp->out_mb |= MBX_4|MBX_3|MBX_2|MBX_1; 381 mcp->out_mb |= MBX_4|MBX_3|MBX_2|MBX_1;
376 mcp->in_mb |= MBX_1; 382 mcp->in_mb |= MBX_1;
377 } else { 383 } else {