X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fipr.h;h=2f723a75356e015ffeffaf4209a794ed690ddc04;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=e91afc446a04f151c2726140c883379c03934898;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index e91afc446..2f723a753 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h @@ -32,15 +32,12 @@ #include #include #include -#ifdef CONFIG_KDB -#include -#endif /* * Literals */ -#define IPR_DRIVER_VERSION "2.0.11" -#define IPR_DRIVER_DATE "(August 3, 2004)" +#define IPR_DRIVER_VERSION "2.0.12" +#define IPR_DRIVER_DATE "(December 14, 2004)" /* * IPR_DBG_TRACE: Setting this to 1 will turn on some general function tracing @@ -146,6 +143,7 @@ /* * Adapter Commands */ +#define IPR_QUERY_RSRC_STATE 0xC2 #define IPR_RESET_DEVICE 0xC3 #define IPR_RESET_TYPE_SELECT 0x80 #define IPR_LUN_RESET 0x40 @@ -749,7 +747,7 @@ struct ipr_misc_cbs { struct ipr_supported_device supp_dev; }; -struct ipr_interrupts { +struct ipr_interrupt_offsets { unsigned long set_interrupt_mask_reg; unsigned long clr_interrupt_mask_reg; unsigned long sense_interrupt_mask_reg; @@ -762,10 +760,23 @@ struct ipr_interrupts { unsigned long clr_uproc_interrupt_reg; }; +struct ipr_interrupts { + void __iomem *set_interrupt_mask_reg; + void __iomem *clr_interrupt_mask_reg; + void __iomem *sense_interrupt_mask_reg; + void __iomem *clr_interrupt_reg; + + void __iomem *sense_interrupt_reg; + void __iomem *ioarrin_reg; + void __iomem *sense_uproc_interrupt_reg; + void __iomem *set_uproc_interrupt_reg; + void __iomem *clr_uproc_interrupt_reg; +}; + struct ipr_chip_cfg_t { u32 mailbox; u8 cache_line_size; - struct ipr_interrupts regs; + struct ipr_interrupt_offsets regs; }; enum ipr_shutdown_type { @@ -884,12 +895,11 @@ struct ipr_ioa_cfg { const struct ipr_chip_cfg_t *chip_cfg; - unsigned long hdw_dma_regs; /* iomapped PCI memory space */ + void __iomem *hdw_dma_regs; /* iomapped PCI memory space */ unsigned long hdw_dma_regs_pci; /* raw PCI memory space */ - unsigned long ioa_mailbox; + void __iomem *ioa_mailbox; struct ipr_interrupts regs; - u32 pci_cfg_buf[64]; u16 saved_pcix_cmd_reg; u16 reset_retries; @@ -1047,20 +1057,20 @@ struct ipr_error_table_t { }; struct ipr_software_inq_lid_info { - u32 load_id; - u32 timestamp[3]; + u32 load_id; + u32 timestamp[3]; }__attribute__((packed, aligned (4))); struct ipr_ucode_image_header { - u32 header_length; - u32 lid_table_offset; - u8 major_release; - u8 card_type; - u8 minor_release[2]; - u8 reserved[20]; - char eyecatcher[16]; - u32 num_lids; - struct ipr_software_inq_lid_info lid[1]; + u32 header_length; + u32 lid_table_offset; + u8 major_release; + u8 card_type; + u8 minor_release[2]; + u8 reserved[20]; + char eyecatcher[16]; + u32 num_lids; + struct ipr_software_inq_lid_info lid[1]; }__attribute__((packed, aligned (4))); /* @@ -1072,18 +1082,6 @@ struct ipr_ucode_image_header { #define IPR_DBG_CMD(CMD) #endif -#define ipr_breakpoint_data KERN_ERR IPR_NAME\ -": %s: %s: Line: %d ioa_cfg: %p\n", __FILE__, \ -__FUNCTION__, __LINE__, ioa_cfg - -#if defined(CONFIG_KDB) && !defined(CONFIG_PPC_ISERIES) -#define ipr_breakpoint {printk(ipr_breakpoint_data); KDB_ENTER();} -#define ipr_breakpoint_or_die {printk(ipr_breakpoint_data); KDB_ENTER();} -#else -#define ipr_breakpoint -#define ipr_breakpoint_or_die panic(ipr_breakpoint_data) -#endif - #ifdef CONFIG_SCSI_IPR_TRACE #define ipr_create_trace_file(kobj, attr) sysfs_create_bin_file(kobj, attr) #define ipr_remove_trace_file(kobj, attr) sysfs_remove_bin_file(kobj, attr)