Lines Matching defs:hwif_s

717 typedef struct hwif_s {  struct
718 struct hwif_s *mate; /* other hwif from same PCI chip */ argument
719 struct proc_dir_entry *proc; /* /proc/ide/ directory entry */
721 struct ide_host *host;
723 char name[6]; /* name of interface, eg. "ide0" */
725 struct ide_io_ports io_ports;
727 unsigned long sata_scr[SATA_NR_PORTS];
729 ide_drive_t *devices[MAX_DRIVES + 1];
731 unsigned long port_flags;
733 u8 major; /* our major number */
734 u8 index; /* 0 for ide0; 1 for ide1; ... */
735 u8 channel; /* for dual-port chips: 0=primary, 1=secondary */
737 u32 host_flags;
739 u8 pio_mask;
741 u8 ultra_mask;
742 u8 mwdma_mask;
743 u8 swdma_mask;
745 u8 cbl; /* cable type */
747 hwif_chipset_t chipset; /* sub-module for tuning.. */
749 struct device *dev;
751 void (*rw_disk)(ide_drive_t *, struct request *);
753 const struct ide_tp_ops *tp_ops;
754 const struct ide_port_ops *port_ops;
755 const struct ide_dma_ops *dma_ops;
758 unsigned int *dmatable_cpu;
760 dma_addr_t dmatable_dma;
763 int prd_max_nents;
765 int prd_ent_size;
768 struct scatterlist *sg_table;
769 int sg_max_nents; /* Maximum number of entries in it */
771 struct ide_cmd cmd; /* current command */
773 int rqsize; /* max sectors per request */
774 int irq; /* our irq number */
776 unsigned long dma_base; /* base addr for dma ports */
778 unsigned long config_data; /* for use by chipset-specific code */
779 unsigned long select_data; /* for use by chipset-specific code */
781 unsigned long extra_base; /* extra addr for dma ports */
782 unsigned extra_ports; /* number of extra dma ports */
784 unsigned present : 1; /* this interface exists */
785 unsigned busy : 1; /* serializes devices on a port */
787 struct device gendev;
788 struct device *portdev;
790 struct completion gendev_rel_comp; /* To deal with device release() */
792 void *hwif_data; /* extra hwif data */
795 struct ide_acpi_hwif_link *acpidata;
799 ide_startstop_t (*handler)(ide_drive_t *);
802 unsigned int polling : 1;
805 ide_drive_t *cur_dev;
808 struct request *rq;
811 struct timer_list timer;
813 unsigned long poll_timeout;
815 int (*expiry)(ide_drive_t *);
817 int req_gen;
818 int req_gen_timer;
820 spinlock_t lock;