Lines Matching defs:hwif_s

676 typedef struct hwif_s {  struct
677 struct hwif_s *mate; /* other hwif from same PCI chip */ argument
678 struct proc_dir_entry *proc; /* /proc/ide/ directory entry */
680 struct ide_host *host;
682 char name[6]; /* name of interface, eg. "ide0" */
684 struct ide_io_ports io_ports;
686 unsigned long sata_scr[SATA_NR_PORTS];
688 ide_drive_t *devices[MAX_DRIVES + 1];
690 unsigned long port_flags;
692 u8 major; /* our major number */
693 u8 index; /* 0 for ide0; 1 for ide1; ... */
694 u8 channel; /* for dual-port chips: 0=primary, 1=secondary */
696 u32 host_flags;
698 u8 pio_mask;
700 u8 ultra_mask;
701 u8 mwdma_mask;
702 u8 swdma_mask;
704 u8 cbl; /* cable type */
706 hwif_chipset_t chipset; /* sub-module for tuning.. */
708 struct device *dev;
710 void (*rw_disk)(ide_drive_t *, struct request *);
712 const struct ide_tp_ops *tp_ops;
713 const struct ide_port_ops *port_ops;
714 const struct ide_dma_ops *dma_ops;
717 unsigned int *dmatable_cpu;
719 dma_addr_t dmatable_dma;
722 int prd_max_nents;
724 int prd_ent_size;
727 struct scatterlist *sg_table;
728 int sg_max_nents; /* Maximum number of entries in it */
730 struct ide_cmd cmd; /* current command */
732 int rqsize; /* max sectors per request */
733 int irq; /* our irq number */
735 unsigned long dma_base; /* base addr for dma ports */
737 unsigned long config_data; /* for use by chipset-specific code */
738 unsigned long select_data; /* for use by chipset-specific code */
740 unsigned long extra_base; /* extra addr for dma ports */
741 unsigned extra_ports; /* number of extra dma ports */
743 unsigned present : 1; /* this interface exists */
744 unsigned busy : 1; /* serializes devices on a port */
746 struct device gendev;
747 struct device *portdev;
749 struct completion gendev_rel_comp; /* To deal with device release() */
751 void *hwif_data; /* extra hwif data */
754 struct ide_acpi_hwif_link *acpidata;
758 ide_startstop_t (*handler)(ide_drive_t *);
761 unsigned int polling : 1;
764 ide_drive_t *cur_dev;
767 struct request *rq;
770 struct timer_list timer;
772 unsigned long poll_timeout;
774 int (*expiry)(ide_drive_t *);
776 int req_gen;
777 int req_gen_timer;
779 spinlock_t lock;