aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_mbx.c
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2005-08-26 22:08:10 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-09-04 20:53:04 -0400
commitad3e0edaceb9771be7ffbd7aa24fb444a7ed85bf (patch)
tree0815f12f6e026ea220c03605f1b7e122b265c143 /drivers/scsi/qla2xxx/qla_mbx.c
parent7524f9b9e72cd36f0a70defcd424eba81c180f42 (diff)
[SCSI] qla2xxx: Export class-of-service (COS) information.
Export COS information for the fc_host and fc_remote_port objects added by the driver. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 409ea0ac4032..774309a77c05 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -19,6 +19,7 @@
19#include "qla_def.h" 19#include "qla_def.h"
20 20
21#include <linux/delay.h> 21#include <linux/delay.h>
22#include <scsi/scsi_transport_fc.h>
22 23
23static void 24static void
24qla2x00_mbx_sem_timeout(unsigned long data) 25qla2x00_mbx_sem_timeout(unsigned long data)
@@ -1326,6 +1327,10 @@ qla2x00_get_port_database(scsi_qla_host_t *ha, fc_port_t *fcport, uint8_t opt)
1326 fcport->port_type = FCT_INITIATOR; 1327 fcport->port_type = FCT_INITIATOR;
1327 else 1328 else
1328 fcport->port_type = FCT_TARGET; 1329 fcport->port_type = FCT_TARGET;
1330
1331 /* Passback COS information. */
1332 fcport->supported_classes = (pd->options & BIT_4) ?
1333 FC_COS_CLASS2: FC_COS_CLASS3;
1329 } 1334 }
1330 1335
1331gpd_error_out: 1336gpd_error_out:
@@ -1661,6 +1666,13 @@ qla24xx_login_fabric(scsi_qla_host_t *ha, uint16_t loop_id, uint8_t domain,
1661 mb[1] |= BIT_1; 1666 mb[1] |= BIT_1;
1662 } else 1667 } else
1663 mb[1] = BIT_0; 1668 mb[1] = BIT_0;
1669
1670 /* Passback COS information. */
1671 mb[10] = 0;
1672 if (lg->io_parameter[7] || lg->io_parameter[8])
1673 mb[10] |= BIT_0; /* Class 2. */
1674 if (lg->io_parameter[9] || lg->io_parameter[10])
1675 mb[10] |= BIT_1; /* Class 3. */
1664 } 1676 }
1665 1677
1666 dma_pool_free(ha->s_dma_pool, lg, lg_dma); 1678 dma_pool_free(ha->s_dma_pool, lg, lg_dma);
@@ -1723,6 +1735,8 @@ qla2x00_login_fabric(scsi_qla_host_t *ha, uint16_t loop_id, uint8_t domain,
1723 mb[2] = mcp->mb[2]; 1735 mb[2] = mcp->mb[2];
1724 mb[6] = mcp->mb[6]; 1736 mb[6] = mcp->mb[6];
1725 mb[7] = mcp->mb[7]; 1737 mb[7] = mcp->mb[7];
1738 /* COS retrieved from Get-Port-Database mailbox command. */
1739 mb[10] = 0;
1726 } 1740 }
1727 1741
1728 if (rval != QLA_SUCCESS) { 1742 if (rval != QLA_SUCCESS) {