rivafb.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef __RIVAFB_H
  2. #define __RIVAFB_H
  3. #include <linux/config.h>
  4. #include <linux/fb.h>
  5. #include <video/fbcon.h>
  6. #include <video/fbcon-cfb4.h>
  7. #include <video/fbcon-cfb8.h>
  8. #include <video/fbcon-cfb16.h>
  9. #include <video/fbcon-cfb32.h>
  10. #include "riva_hw.h"
  11. /* GGI compatibility macros */
  12. #define NUM_SEQ_REGS 0x05
  13. #define NUM_CRT_REGS 0x41
  14. #define NUM_GRC_REGS 0x09
  15. #define NUM_ATC_REGS 0x15
  16. /* holds the state of the VGA core and extended Riva hw state from riva_hw.c.
  17.  * From KGI originally. */
  18. struct riva_regs {
  19. u8 attr[NUM_ATC_REGS];
  20. u8 crtc[NUM_CRT_REGS];
  21. u8 gra[NUM_GRC_REGS];
  22. u8 seq[NUM_SEQ_REGS];
  23. u8 misc_output;
  24. RIVA_HW_STATE ext;
  25. };
  26. typedef struct {
  27. unsigned char red, green, blue, transp;
  28. } riva_cfb8_cmap_t;
  29. struct rivafb_info;
  30. struct rivafb_info {
  31. struct fb_info info; /* kernel framebuffer info */
  32. RIVA_HW_INST riva; /* interface to riva_hw.c */
  33. const char *drvr_name; /* Riva hardware board type */
  34. unsigned long ctrl_base_phys; /* physical control register base addr */
  35. unsigned long fb_base_phys; /* physical framebuffer base addr */
  36. caddr_t ctrl_base; /* virtual control register base addr */
  37. caddr_t fb_base; /* virtual framebuffer base addr */
  38. unsigned ram_amount; /* amount of RAM on card, in bytes */
  39. unsigned dclk_max; /* max DCLK */
  40. struct riva_regs initial_state; /* initial startup video mode */
  41. struct riva_regs current_state;
  42. struct display disp;
  43. int currcon;
  44. struct display *currcon_display;
  45. struct rivafb_info *next;
  46. struct pci_dev *pd; /* pointer to board's pci info */
  47. unsigned base0_region_size; /* size of control register region */
  48. unsigned base1_region_size; /* size of framebuffer region */
  49. struct riva_cursor *cursor;
  50. struct display_switch dispsw;
  51. riva_cfb8_cmap_t palette[256]; /* VGA DAC palette cache */
  52. #if defined(FBCON_HAS_CFB16) || defined(FBCON_HAS_CFB32)
  53. union {
  54. #ifdef FBCON_HAS_CFB16
  55. u_int16_t cfb16[16];
  56. #endif
  57. #ifdef FBCON_HAS_CFB32
  58. u_int32_t cfb32[16];
  59. #endif
  60. } con_cmap;
  61. #endif /* FBCON_HAS_CFB16 | FBCON_HAS_CFB32 */
  62. #ifdef CONFIG_MTRR
  63. struct { int vram; int vram_valid; } mtrr;
  64. #endif
  65. };
  66. #endif /* __RIVAFB_H */