Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / drivers / video / kyro / STG4000Interface.h
1 /*
2  *  linux/drivers/video/kyro/STG4000Interface.h
3  *
4  *  Copyright (C) 2002 STMicroelectronics
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License.  See the file COPYING in the main directory of this archive
8  * for more details.
9  */
10
11 #ifndef _STG4000INTERFACE_H
12 #define _STG4000INTERFACE_H
13
14 struct pci_dev;
15
16 /*
17  * Ramdac Setup
18  */
19 extern int InitialiseRamdac(volatile STG4000REG __iomem *pSTGReg, u32 displayDepth,
20                             u32 displayWidth, u32 displayHeight,
21                             s32 HSyncPolarity, s32 VSyncPolarity,
22                             u32 *pixelClock);
23
24 extern void DisableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
25 extern void EnableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
26
27 /*
28  * Timing generator setup
29  */
30 extern void DisableVGA(volatile STG4000REG __iomem *pSTGReg);
31 extern void StopVTG(volatile STG4000REG __iomem *pSTGReg);
32 extern void StartVTG(volatile STG4000REG __iomem *pSTGReg);
33 extern void SetupVTG(volatile STG4000REG __iomem *pSTGReg,
34                      const struct kyrofb_info * pTiming);
35
36 extern u32 ProgramClock(u32 refClock, u32 coreClock, u32 *FOut, u32 *ROut, u32 *POut);
37 extern int SetCoreClockPLL(volatile STG4000REG __iomem *pSTGReg, struct pci_dev *pDev);
38
39 /*
40  * Overlay setup
41  */
42 extern void ResetOverlayRegisters(volatile STG4000REG __iomem *pSTGReg);
43
44 extern int CreateOverlaySurface(volatile STG4000REG __iomem *pSTGReg,
45                                 u32 ulWidth, u32 ulHeight,
46                                 int bLinear,
47                                 u32 ulOverlayOffset,
48                                 u32 * retStride, u32 * retUVStride);
49
50 extern int SetOverlayBlendMode(volatile STG4000REG __iomem *pSTGReg,
51                                OVRL_BLEND_MODE mode,
52                                u32 ulAlpha, u32 ulColorKey);
53
54 extern int SetOverlayViewPort(volatile STG4000REG __iomem *pSTGReg,
55                               u32 left, u32 top,
56                               u32 right, u32 bottom);
57
58 extern void EnableOverlayPlane(volatile STG4000REG __iomem *pSTGReg);
59
60 #endif /* _STG4000INTERFACE_H */