Lines Matching defs:pmcraid_instance

671 struct pmcraid_instance {  struct
675 struct pmcraid_resource_entry *res_entries;
677 struct list_head free_res_q; /* res_entries lists for easy lookup */
678 struct list_head used_res_q; /* List of to be exposed resources */
679 spinlock_t resource_lock; /* spinlock to protect resource list */
681 void __iomem *mapped_dma_addr;
682 void __iomem *ioa_status; /* Iomapped IOA status register */
683 void __iomem *mailbox; /* Iomapped mailbox register */
684 void __iomem *ioarrin; /* IOmapped IOARR IN register */
686 struct pmcraid_interrupts int_regs;
687 struct pmcraid_chip_details *chip_cfg;
690 struct pmcraid_hostrcb ldn;
691 struct pmcraid_hostrcb ccn;
692 struct pmcraid_state_msg scn; /* controller state change msg */
696 dma_addr_t hrrq_start_bus_addr[PMCRAID_NUM_MSIX_VECTORS];
699 __le32 *hrrq_start[PMCRAID_NUM_MSIX_VECTORS];
702 __le32 *hrrq_end[PMCRAID_NUM_MSIX_VECTORS];
705 __le32 *hrrq_curr[PMCRAID_NUM_MSIX_VECTORS];
708 spinlock_t hrrq_lock[PMCRAID_NUM_MSIX_VECTORS];
710 struct pmcraid_inquiry_data *inq_data;
711 dma_addr_t inq_data_baddr;
713 struct pmcraid_timestamp_data *timestamp_data;
714 dma_addr_t timestamp_data_baddr;
717 u32 config_table_entry_size;
720 u8 host_toggle_bit[PMCRAID_NUM_MSIX_VECTORS];
724 wait_queue_head_t reset_wait_q;
725 struct pmcraid_cmd *reset_cmd;
728 struct fasync_struct *aen_queue;
729 struct mutex aen_queue_lock; /* lock for aen subscribers list */
730 struct cdev cdev;
732 struct Scsi_Host *host; /* mid layer interface structure handle */
733 struct pci_dev *pdev; /* PCI device structure handle */
736 u8 ioa_reset_attempts;
739 u8 current_log_level; /* default level for logging IOASC errors */
741 u8 num_hrrq; /* Number of interrupt vectors allocated */
742 u8 interrupt_mode; /* current interrupt mode legacy or msix */
743 dev_t dev; /* Major-Minor numbers for Char device */
746 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS];
749 atomic_t last_message_id;
752 struct pmcraid_config_table *cfg_table;
753 dma_addr_t cfg_table_bus_addr;
756 struct kmem_cache *cmd_cachep; /* cache for cmd blocks */
757 struct dma_pool *control_pool; /* pool for control blocks */
758 char cmd_pool_name[64]; /* name of cmd cache */
759 char ctl_pool_name[64]; /* name of control cache */
761 struct pmcraid_cmd *cmd_list[PMCRAID_MAX_CMD];
763 struct list_head free_cmd_pool;
764 struct list_head pending_cmd_pool;
765 spinlock_t free_pool_lock; /* free pool lock */
766 spinlock_t pending_pool_lock; /* pending pool lock */
769 struct tasklet_struct isr_tasklet[PMCRAID_NUM_MSIX_VECTORS];
772 struct work_struct worker_q;
775 atomic_t outstanding_cmds;
778 atomic_t expose_resources;
782 u32 ioa_state:4; /* For IOA Reset sequence FSM */
792 u32 ioa_reset_in_progress:1; /* true if IOA reset is in progress */
793 u32 ioa_hard_reset:1; /* TRUE if Hard Reset is needed */
794 u32 ioa_unit_check:1; /* Indicates Unit Check condition */
795 u32 ioa_bringdown:1; /* whether IOA needs to be brought down */
796 u32 force_ioa_reset:1; /* force adapter reset ? */
797 u32 reinit_cfg_table:1; /* reinit config table due to lost CCN */
798 u32 ioa_shutdown_type:2;/* shutdown type used during reset */
802 u32 timestamp_error:1; /* indicate set timestamp for out of sync */