summaryrefslogblamecommitdiffstats
path: root/drivers/staging/xgifb/vgatypes.h
blob: df839eeb5efd0077536024f900010f3366915613 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                  
                        
 
                            
                                 

      
                        
                       










                                                                
  


                    
                   






















                                       
  

      
                
 

                      

  
                         
 
                                                                         
                                                                       
 
                                                       
 
                                                                            
 
                  
 
                                                                         

                                                           
                                                                                         
 
                                                                                    
 
                                        
 
                                           
                                        
 
                                  
                                                                             


                                                                          
                                                                                      
 
                                                                     


                                                                         
                                 
 
                                                                                 
 
                                                                                      

                                                     
                                                                             
 
                                                                            
 
                             
 
                                                                                        

                                                                              
                                                                                       

                                                                        
                                                          
 
                                                                                       

                                                                       
                                                          
 


                                                                         
 


                                                                           
 
                                                   

  



                                                                


      

#ifndef _VGATYPES_
#define _VGATYPES_

#include <linux/ioctl.h>

#ifndef VBIOS_VER_MAX_LENGTH
#define VBIOS_VER_MAX_LENGTH    5
#endif

#ifndef XGI_VB_CHIP_TYPE
enum XGI_VB_CHIP_TYPE {
    VB_CHIP_Legacy = 0,
    VB_CHIP_301,
    VB_CHIP_301B,
    VB_CHIP_301LV,
    VB_CHIP_302,
    VB_CHIP_302B,
    VB_CHIP_302LV,
    VB_CHIP_301C,
    VB_CHIP_302ELV,
    VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */
    MAX_VB_CHIP
};
#endif

#ifndef XGI_LCD_TYPE
enum XGI_LCD_TYPE {
    LCD_INVALID = 0,
    LCD_320x480,       /* FSTN, DSTN */
    LCD_640x480,
    LCD_640x480_2,     /* FSTN, DSTN */
    LCD_640x480_3,     /* FSTN, DSTN */
    LCD_800x600,
    LCD_848x480,
    LCD_1024x600,
    LCD_1024x768,
    LCD_1152x768,
    LCD_1152x864,
    LCD_1280x720,
    LCD_1280x768,
    LCD_1280x800,
    LCD_1280x960,
    LCD_1280x1024,
    LCD_1400x1050,
    LCD_1600x1200,
    LCD_1680x1050,
    LCD_1920x1440,
    LCD_2048x1536,
    LCD_CUSTOM,
    LCD_UNKNOWN
};
#endif

struct XGI_DSReg
{
  unsigned char  jIdx;
  unsigned char  jVal;
};

struct xgi_hw_device_info
{
    unsigned long  ulExternalChip;       /* NO VB or other video bridge*/
                                 /* if ujVBChipID = VB_CHIP_UNKNOWN, */

    unsigned char *pjVirtualRomBase;    /* ROM image */

    unsigned char UseROM;		 /* Use the ROM image if provided */

    void *pDevice;

    unsigned char *pjVideoMemoryAddress;/* base virtual memory address */
                                 /* of Linear VGA memory */

    unsigned long  ulVideoMemorySize;    /* size, in bytes, of the memory on the board */

    unsigned char *pjIOAddress;          /* base I/O address of VGA ports (0x3B0) */

    unsigned char *pjCustomizedROMImage;

    unsigned char *pj2ndVideoMemoryAddress;
    unsigned long  ul2ndVideoMemorySize;

    unsigned char *pj2ndIOAddress;
    unsigned char  jChipType;            /* Used to Identify Graphics Chip */
                                 /* defined in the data structure type  */
                                 /* "XGI_CHIP_TYPE" */

    unsigned char  jChipRevision;        /* Used to Identify Graphics Chip Revision */

    unsigned char  ujVBChipID;           /* the ID of video bridge */
                                 /* defined in the data structure type */
                                 /* "XGI_VB_CHIP_TYPE" */

    unsigned char    bNewScratch;

    unsigned long  ulCRT2LCDType;        /* defined in the data structure type */

    unsigned long usExternalChip;       /* NO VB or other video bridge (other than  */
                                 /*  video bridge) */

    unsigned char bIntegratedMMEnabled;/* supporting integration MM enable */

    unsigned char bSkipDramSizing;     /* True: Skip video memory sizing. */

    unsigned char bSkipSense;

    unsigned char bIsPowerSaving;     /* True: XGIInit() is invoked by power management,
                                   otherwise by 2nd adapter's initialzation */

    struct XGI_DSReg  *pSR;             /* restore SR registers in initial function. */
                                 /* end data :(idx, val) =  (FF, FF). */
                                 /* Note : restore SR registers if  */
                                 /* bSkipDramSizing = 1 */

    struct XGI_DSReg  *pCR;             /* restore CR registers in initial function. */
                                 /* end data :(idx, val) =  (FF, FF) */
                                 /* Note : restore cR registers if  */
                                 /* bSkipDramSizing = 1 */

	unsigned char(*pQueryVGAConfigSpace)(struct xgi_hw_device_info *,
					    unsigned long, unsigned long,
					    unsigned long *);

	unsigned char(*pQueryNorthBridgeSpace)(struct xgi_hw_device_info *,
					      unsigned long, unsigned long,
					      unsigned long *);

    unsigned char szVBIOSVer[VBIOS_VER_MAX_LENGTH];

};

/* Addtional IOCTL for communication xgifb <> X driver        */
/* If changing this, xgifb.h must also be changed (for xgifb) */


#endif