patch-2.4.21 linux-2.4.21/include/linux/sisfb.h

Next file: linux-2.4.21/include/linux/skbuff.h
Previous file: linux-2.4.21/include/linux/scx200_gpio.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.20/include/linux/sisfb.h linux-2.4.21/include/linux/sisfb.h
@@ -6,6 +6,53 @@
 #include <asm/ioctl.h>
 #include <asm/types.h>
 
+/* TW: vbflags */
+#define CRT2_DEFAULT            0x00000001
+#define CRT2_LCD                0x00000002  /* TW: Never change the order of the CRT2_XXX entries */
+#define CRT2_TV                 0x00000004  /*     (see SISCycleCRT2Type())                       */
+#define CRT2_VGA                0x00000008
+#define CRT2_ENABLE		(CRT2_LCD | CRT2_TV | CRT2_VGA)
+#define VB_DISPTYPE_DISP2	CRT2_ENABLE
+#define VB_DISPTYPE_CRT2	CRT2_ENABLE
+#define TV_NTSC                 0x00000010
+#define TV_PAL                  0x00000020
+#define TV_HIVISION             0x00000040
+#define TV_HIVISION_LV          0x00000080
+#define TV_TYPE                 (TV_NTSC | TV_PAL | TV_HIVISION | TV_HIVISION_LV)
+#define TV_AVIDEO               0x00000100
+#define TV_SVIDEO               0x00000200
+#define TV_SCART                0x00000400
+#define TV_INTERFACE            (TV_AVIDEO | TV_SVIDEO | TV_SCART | TV_CHSCART | TV_CHHDTV)
+#define VB_USELCDA		0x00000800
+#define TV_PALM                 0x00001000
+#define TV_PALN                 0x00002000
+#define TV_CHSCART              0x00008000
+#define TV_CHHDTV               0x00010000
+#define VGA2_CONNECTED          0x00040000
+#define VB_DISPTYPE_CRT1	0x00080000  	/* CRT1 connected and used */
+#define VBDISPTYPE_DISP1	VB_DISPTYPE_CRT1
+#define VB_301                  0x00100000	/* Video bridge type */
+#define VB_301B                 0x00200000
+#define VB_302B                 0x00400000
+#define VB_30xBDH		0x00800000      /* 30xB DH version (w/o LCD support) */
+#define VB_LVDS                 0x01000000
+#define VB_CHRONTEL             0x02000000
+#define VB_301LV                0x04000000  	
+#define VB_302LV                0x08000000  	
+#define VB_TRUMPION		0x10000000     
+#define VB_VIDEOBRIDGE		(VB_301|VB_301B|VB_302B|VB_301LV|VB_302LV| \
+				 VB_LVDS|VB_CHRONTEL|VB_TRUMPION)
+#define VB_SISBRIDGE            (VB_301|VB_301B|VB_302B|VB_301LV|VB_302LV)
+#define VB_SINGLE_MODE          0x20000000   	 /* CRT1 or CRT2; determined by VB_DISPTYPE_CRTx */
+#define VB_DISPMODE_SINGLE	VB_SINGLE_MODE 	 
+#define VB_MIRROR_MODE		0x40000000   	 /* CRT1 + CRT2 identical (mirror mode) */
+#define VB_DISPMODE_MIRROR	VB_MIRROR_MODE   
+#define VB_DUALVIEW_MODE	0x80000000   	 /* CRT1 + CRT2 independent (dual head mode) */
+#define VB_DISPMODE_DUAL	VB_DUALVIEW_MODE 
+#define VB_DISPLAY_MODE         (VB_SINGLE_MODE | VB_MIRROR_MODE | VB_DUALVIEW_MODE) 
+
+
+/* entries for disp_state - deprecated as of 1.6.02 */
 #define DISPTYPE_CRT1       0x00000008L
 #define DISPTYPE_CRT2       0x00000004L
 #define DISPTYPE_LCD        0x00000002L
@@ -16,6 +63,7 @@
 #define DISPMODE_MIRROR	    0x00000010L
 #define DISPMODE_DUALVIEW   0x00000040L
 
