diff options
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 6d16acc7a179..848fb236b175 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
@@ -5,15 +5,9 @@ | |||
5 | * LSIFC9xx/LSI409xx Fibre Channel | 5 | * LSIFC9xx/LSI409xx Fibre Channel |
6 | * running LSI Logic Fusion MPT (Message Passing Technology) firmware. | 6 | * running LSI Logic Fusion MPT (Message Passing Technology) firmware. |
7 | * | 7 | * |
8 | * Credits: | 8 | * Copyright (c) 1999-2005 LSI Logic Corporation |
9 | * (see mptbase.c) | ||
10 | * | ||
11 | * Copyright (c) 1999-2004 LSI Logic Corporation | ||
12 | * Originally By: Steven J. Ralston | ||
13 | * (mailto:sjralston1@netscape.net) | ||
14 | * (mailto:mpt_linux_developer@lsil.com) | 9 | * (mailto:mpt_linux_developer@lsil.com) |
15 | * | 10 | * |
16 | * $Id: mptbase.h,v 1.144 2003/01/28 21:31:56 pdelaney Exp $ | ||
17 | */ | 11 | */ |
18 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 12 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
19 | /* | 13 | /* |
@@ -71,7 +65,6 @@ | |||
71 | #include "lsi/mpi_fc.h" /* Fibre Channel (lowlevel) support */ | 65 | #include "lsi/mpi_fc.h" /* Fibre Channel (lowlevel) support */ |
72 | #include "lsi/mpi_targ.h" /* SCSI/FCP Target protcol support */ | 66 | #include "lsi/mpi_targ.h" /* SCSI/FCP Target protcol support */ |
73 | #include "lsi/mpi_tool.h" /* Tools support */ | 67 | #include "lsi/mpi_tool.h" /* Tools support */ |
74 | #include "lsi/fc_log.h" | ||
75 | 68 | ||
76 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 69 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
77 | 70 | ||
@@ -80,11 +73,11 @@ | |||
80 | #endif | 73 | #endif |
81 | 74 | ||
82 | #ifndef COPYRIGHT | 75 | #ifndef COPYRIGHT |
83 | #define COPYRIGHT "Copyright (c) 1999-2004 " MODULEAUTHOR | 76 | #define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR |
84 | #endif | 77 | #endif |
85 | 78 | ||
86 | #define MPT_LINUX_VERSION_COMMON "3.01.20" | 79 | #define MPT_LINUX_VERSION_COMMON "3.03.02" |
87 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.01.20" | 80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.02" |
88 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" | 81 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" |
89 | 82 | ||
90 | #define show_mptmod_ver(s,ver) \ | 83 | #define show_mptmod_ver(s,ver) \ |
@@ -203,7 +196,9 @@ | |||
203 | typedef enum { | 196 | typedef enum { |
204 | MPTBASE_DRIVER, /* MPT base class */ | 197 | MPTBASE_DRIVER, /* MPT base class */ |
205 | MPTCTL_DRIVER, /* MPT ioctl class */ | 198 | MPTCTL_DRIVER, /* MPT ioctl class */ |
206 | MPTSCSIH_DRIVER, /* MPT SCSI host (initiator) class */ | 199 | MPTSPI_DRIVER, /* MPT SPI host class */ |
200 | MPTFC_DRIVER, /* MPT FC host class */ | ||
201 | MPTSAS_DRIVER, /* MPT SAS host class */ | ||
207 | MPTLAN_DRIVER, /* MPT LAN class */ | 202 | MPTLAN_DRIVER, /* MPT LAN class */ |
208 | MPTSTM_DRIVER, /* MPT SCSI target mode class */ | 203 | MPTSTM_DRIVER, /* MPT SCSI target mode class */ |
209 | MPTUNKNOWN_DRIVER | 204 | MPTUNKNOWN_DRIVER |
@@ -212,11 +207,6 @@ typedef enum { | |||
212 | struct mpt_pci_driver{ | 207 | struct mpt_pci_driver{ |
213 | int (*probe) (struct pci_dev *dev, const struct pci_device_id *id); | 208 | int (*probe) (struct pci_dev *dev, const struct pci_device_id *id); |
214 | void (*remove) (struct pci_dev *dev); | 209 | void (*remove) (struct pci_dev *dev); |
215 | void (*shutdown) (struct device * dev); | ||
216 | #ifdef CONFIG_PM | ||
217 | int (*resume) (struct pci_dev *dev); | ||
218 | int (*suspend) (struct pci_dev *dev, pm_message_t state); | ||
219 | #endif | ||
220 | }; | 210 | }; |
221 | 211 | ||
222 | /* | 212 | /* |
@@ -483,6 +473,7 @@ typedef struct _ScsiCfgData { | |||
483 | u8 forceDv; /* 1 to force DV scheduling */ | 473 | u8 forceDv; /* 1 to force DV scheduling */ |
484 | u8 noQas; /* Disable QAS for this adapter */ | 474 | u8 noQas; /* Disable QAS for this adapter */ |
485 | u8 Saf_Te; /* 1 to force all Processors as SAF-TE if Inquiry data length is too short to check for SAF-TE */ | 475 | u8 Saf_Te; /* 1 to force all Processors as SAF-TE if Inquiry data length is too short to check for SAF-TE */ |
476 | u8 mpt_dv; /* command line option: enhanced=1, basic=0 */ | ||
486 | u8 rsvd[1]; | 477 | u8 rsvd[1]; |
487 | } ScsiCfgData; | 478 | } ScsiCfgData; |
488 | 479 | ||
@@ -571,11 +562,21 @@ typedef struct _MPT_ADAPTER | |||
571 | FCPortPage0_t fc_port_page0[2]; | 562 | FCPortPage0_t fc_port_page0[2]; |
572 | LANPage0_t lan_cnfg_page0; | 563 | LANPage0_t lan_cnfg_page0; |
573 | LANPage1_t lan_cnfg_page1; | 564 | LANPage1_t lan_cnfg_page1; |
565 | /* | ||
566 | * Description: errata_flag_1064 | ||
567 | * If a PCIX read occurs within 1 or 2 cycles after the chip receives | ||
568 | * a split completion for a read data, an internal address pointer incorrectly | ||
569 | * increments by 32 bytes | ||
570 | */ | ||
571 | int errata_flag_1064; | ||
574 | u8 FirstWhoInit; | 572 | u8 FirstWhoInit; |
575 | u8 upload_fw; /* If set, do a fw upload */ | 573 | u8 upload_fw; /* If set, do a fw upload */ |
576 | u8 reload_fw; /* Force a FW Reload on next reset */ | 574 | u8 reload_fw; /* Force a FW Reload on next reset */ |
577 | u8 NBShiftFactor; /* NB Shift Factor based on Block Size (Facts) */ | 575 | u8 NBShiftFactor; /* NB Shift Factor based on Block Size (Facts) */ |
578 | u8 pad1[4]; | 576 | u8 pad1[4]; |
577 | int DoneCtx; | ||
578 | int TaskCtx; | ||
579 | int InternalCtx; | ||
579 | struct list_head list; | 580 | struct list_head list; |
580 | struct net_device *netdev; | 581 | struct net_device *netdev; |
581 | } MPT_ADAPTER; | 582 | } MPT_ADAPTER; |
@@ -773,12 +774,6 @@ typedef struct _mpt_sge { | |||
773 | #define DBG_DUMP_TM_REPLY_FRAME(mfp) | 774 | #define DBG_DUMP_TM_REPLY_FRAME(mfp) |
774 | #endif | 775 | #endif |
775 | 776 | ||
776 | #ifdef MPT_DEBUG_NEH | ||
777 | #define nehprintk(x) printk x | ||
778 | #else | ||
779 | #define nehprintk(x) | ||
780 | #endif | ||
781 | |||
782 | #if defined(MPT_DEBUG_CONFIG) || defined(MPT_DEBUG) | 777 | #if defined(MPT_DEBUG_CONFIG) || defined(MPT_DEBUG) |
783 | #define dcprintk(x) printk x | 778 | #define dcprintk(x) printk x |
784 | #else | 779 | #else |
@@ -898,6 +893,11 @@ typedef struct _MPT_SCSI_HOST { | |||
898 | unsigned long soft_resets; /* fw/external bus resets count */ | 893 | unsigned long soft_resets; /* fw/external bus resets count */ |
899 | unsigned long timeouts; /* cmd timeouts */ | 894 | unsigned long timeouts; /* cmd timeouts */ |
900 | ushort sel_timeout[MPT_MAX_FC_DEVICES]; | 895 | ushort sel_timeout[MPT_MAX_FC_DEVICES]; |
896 | char *info_kbuf; | ||
897 | wait_queue_head_t scandv_waitq; | ||
898 | int scandv_wait_done; | ||
899 | long last_queue_full; | ||
900 | u8 mpt_pq_filter; | ||
901 | } MPT_SCSI_HOST; | 901 | } MPT_SCSI_HOST; |
902 | 902 | ||
903 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 903 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
@@ -931,6 +931,12 @@ typedef struct _x_config_parms { | |||
931 | /* | 931 | /* |
932 | * Public entry points... | 932 | * Public entry points... |
933 | */ | 933 | */ |
934 | extern int mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id); | ||
935 | extern void mpt_detach(struct pci_dev *pdev); | ||
936 | #ifdef CONFIG_PM | ||
937 | extern int mpt_suspend(struct pci_dev *pdev, pm_message_t state); | ||
938 | extern int mpt_resume(struct pci_dev *pdev); | ||
939 | #endif | ||
934 | extern int mpt_register(MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass); | 940 | extern int mpt_register(MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass); |
935 | extern void mpt_deregister(int cb_idx); | 941 | extern void mpt_deregister(int cb_idx); |
936 | extern int mpt_event_register(int cb_idx, MPT_EVHANDLER ev_cbfunc); | 942 | extern int mpt_event_register(int cb_idx, MPT_EVHANDLER ev_cbfunc); |