1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
/*
*
* Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
* Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef _VIA_PRIVIOCTL_H_
#define _VIA_PRIVIOCTL_H_
#ifdef XF86DRI
#define VIAHAVEV4L
#else
#ifdef linux
#include <asm/ioctl.h>
#define VIAHAVEV4L
#endif
/* If anyone using another operating system really needs this
add another block here - but - beware, this code is #1 to go */
#endif
#ifdef VIAHAVEV4L
#define BASE_VIDIOCPRIVATE 192 /* 192-255 are private */
/*Added for SAMM*/
typedef struct {
unsigned long dwWidth; /* On screen Width */
unsigned long dwHeight; /* On screen Height */
unsigned long dwSaveWidth; /* On screen Width for Panning */
unsigned long dwSaveHeight; /* On screen Height for Panning */
unsigned long dwBPP; /* Bits Per Pixel */
unsigned long dwPitch; /* On screen pitch= width x BPP */
unsigned long dwRefreshRate; /* Refresh rate of the mode */
unsigned long TotalVRAM; /* Total Video RAM in unit of byte */
unsigned long VideoHeapBase; /* Physical Start of video heap */
unsigned long VideoHeapEnd; /* Physical End of video heap */
unsigned long dwDVIOn; /* Is it DVI simultaneous mode ? */
unsigned long dwLCDOn; /* Is it LCD simultaneous mode ? */
unsigned long dwExpand; /* Is DVI in expand mode ? */
unsigned long dwPanning; /* Is DVI in Pannig mode ? */
unsigned long dwPanelWidth; /* Panel physical Width */
unsigned long dwPanelHeight; /* Panel physical Height */
unsigned long dwActiveDevice; /* Active Device; ex. CRT or LCD */
}SCREENINFO, * LPSCREENINFO;
typedef struct {
unsigned long HQVFilter_ManualSelect; /* HQV Filter_Manual Select */
int MpegHQV_VFilterMode; /* MPEG HQV vertical filter mode */
int MpegHQV_HFilterMode; /* MPEG HQV horizontal filter mode */
int CapHQV_VFilterMode; /* Capture HQV vertical filter mode */
int CapHQV_HFilterMode; /* Capture HQV horizontal filter mode */
unsigned long SetMpeg_FBNumber; /* Set Mpeg decode frame buffer number */
unsigned long Cap1_UseIRQ; /* Capture 1 use IRQ select, for S/W flip or H/W auto flip */
unsigned long Cap0_SwitchToV3; /* Capture 0 use V3 engine, only for SAMSUNG project */
unsigned long HQV_ManualSwitch; /* HQV engine manual switch select */
Bool ColorSpaceChanged; /* The setting value of color space been changed by user */
unsigned long ColorSpaceValue1; /* User set color value from utility , after driver convert */
unsigned long ColorSpaceValue2; /* User set color value from utility , after driver convert */
Bool DRMEnabled; /* kernel module DRM flag */
Bool Screen1IsLeft; /* True: Screen1 LeftOf Screen0 ; False: Screen1 RightOf Screen0 */
Bool Screen1IsAbove; /* True: Screen1 Above Screen0 ; False: Screen1 Below Screen0 */
Bool SAMM; /* True: XServer in SAMM mode */
int RevisionID; /* The chip revision ID */
unsigned long dwDeviceID; /* The chip device ID */
unsigned long dwActiveDevice; /* ActiveDevice; ex. SAMM: CRT+LCD */
SCREENINFO Screen[2]; /* Information for Primary & Secondary Screens*/
unsigned long NoMPEGAddOneLineOnBottom; /* Disable HQV bob-deinterlacing, 0x3D0[16] */
Bool ReDrawColorkey; /* ReDrawColorKey at viaPutImageG everytime*/
unsigned long Reserved[9]; /* For future use */
}VIAGRAPHICINFO, * LPVIAGRAPHICINFO;
/* via private ioctls */
#define VIAMGR_INFO_XSERVERON _IOW ('v', BASE_VIDIOCPRIVATE+1, VIAGRAPHICINFO)
#define VIAMGR_INFO_XSERVEROFF _IO ('v', BASE_VIDIOCPRIVATE+2 )
#define VIA_VID_GET_2D_INFO _IOR ('v', BASE_VIDIOCPRIVATE+3, VIAGRAPHICINFO)
#define VIA_VID_SET_2D_INFO _IOW ('v', BASE_VIDIOCPRIVATE+4, VIAGRAPHICINFO)
#define VIA_VID_GET_VIDCTL _IOR ('v', BASE_VIDIOCPRIVATE+5, VIAVIDCTRL)
#define VIA_VID_SET_VIDCTL _IOW ('v', BASE_VIDIOCPRIVATE+6, VIAVIDCTRL)
#define VIA_VID_CREATESURFACE _IOW ('v', BASE_VIDIOCPRIVATE+7, DDSURFACEDESC)
#define VIA_VID_DESTROYSURFACE _IOW ('v', BASE_VIDIOCPRIVATE+8, DDSURFACEDESC)
#define VIA_VID_LOCKSURFACE _IOWR ('v', BASE_VIDIOCPRIVATE+9, DDLOCK)
#define VIA_VID_UPDATEOVERLAY _IOW ('v', BASE_VIDIOCPRIVATE+10, DDUPDATEOVERLAY)
#define VIA_VID_SETALPHAWIN _IOW ('v', BASE_VIDIOCPRIVATE+11, ALPHACTRL)
#define VIA_VID_UPDATEALPHA _IOW ('v', BASE_VIDIOCPRIVATE+12, RECTL)
#define VIA_VID_ADJUSTFRAME _IOW ('v', BASE_VIDIOCPRIVATE+13, ADJUSTFRAME)
#define VIA_VID_FLIP _IOW ('v', BASE_VIDIOCPRIVATE+14, unsigned long)
#define VIA_VID_GET_CAP_INFO _IOR ('v', BASE_VIDIOCPRIVATE+18, VIACAPINFO)
#define VIA_VID_SET_CAP_INFO _IOW ('v', BASE_VIDIOCPRIVATE+19, VIACAPINFO)
#endif /* VIAHAVEV4L */
#endif /* _VIA_PRIVIOCTL_H_ */
|