aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
commit2152f8536668a957ea3214735b4761e7b22ef7d8 (patch)
tree56723fc51445b1bc930c6400d4c00fd6fc831f88 /drivers/scsi/lpfc/lpfc_hw.h
parent7cae7e26f245151b9ccad868bf2edf8c8048d307 (diff)
parent30afc84cf7325e88fb9746340eba3c161080ff49 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (138 commits) [SCSI] libata: implement minimal transport template for ->eh_timed_out [SCSI] eliminate rphy allocation in favour of expander/end device allocation [SCSI] convert mptsas over to end_device/expander allocations [SCSI] allow displaying and setting of cache type via sysfs [SCSI] add scsi_mode_select to scsi_lib.c [SCSI] 3ware 9000 add big endian support [SCSI] qla2xxx: update MAINTAINERS [SCSI] scsi: move target_destroy call [SCSI] fusion - bump version [SCSI] fusion - expander hotplug suport in mptsas module [SCSI] fusion - exposing raid components in mptsas [SCSI] fusion - memory leak, and initializing fields [SCSI] fusion - exclosure misspelled [SCSI] fusion - cleanup mptsas event handling functions [SCSI] fusion - removing target_id/bus_id from the VirtDevice structure [SCSI] fusion - static fix's [SCSI] fusion - move some debug firmware event debug msgs to verbose level [SCSI] fusion - loginfo header update [SCSI] add scsi_reprobe_device [SCSI] megaraid_sas: fix extended timeout handling ...
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h65
1 files changed, 50 insertions, 15 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
index 1ea565e0561f..54d04188f7cc 100644
--- a/drivers/scsi/lpfc/lpfc_hw.h
+++ b/drivers/scsi/lpfc/lpfc_hw.h
@@ -1,7 +1,7 @@
1/******************************************************************* 1/*******************************************************************
2 * This file is part of the Emulex Linux Device Driver for * 2 * This file is part of the Emulex Linux Device Driver for *
3 * Fibre Channel Host Bus Adapters. * 3 * Fibre Channel Host Bus Adapters. *
4 * Copyright (C) 2004-2005 Emulex. All rights reserved. * 4 * Copyright (C) 2004-2006 Emulex. All rights reserved. *
5 * EMULEX and SLI are trademarks of Emulex. * 5 * EMULEX and SLI are trademarks of Emulex. *
6 * www.emulex.com * 6 * www.emulex.com *
7 * * 7 * *
@@ -454,10 +454,13 @@ struct serv_parm { /* Structure is in Big Endian format */
454#define ELS_CMD_ADISC 0x52000000 454#define ELS_CMD_ADISC 0x52000000
455#define ELS_CMD_FARP 0x54000000 455#define ELS_CMD_FARP 0x54000000
456#define ELS_CMD_FARPR 0x55000000 456#define ELS_CMD_FARPR 0x55000000
457#define ELS_CMD_RPS 0x56000000
458#define ELS_CMD_RPL 0x57000000
457#define ELS_CMD_FAN 0x60000000 459#define ELS_CMD_FAN 0x60000000
458#define ELS_CMD_RSCN 0x61040000 460#define ELS_CMD_RSCN 0x61040000
459#define ELS_CMD_SCR 0x62000000 461#define ELS_CMD_SCR 0x62000000
460#define ELS_CMD_RNID 0x78000000 462#define ELS_CMD_RNID 0x78000000
463#define ELS_CMD_LIRR 0x7A000000
461#else /* __LITTLE_ENDIAN_BITFIELD */ 464#else /* __LITTLE_ENDIAN_BITFIELD */
462#define ELS_CMD_MASK 0xffff 465#define ELS_CMD_MASK 0xffff
463#define ELS_RSP_MASK 0xff 466#define ELS_RSP_MASK 0xff
@@ -486,10 +489,13 @@ struct serv_parm { /* Structure is in Big Endian format */
486#define ELS_CMD_ADISC 0x52 489#define ELS_CMD_ADISC 0x52
487#define ELS_CMD_FARP 0x54 490#define ELS_CMD_FARP 0x54
488#define ELS_CMD_FARPR 0x55 491#define ELS_CMD_FARPR 0x55
492#define ELS_CMD_RPS 0x56
493#define ELS_CMD_RPL 0x57
489#define ELS_CMD_FAN 0x60 494#define ELS_CMD_FAN 0x60
490#define ELS_CMD_RSCN 0x0461 495#define ELS_CMD_RSCN 0x0461
491#define ELS_CMD_SCR 0x62 496#define ELS_CMD_SCR 0x62
492#define ELS_CMD_RNID 0x78 497#define ELS_CMD_RNID 0x78
498#define ELS_CMD_LIRR 0x7A
493#endif 499#endif
494 500
495/* 501/*
@@ -758,12 +764,40 @@ typedef struct _RNID { /* Structure is in Big Endian format */
758 } un; 764 } un;
759} RNID; 765} RNID;
760 766
761typedef struct _RRQ { /* Structure is in Big Endian format */ 767typedef struct _RPS { /* Structure is in Big Endian format */
762 uint32_t SID; 768 union {
763 uint16_t Oxid; 769 uint32_t portNum;
764 uint16_t Rxid; 770 struct lpfc_name portName;
765 uint8_t resv[32]; /* optional association hdr */ 771 } un;
766} RRQ; 772} RPS;
773
774typedef struct _RPS_RSP { /* Structure is in Big Endian format */
775 uint16_t rsvd1;
776 uint16_t portStatus;
777 uint32_t linkFailureCnt;
778 uint32_t lossSyncCnt;
779 uint32_t lossSignalCnt;
780 uint32_t primSeqErrCnt;
781 uint32_t invalidXmitWord;
782 uint32_t crcCnt;
783} RPS_RSP;
784
785typedef struct _RPL { /* Structure is in Big Endian format */
786 uint32_t maxsize;
787 uint32_t index;
788} RPL;
789
790typedef struct _PORT_NUM_BLK {
791 uint32_t portNum;
792 uint32_t portID;
793 struct lpfc_name portName;
794} PORT_NUM_BLK;
795
796typedef struct _RPL_RSP { /* Structure is in Big Endian format */
797 uint32_t listLen;
798 uint32_t index;
799 PORT_NUM_BLK port_num_blk;
800} RPL_RSP;
767 801
768/* This is used for RSCN command */ 802/* This is used for RSCN command */
769typedef struct _D_ID { /* Structure is in Big Endian format */ 803typedef struct _D_ID { /* Structure is in Big Endian format */
@@ -804,7 +838,6 @@ typedef struct _ELS_PKT { /* Structure is in Big Endian format */
804 FARP farp; /* Payload for FARP/ACC */ 838 FARP farp; /* Payload for FARP/ACC */
805 FAN fan; /* Payload for FAN */ 839 FAN fan; /* Payload for FAN */
806 SCR scr; /* Payload for SCR/ACC */ 840 SCR scr; /* Payload for SCR/ACC */
807 RRQ rrq; /* Payload for RRQ */
808 RNID rnid; /* Payload for RNID */ 841 RNID rnid; /* Payload for RNID */
809 uint8_t pad[128 - 4]; /* Pad out to payload of 128 bytes */ 842 uint8_t pad[128 - 4]; /* Pad out to payload of 128 bytes */
810 } un; 843 } un;
@@ -1200,7 +1233,9 @@ typedef struct { /* FireFly BIU registers */
1200#define MBX_SET_MASK 0x20 1233#define MBX_SET_MASK 0x20
1201#define MBX_SET_SLIM 0x21 1234#define MBX_SET_SLIM 0x21
1202#define MBX_UNREG_D_ID 0x23 1235#define MBX_UNREG_D_ID 0x23
1236#define MBX_KILL_BOARD 0x24
1203#define MBX_CONFIG_FARP 0x25 1237#define MBX_CONFIG_FARP 0x25
1238#define MBX_BEACON 0x2A
1204 1239
1205#define MBX_LOAD_AREA 0x81 1240#define MBX_LOAD_AREA 0x81
1206#define MBX_RUN_BIU_DIAG64 0x84 1241#define MBX_RUN_BIU_DIAG64 0x84
@@ -1676,13 +1711,13 @@ typedef struct {
1676 uint32_t rttov; 1711 uint32_t rttov;
1677 uint32_t altov; 1712 uint32_t altov;
1678 uint32_t lmt; 1713 uint32_t lmt;
1679#define LMT_RESERVED 0x0 /* Not used */ 1714#define LMT_RESERVED 0x000 /* Not used */
1680#define LMT_266_10bit 0x1 /* 265.625 Mbaud 10 bit iface */ 1715#define LMT_1Gb 0x004
1681#define LMT_532_10bit 0x2 /* 531.25 Mbaud 10 bit iface */ 1716#define LMT_2Gb 0x008
1682#define LMT_1063_20bit 0x3 /* 1062.5 Mbaud 20 bit iface */ 1717#define LMT_4Gb 0x040
1683#define LMT_1063_10bit 0x4 /* 1062.5 Mbaud 10 bit iface */ 1718#define LMT_8Gb 0x080
1684#define LMT_2125_10bit 0x8 /* 2125 Mbaud 10 bit iface */ 1719#define LMT_10Gb 0x100
1685#define LMT_4250_10bit 0x40 /* 4250 Mbaud 10 bit iface */ 1720
1686 1721
1687 uint32_t rsvd2; 1722 uint32_t rsvd2;
1688 uint32_t rsvd3; 1723 uint32_t rsvd3;