Lines Matching defs:pmcraid_instance
673 struct pmcraid_instance { struct
677 struct pmcraid_resource_entry *res_entries;
679 struct list_head free_res_q; /* res_entries lists for easy lookup */
680 struct list_head used_res_q; /* List of to be exposed resources */
681 spinlock_t resource_lock; /* spinlock to protect resource list */
683 void __iomem *mapped_dma_addr;
684 void __iomem *ioa_status; /* Iomapped IOA status register */
685 void __iomem *mailbox; /* Iomapped mailbox register */
686 void __iomem *ioarrin; /* IOmapped IOARR IN register */
688 struct pmcraid_interrupts int_regs;
689 struct pmcraid_chip_details *chip_cfg;
692 struct pmcraid_hostrcb ldn;
693 struct pmcraid_hostrcb ccn;
694 struct pmcraid_state_msg scn; /* controller state change msg */
698 dma_addr_t hrrq_start_bus_addr[PMCRAID_NUM_MSIX_VECTORS];
701 __be32 *hrrq_start[PMCRAID_NUM_MSIX_VECTORS];
704 __be32 *hrrq_end[PMCRAID_NUM_MSIX_VECTORS];
707 __be32 *hrrq_curr[PMCRAID_NUM_MSIX_VECTORS];
710 spinlock_t hrrq_lock[PMCRAID_NUM_MSIX_VECTORS];
712 struct pmcraid_inquiry_data *inq_data;
713 dma_addr_t inq_data_baddr;
715 struct pmcraid_timestamp_data *timestamp_data;
716 dma_addr_t timestamp_data_baddr;
719 u32 config_table_entry_size;
722 u8 host_toggle_bit[PMCRAID_NUM_MSIX_VECTORS];
726 wait_queue_head_t reset_wait_q;
727 struct pmcraid_cmd *reset_cmd;
730 struct fasync_struct *aen_queue;
731 struct mutex aen_queue_lock; /* lock for aen subscribers list */
732 struct cdev cdev;
734 struct Scsi_Host *host; /* mid layer interface structure handle */
735 struct pci_dev *pdev; /* PCI device structure handle */
738 u8 ioa_reset_attempts;
741 u8 current_log_level; /* default level for logging IOASC errors */
743 u8 num_hrrq; /* Number of interrupt vectors allocated */
744 u8 interrupt_mode; /* current interrupt mode legacy or msix */
745 dev_t dev; /* Major-Minor numbers for Char device */
748 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS];
751 atomic_t last_message_id;
754 struct pmcraid_config_table *cfg_table;
755 dma_addr_t cfg_table_bus_addr;
758 struct kmem_cache *cmd_cachep; /* cache for cmd blocks */
759 struct pci_pool *control_pool; /* pool for control blocks */
760 char cmd_pool_name[64]; /* name of cmd cache */
761 char ctl_pool_name[64]; /* name of control cache */
763 struct pmcraid_cmd *cmd_list[PMCRAID_MAX_CMD];
765 struct list_head free_cmd_pool;
766 struct list_head pending_cmd_pool;
767 spinlock_t free_pool_lock; /* free pool lock */
768 spinlock_t pending_pool_lock; /* pending pool lock */
771 struct tasklet_struct isr_tasklet[PMCRAID_NUM_MSIX_VECTORS];
774 struct work_struct worker_q;
777 atomic_t outstanding_cmds;
780 atomic_t expose_resources;
784 u32 ioa_state:4; /* For IOA Reset sequence FSM */
794 u32 ioa_reset_in_progress:1; /* true if IOA reset is in progress */
795 u32 ioa_hard_reset:1; /* TRUE if Hard Reset is needed */
796 u32 ioa_unit_check:1; /* Indicates Unit Check condition */
797 u32 ioa_bringdown:1; /* whether IOA needs to be brought down */
798 u32 force_ioa_reset:1; /* force adapter reset ? */
799 u32 reinit_cfg_table:1; /* reinit config table due to lost CCN */
800 u32 ioa_shutdown_type:2;/* shutdown type used during reset */
804 u32 timestamp_error:1; /* indicate set timestamp for out of sync */