patch-2.0.34 linux/include/linux/xd.h

Next file: linux/include/net/sock.h
Previous file: linux/include/linux/swap.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.33/linux/include/linux/xd.h linux/include/linux/xd.h
@@ -35,7 +35,7 @@
 #define CMD_SEEK	0x0B	/* seek */
 
 /* Controller specific commands */
-#define CMD_DTCSETPARAM	0x0C	/* set drive parameters (DTC 5150X only?) */
+#define CMD_DTCSETPARAM	0x0C	/* set drive parameters (DTC 5150X & CX only?) */
 #define CMD_DTCGETECC	0x0D	/* get ecc error length (DTC 5150X only?) */
 #define CMD_DTCREADBUF	0x0E	/* read sector buffer (DTC 5150X only?) */
 #define CMD_DTCWRITEBUF 0x0F	/* write sector buffer (DTC 5150X only?) */
@@ -46,6 +46,7 @@
 #define CMD_DTCGETGEOM	0xFF	/* get geometry data (DTC 5150X only?) */
 #define CMD_ST11GETGEOM 0xF8	/* get geometry data (Seagate ST11R/M only?) */
 #define CMD_WDSETPARAM	0x0C	/* set drive parameters (WD 1004A27X only?) */
+#define CMD_XBSETPARAM	0x0C	/* set drive parameters (XEBEC only?) */
 
 /* Bits for command status byte */
 #define CSB_ERROR	0x02	/* error */
@@ -85,7 +86,10 @@
 	u_char control;
 } XD_INFO;
 
-#define	HDIO_GETGEO	0x0301		/* get drive geometry */
+#define	HDIO_GETGEO		0x0301	/* get drive geometry */
+#define HDIO_GET_MULTCOUNT	0x0304	/* get limit of multiblock transfer */
+#define HDIO_SET_DMA		0x0326	/* change use-dma flag */
+#define HDIO_GET_DMA		0x030b	/* get use-dma flag */
 
 /* this structure is returned to the HDIO_GETGEO ioctl */
 typedef struct {
@@ -105,6 +109,9 @@
 } XD_SIGNATURE;
 
 void xd_setup (char *command,int *integers);
+#ifndef MODULE
+void xd_manual_geo_init (char *command,int *integers);
+#endif /* MODULE */
 static u_char xd_detect (u_char *controller,u_char **address);
 static u_char xd_initdrives (void (*init_drive)(u_char drive));
 static void xd_geninit (struct gendisk *);
@@ -120,11 +127,14 @@
 static void xd_interrupt_handler (int irq, void *dev_id, struct pt_regs *regs);
 static u_char xd_setup_dma (u_char opcode,u_char *buffer,u_int count);
 static u_char *xd_build (u_char *cmdblk,u_char command,u_char drive,u_char head,u_short cylinder,u_char sector,u_char count,u_char control);
+static void xd_wakeup (void);
+static void xd_watchdog (void);
 static inline u_char xd_waitport (u_short port,u_char flags,u_char mask,u_long timeout);
 static u_int xd_command (u_char *command,u_char mode,u_char *indata,u_char *outdata,u_char *sense,u_long timeout);
 
 /* card specific setup and geometry gathering code */
 static void xd_dtc_init_controller (u_char *address);
+static void xd_dtc5150cx_init_drive (u_char drive);
 static void xd_dtc_init_drive (u_char drive);
 static void xd_wd_init_controller (u_char *address);
 static void xd_wd_init_drive (u_char drive);
@@ -132,6 +142,8 @@
 static void xd_seagate_init_drive (u_char drive);
 static void xd_omti_init_controller (u_char *address);
 static void xd_omti_init_drive (u_char drive);
+static void xd_xebec_init_controller (u_char *address);
+static void xd_xebec_init_drive (u_char drive);
 static void xd_setparam (u_char command,u_char drive,u_char heads,u_short cylinders,u_short rwrite,u_short wprecomp,u_char ecc);
 static void xd_override_init_drive (u_char drive);
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov