home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / video / kyro.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.4 KB  |  94 lines

  1. /*
  2.  *  linux/drivers/video/kyro/kryo.h
  3.  *
  4.  *  Copyright (C) 2002 STMicroelectronics
  5.  *  Copyright (C) 2004 Paul Mundt
  6.  *
  7.  * This file is subject to the terms and conditions of the GNU General Public
  8.  * License.  See the file COPYING in the main directory of this archive
  9.  * for more details.
  10.  */
  11.  
  12. #ifndef _KYRO_H
  13. #define _KYRO_H
  14.  
  15. struct kyrofb_info {
  16.     void __iomem *regbase;
  17.  
  18.     u32 palette[16];
  19.     u32 HTot;    /* Hor Total Time    */
  20.     u32 HFP;    /* Hor Front Porch   */
  21.     u32 HST;    /* Hor Sync Time     */
  22.     u32 HBP;    /* Hor Back Porch    */
  23.     s32 HSP;        /* Hor Sync Polarity */
  24.     u32 VTot;    /* Ver Total Time    */
  25.     u32 VFP;    /* Ver Front Porch   */
  26.     u32 VST;    /* Ver Sync Time     */
  27.     u32 VBP;    /* Ver Back Porch    */
  28.     s32 VSP;        /* Ver Sync Polarity */
  29.     u32 XRES;    /* X Resolution      */
  30.     u32 YRES;    /* Y Resolution      */
  31.     u32 VFREQ;    /* Ver Frequency     */
  32.     u32 PIXCLK;    /* Pixel Clock       */
  33.     u32 HCLK;    /* Hor Clock         */
  34.  
  35.     /* Usefull to hold depth here for Linux */
  36.     u8 PIXDEPTH;
  37.  
  38. #ifdef CONFIG_MTRR
  39.     int mtrr_handle;
  40. #endif
  41. };
  42.  
  43. extern int kyro_dev_init(void);
  44. extern void kyro_dev_reset(void);
  45.  
  46. extern unsigned char *kyro_dev_physical_fb_ptr(void);
  47. extern unsigned char *kyro_dev_virtual_fb_ptr(void);
  48. extern void *kyro_dev_physical_regs_ptr(void);
  49. extern void *kyro_dev_virtual_regs_ptr(void);
  50. extern unsigned int kyro_dev_fb_size(void);
  51. extern unsigned int kyro_dev_regs_size(void);
  52.  
  53. extern u32 kyro_dev_overlay_offset(void);
  54.  
  55. /*
  56.  * benedict.gaster@superh.com
  57.  * Added the follow IOCTLS for the creation of overlay services...
  58.  */
  59. #define KYRO_IOC_MAGIC 'k'
  60.  
  61. #define KYRO_IOCTL_OVERLAY_CREATE       _IO(KYRO_IOC_MAGIC, 0)
  62. #define KYRO_IOCTL_OVERLAY_VIEWPORT_SET _IO(KYRO_IOC_MAGIC, 1)
  63. #define KYRO_IOCTL_SET_VIDEO_MODE       _IO(KYRO_IOC_MAGIC, 2)
  64. #define KYRO_IOCTL_UVSTRIDE             _IO(KYRO_IOC_MAGIC, 3)
  65. #define KYRO_IOCTL_OVERLAY_OFFSET       _IO(KYRO_IOC_MAGIC, 4)
  66. #define KYRO_IOCTL_STRIDE               _IO(KYRO_IOC_MAGIC, 5)
  67.  
  68. /*
  69.  * The follow 3 structures are used to pass data from user space into the kernel
  70.  * for the creation of overlay surfaces and setting the video mode.
  71.  */
  72. typedef struct _OVERLAY_CREATE {
  73.     u32 ulWidth;
  74.     u32 ulHeight;
  75.     int bLinear;
  76. } overlay_create;
  77.  
  78. typedef struct _OVERLAY_VIEWPORT_SET {
  79.     u32 xOrgin;
  80.     u32 yOrgin;
  81.     u32 xSize;
  82.     u32 ySize;
  83. } overlay_viewport_set;
  84.  
  85. typedef struct _SET_VIDEO_MODE {
  86.     u32 ulWidth;
  87.     u32 ulHeight;
  88.     u32 ulScan;
  89.     u8 displayDepth;
  90.     int bLinear;
  91. } set_video_mode;
  92.  
  93. #endif /* _KYRO_H */
  94.