viamode.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright 1998-2008 VIA Technologies, Inc. All Rights Reserved.
  3. * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved.
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public
  6. * License as published by the Free Software Foundation;
  7. * either version 2, or (at your option) any later version.
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTIES OR REPRESENTATIONS; without even
  10. * the implied warranty of MERCHANTABILITY or FITNESS FOR
  11. * A PARTICULAR PURPOSE.See the GNU General Public License
  12. * for more details.
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program; if not, write to the Free Software
  15. * Foundation, Inc.,
  16. * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17. */
  18. #ifndef __VIAMODE_H__
  19. #define __VIAMODE_H__
  20. #include "global.h"
  21. struct VPITTable {
  22. unsigned char Misc;
  23. unsigned char SR[StdSR];
  24. unsigned char GR[StdGR];
  25. unsigned char AR[StdAR];
  26. };
  27. struct VideoModeTable {
  28. int ModeIndex;
  29. struct crt_mode_table *crtc;
  30. int mode_array;
  31. };
  32. struct patch_table {
  33. int mode_index;
  34. int table_length;
  35. struct io_reg *io_reg_table;
  36. };
  37. struct res_map_refresh {
  38. int hres;
  39. int vres;
  40. int pixclock;
  41. int vmode_refresh;
  42. };
  43. extern int NUM_TOTAL_RES_MAP_REFRESH;
  44. extern int NUM_TOTAL_CEA_MODES;
  45. extern int NUM_TOTAL_CN400_ModeXregs;
  46. extern int NUM_TOTAL_CN700_ModeXregs;
  47. extern int NUM_TOTAL_KM400_ModeXregs;
  48. extern int NUM_TOTAL_CX700_ModeXregs;
  49. extern int NUM_TOTAL_VX855_ModeXregs;
  50. extern int NUM_TOTAL_CLE266_ModeXregs;
  51. extern int NUM_TOTAL_PATCH_MODE;
  52. extern int NUM_TOTAL_MODETABLE;
  53. /********************/
  54. /* Mode Table */
  55. /********************/
  56. extern struct VideoModeTable CLE266Modes[];
  57. extern struct crt_mode_table CEAM1280x720[];
  58. extern struct crt_mode_table CEAM1920x1080[];
  59. extern struct VideoModeTable CEA_HDMI_Modes[];
  60. extern struct res_map_refresh res_map_refresh_tbl[];
  61. extern struct io_reg CN400_ModeXregs[];
  62. extern struct io_reg CN700_ModeXregs[];
  63. extern struct io_reg KM400_ModeXregs[];
  64. extern struct io_reg CX700_ModeXregs[];
  65. extern struct io_reg VX800_ModeXregs[];
  66. extern struct io_reg VX855_ModeXregs[];
  67. extern struct io_reg CLE266_ModeXregs[];
  68. extern struct io_reg PM1024x768[];
  69. extern struct patch_table res_patch_table[];
  70. extern struct VPITTable VPIT;
  71. #endif /* __VIAMODE_H__ */