1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _VGATYPES_
3 #define _VGATYPES_
4 
5 #include <linux/fb.h>	/* for struct fb_var_screeninfo for sis.h */
6 #include "../../video/fbdev/sis/vgatypes.h"
7 #include "../../video/fbdev/sis/sis.h"		/* for LCD_TYPE */
8 
9 enum XGI_VB_CHIP_TYPE {
10 	VB_CHIP_Legacy = 0,
11 	VB_CHIP_301,
12 	VB_CHIP_301B,
13 	VB_CHIP_301LV,
14 	VB_CHIP_302,
15 	VB_CHIP_302B,
16 	VB_CHIP_302LV,
17 	VB_CHIP_301C,
18 	VB_CHIP_302ELV,
19 	VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */
20 	MAX_VB_CHIP
21 };
22 
23 struct xgi_hw_device_info {
24 	unsigned long ulExternalChip; /* NO VB or other video bridge*/
25 				      /* if ujVBChipID = VB_CHIP_UNKNOWN, */
26 
27 	void __iomem *pjVideoMemoryAddress;/* base virtual memory address */
28 					    /* of Linear VGA memory */
29 
30 	unsigned long ulVideoMemorySize; /* size, in bytes, of the
31 					  * memory on the board
32 					  */
33 
34 	unsigned char jChipType; /* Used to Identify Graphics Chip */
35 				 /* defined in the data structure type  */
36 				 /* "XGI_CHIP_TYPE" */
37 
38 	unsigned char jChipRevision; /* Used to Identify Graphics
39 				      * Chip Revision
40 				      */
41 
42 	unsigned char ujVBChipID; /* the ID of video bridge */
43 				  /* defined in the data structure type */
44 				  /* "XGI_VB_CHIP_TYPE" */
45 
46 	unsigned long ulCRT2LCDType; /* defined in the data structure type */
47 };
48 
49 /* Additional IOCTL for communication xgifb <> X driver        */
50 /* If changing this, xgifb.h must also be changed (for xgifb) */
51 #endif
52