patch-2.3.19 linux/include/linux/cyclades.h

Next file: linux/include/linux/i2c.h
Previous file: linux/include/linux/cdrom.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.18/linux/include/linux/cyclades.h linux/include/linux/cyclades.h
@@ -1,9 +1,9 @@
 /* $Revision: 2.6 $$Date: 1998/08/10 16:57:01 $
  * linux/include/linux/cyclades.h
  *
- * This file is maintained by Ivan Passos <ivan@cyclades.com>, 
- * Marcio Saito <marcio@cyclades.com> and
- * Randolph Bentson <bentson@grieg.seaslug.org>.
+ * This file was initially written by
+ * Randolph Bentson <bentson@grieg.seaslug.org> and is maintained by
+ * Ivan Passos <ivan@cyclades.com>.
  *
  * This file contains the general definitions for the cyclades.c driver
  *$Log: cyclades.h,v $
@@ -317,6 +317,7 @@
 #define C_IN_RXOFL	0x00010000      /* RX buffer overflow */
 #define C_IN_IOCTLW	0x00020000      /* I/O control w/ wait */
 #define C_IN_MRTS	0x00040000	/* modem RTS drop */
+#define C_IN_ICHAR	0x00080000
  
 /* flow control */
 
@@ -373,6 +374,8 @@
 #define	C_CM_TXLOWWM	0x61		/* Tx buffer low water mark */
 #define	C_CM_RXHIWM	0x62		/* Rx buffer high water mark */
 #define	C_CM_RXNNDT	0x63		/* rx no new data timeout */
+#define	C_CM_TXFEMPTY	0x64
+#define	C_CM_ICHAR	0x65
 #define	C_CM_MDCD	0x70		/* modem DCD change */
 #define	C_CM_MDSR	0x71		/* modem DSR change */
 #define	C_CM_MRI	0x72		/* modem RI change */
@@ -410,6 +413,8 @@
 	uclong	hw_overflow;	/* hw overflow counter */
 	uclong	sw_overflow;	/* sw overflow counter */
 	uclong	comm_error;	/* frame/parity error counter */
+	uclong ichar;
+	uclong filler[7];
 };
 
 
@@ -504,7 +509,6 @@
 #else
     uclong filler;
 #endif
-
 };
 
 struct cyclades_chip {
@@ -528,6 +532,15 @@
 #define cy_readl(port)  readl(port)
 
 /*
+ * Statistics counters
+ */
+struct cyclades_icount {
+	__u32	cts, dsr, rng, dcd, tx, rx;
+	__u32	frame, parity, overrun, brk;
+	__u32	buf_overrun;
+};
+
+/*
  * This is our internal structure for each serial port's state.
  * 
  * Many fields are paralleled by the structure used by the serial_struct
@@ -575,12 +588,14 @@
 	unsigned long		rflush_count;
 	struct termios		normal_termios;
 	struct termios		callout_termios;
-        struct cyclades_monitor mon;
-	struct cyclades_idle_stats   idle_stats;
+	struct cyclades_monitor	mon;
+	struct cyclades_idle_stats	idle_stats;
+	struct cyclades_icount	icount;
 	struct tq_struct	tqueue;
 	wait_queue_head_t       open_wait;
 	wait_queue_head_t       close_wait;
 	wait_queue_head_t       shutdown_wait;
+	wait_queue_head_t       delta_msr_wait;
 };
 
 /*
@@ -593,6 +608,8 @@
 #define Cy_EVENT_BREAK			3
 #define Cy_EVENT_OPEN_WAKEUP		4
 #define Cy_EVENT_SHUTDOWN_WAKEUP	5
+#define	Cy_EVENT_DELTA_WAKEUP		6
+#define	Cy_EVENT_Z_RX_FULL		7
 
 #define	CLOSING_WAIT_DELAY	30*HZ
 #define CY_CLOSING_WAIT_NONE	65535
@@ -771,6 +788,7 @@
 #define CyRTPR		(0x21*2)
 #define CyMSVR1		(0x6C*2)
 #define CyMSVR2		(0x6D*2)
+#define      CyANY_DELTA	(0xF0)
 #define      CyDSR		(0x80)
 #define      CyCTS		(0x40)
 #define      CyRI		(0x20)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)