+/* Deprecated as of 1.6.02 - use vbflags instead */
 #define HASVB_NONE      	0x00
 #define HASVB_301       	0x01
 #define HASVB_LVDS      	0x02
@@ -34,11 +82,10 @@
 	SIS_730, 
 	SIS_315H,
 	SIS_315,
-	SIS_550,
 	SIS_315PRO,
-	SIS_640,
-	SIS_740,
+	SIS_550,
 	SIS_650,
+	SIS_740,
 	SIS_330,
 	MAX_SIS_CHIP
 } SIS_CHIP_TYPE;
@@ -84,13 +131,15 @@
 	struct mode_info minfo;
 	unsigned long iobase;
 	unsigned int  mem_size;
-	unsigned long disp_state;    	
+	unsigned long disp_state;  /* deprecated */  	
 	SIS_CHIP_TYPE chip;
 	unsigned char hasVB;
-	SIS_TV_TYPE TV_type;
-	SIS_TV_PLUG TV_plug;
+	SIS_TV_TYPE TV_type;	   /* deprecated */
+	SIS_TV_PLUG TV_plug;	   /* deprecated */
 	unsigned long version;
-	char reserved[256];
+	unsigned long vbflags;	   /* replaces deprecated entries above */
+	unsigned long currentvbflags;
+	char reserved[248];
 };
 
 struct video_info {
@@ -115,10 +164,10 @@
 	int    video_linelength;
 	unsigned int refresh_rate;
 
-	unsigned long disp_state;
-	unsigned char hasVB;
-	unsigned char TV_type;
-	unsigned char TV_plug;
+	unsigned long disp_state;		/* DEPRECATED */
+	unsigned char hasVB;			/* DEPRECATED */
+	unsigned char TV_type;			/* DEPRECATED */
+	unsigned char TV_plug;			/* DEPRECATED */
 
 	SIS_CHIP_TYPE chip;
 	unsigned char revision_id;
@@ -129,7 +178,27 @@
 
 	spinlock_t     lockaccel;
 
-	char reserved[256];
+        unsigned int   pcibus;
+	unsigned int   pcislot;
+	unsigned int   pcifunc;
+
+	int 	       accel;
+
+	unsigned short subsysvendor;
+	unsigned short subsysdevice;
+	
+	unsigned long  vbflags;			/* Replacing deprecated stuff from above */
+	unsigned long  currentvbflags;
+	
+	int    current_bpp;
+	int    current_width;
+	int    current_height;
+	int    current_htotal;
+	int    current_vtotal;
+	__u32  current_pixclock;
+	int    current_refresh_rate;
+
+	char reserved[200];
 };
 
 
@@ -137,7 +206,9 @@
 /*     If changing this, vgatypes.h must also be changed (for X driver)    */
 
 /* TW: ioctl for identifying and giving some info (esp. memory heap start) */
-#define SISFB_GET_INFO	  _IOR('n',0xF8,sizeof(__u32))
+#define SISFB_GET_INFO	  	_IOR('n',0xF8,sizeof(__u32))
+
+#define SISFB_GET_VBRSTATUS  	_IOR('n',0xF9,sizeof(__u32))
 
 /* TW: Structure argument for SISFB_GET_INFO ioctl  */
 typedef struct _SISFB_INFO sisfb_info, *psisfb_info;
@@ -160,7 +231,18 @@
 
 	int    sisfb_tqlen;		/* turbo queue length (in KB) */
 
-	char reserved[249]; 		/* for future use */
+	unsigned int sisfb_pcibus;      /* The card's PCI ID */
+	unsigned int sisfb_pcislot;
+	unsigned int sisfb_pcifunc;
+
+	unsigned char sisfb_lcdpdc;	/* PanelDelayCompensation */
+	
+	unsigned char sisfb_lcda;	/* Detected status of LCDA for low res/text modes */
+	
+	unsigned long sisfb_vbflags;
+	unsigned long sisfb_currentvbflags;
+
+	char reserved[227]; 		/* for future use */
 };
 
 #ifdef __KERNEL__

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