Lines Matching defs:hwif_s

707 typedef struct hwif_s {  struct
708 struct hwif_s *mate; /* other hwif from same PCI chip */ argument
709 struct proc_dir_entry *proc; /* /proc/ide/ directory entry */
711 struct ide_host *host;
713 char name[6]; /* name of interface, eg. "ide0" */
715 struct ide_io_ports io_ports;
717 unsigned long sata_scr[SATA_NR_PORTS];
719 ide_drive_t *devices[MAX_DRIVES + 1];
721 unsigned long port_flags;
723 u8 major; /* our major number */
724 u8 index; /* 0 for ide0; 1 for ide1; ... */
725 u8 channel; /* for dual-port chips: 0=primary, 1=secondary */
727 u32 host_flags;
729 u8 pio_mask;
731 u8 ultra_mask;
732 u8 mwdma_mask;
733 u8 swdma_mask;
735 u8 cbl; /* cable type */
737 hwif_chipset_t chipset; /* sub-module for tuning.. */
739 struct device *dev;
741 void (*rw_disk)(ide_drive_t *, struct request *);
743 const struct ide_tp_ops *tp_ops;
744 const struct ide_port_ops *port_ops;
745 const struct ide_dma_ops *dma_ops;
748 unsigned int *dmatable_cpu;
750 dma_addr_t dmatable_dma;
753 int prd_max_nents;
755 int prd_ent_size;
758 struct scatterlist *sg_table;
759 int sg_max_nents; /* Maximum number of entries in it */
761 struct ide_cmd cmd; /* current command */
763 int rqsize; /* max sectors per request */
764 int irq; /* our irq number */
766 unsigned long dma_base; /* base addr for dma ports */
768 unsigned long config_data; /* for use by chipset-specific code */
769 unsigned long select_data; /* for use by chipset-specific code */
771 unsigned long extra_base; /* extra addr for dma ports */
772 unsigned extra_ports; /* number of extra dma ports */
774 unsigned present : 1; /* this interface exists */
775 unsigned busy : 1; /* serializes devices on a port */
777 struct device gendev;
778 struct device *portdev;
780 struct completion gendev_rel_comp; /* To deal with device release() */
782 void *hwif_data; /* extra hwif data */
785 struct ide_acpi_hwif_link *acpidata;
789 ide_startstop_t (*handler)(ide_drive_t *);
792 unsigned int polling : 1;
795 ide_drive_t *cur_dev;
798 struct request *rq;
801 struct timer_list timer;
803 unsigned long poll_timeout;
805 int (*expiry)(ide_drive_t *);
807 int req_gen;
808 int req_gen_timer;
810 spinlock_t lock;