~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/gpu/pvr/kerneldisplay.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**********************************************************************
 
2
 *
 
3
 * Copyright (C) Imagination Technologies Ltd. All rights reserved.
 
4
 * 
 
5
 * This program is free software; you can redistribute it and/or modify it
 
6
 * under the terms and conditions of the GNU General Public License,
 
7
 * version 2, as published by the Free Software Foundation.
 
8
 * 
 
9
 * This program is distributed in the hope it will be useful but, except 
 
10
 * as otherwise stated in writing, without any warranty; without even the 
 
11
 * implied warranty of merchantability or fitness for a particular purpose. 
 
12
 * See the GNU General Public License for more details.
 
13
 * 
 
14
 * You should have received a copy of the GNU General Public License along with
 
15
 * this program; if not, write to the Free Software Foundation, Inc.,
 
16
 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
 
17
 * 
 
18
 * The full GNU General Public License is included in this distribution in
 
19
 * the file called "COPYING".
 
20
 *
 
21
 * Contact Information:
 
22
 * Imagination Technologies Ltd. <gpl-support@imgtec.com>
 
23
 * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK 
 
24
 *
 
25
 ******************************************************************************/
 
26
 
 
27
#if !defined (__KERNELDISPLAY_H__)
 
28
#define __KERNELDISPLAY_H__
 
29
 
 
30
#if defined (__cplusplus)
 
31
extern "C" {
 
32
#endif
 
33
 
 
34
typedef PVRSRV_ERROR (*PFN_OPEN_DC_DEVICE)(IMG_UINT32, IMG_HANDLE*, PVRSRV_SYNC_DATA*);
 
35
typedef PVRSRV_ERROR (*PFN_CLOSE_DC_DEVICE)(IMG_HANDLE);
 
36
typedef PVRSRV_ERROR (*PFN_ENUM_DC_FORMATS)(IMG_HANDLE, IMG_UINT32*, DISPLAY_FORMAT*);
 
37
typedef PVRSRV_ERROR (*PFN_ENUM_DC_DIMS)(IMG_HANDLE,
 
38
                                                                                 DISPLAY_FORMAT*,
 
39
                                                                                 IMG_UINT32*,
 
40
                                                                                 DISPLAY_DIMS*);
 
41
typedef PVRSRV_ERROR (*PFN_GET_DC_SYSTEMBUFFER)(IMG_HANDLE, IMG_HANDLE*);
 
42
typedef PVRSRV_ERROR (*PFN_GET_DC_INFO)(IMG_HANDLE, DISPLAY_INFO*);
 
43
typedef PVRSRV_ERROR (*PFN_CREATE_DC_SWAPCHAIN)(IMG_HANDLE,
 
44
                                                                                                IMG_UINT32, 
 
45
                                                                                                DISPLAY_SURF_ATTRIBUTES*, 
 
46
                                                                                                DISPLAY_SURF_ATTRIBUTES*,
 
47
                                                                                                IMG_UINT32, 
 
48
                                                                                                PVRSRV_SYNC_DATA**,
 
49
                                                                                                IMG_UINT32,
 
50
                                                                                                IMG_HANDLE*, 
 
51
                                                                                                IMG_UINT32*);
 
52
typedef PVRSRV_ERROR (*PFN_DESTROY_DC_SWAPCHAIN)(IMG_HANDLE, 
 
53
                                                                                                 IMG_HANDLE);
 
54
typedef PVRSRV_ERROR (*PFN_SET_DC_DSTRECT)(IMG_HANDLE, IMG_HANDLE, IMG_RECT*);
 
55
typedef PVRSRV_ERROR (*PFN_SET_DC_SRCRECT)(IMG_HANDLE, IMG_HANDLE, IMG_RECT*);
 
56
typedef PVRSRV_ERROR (*PFN_SET_DC_DSTCK)(IMG_HANDLE, IMG_HANDLE, IMG_UINT32);
 
57
typedef PVRSRV_ERROR (*PFN_SET_DC_SRCCK)(IMG_HANDLE, IMG_HANDLE, IMG_UINT32);
 
58
typedef PVRSRV_ERROR (*PFN_GET_DC_BUFFERS)(IMG_HANDLE,
 
59
                                                                                   IMG_HANDLE,
 
60
                                                                                   IMG_UINT32*,
 
61
                                                                                   IMG_HANDLE*);
 
62
typedef PVRSRV_ERROR (*PFN_SWAP_TO_DC_BUFFER)(IMG_HANDLE,
 
63
                                                                                          IMG_HANDLE,
 
64
                                                                                          IMG_UINT32,
 
65
                                                                                          IMG_HANDLE,
 
66
                                                                                          IMG_UINT32,
 
67
                                                                                          IMG_RECT*);
 
68
typedef PVRSRV_ERROR (*PFN_SWAP_TO_DC_SYSTEM)(IMG_HANDLE, IMG_HANDLE);
 
69
typedef IMG_VOID (*PFN_QUERY_SWAP_COMMAND_ID)(IMG_HANDLE, IMG_HANDLE, IMG_HANDLE, IMG_HANDLE, IMG_UINT16*, IMG_BOOL*);
 
70
typedef IMG_VOID (*PFN_SET_DC_STATE)(IMG_HANDLE, IMG_UINT32);
 
71
 
 
72
typedef struct PVRSRV_DC_SRV2DISP_KMJTABLE_TAG
 
73
{
 
74
        IMG_UINT32                                              ui32TableSize;
 
75
        PFN_OPEN_DC_DEVICE                              pfnOpenDCDevice;
 
76
        PFN_CLOSE_DC_DEVICE                             pfnCloseDCDevice;
 
77
        PFN_ENUM_DC_FORMATS                             pfnEnumDCFormats;
 
78
        PFN_ENUM_DC_DIMS                                pfnEnumDCDims;
 
79
        PFN_GET_DC_SYSTEMBUFFER                 pfnGetDCSystemBuffer;
 
80
        PFN_GET_DC_INFO                                 pfnGetDCInfo;
 
81
        PFN_GET_BUFFER_ADDR                             pfnGetBufferAddr;
 
82
        PFN_CREATE_DC_SWAPCHAIN                 pfnCreateDCSwapChain;
 
83
        PFN_DESTROY_DC_SWAPCHAIN                pfnDestroyDCSwapChain;
 
84
        PFN_SET_DC_DSTRECT                              pfnSetDCDstRect;
 
85
        PFN_SET_DC_SRCRECT                              pfnSetDCSrcRect;
 
86
        PFN_SET_DC_DSTCK                                pfnSetDCDstColourKey;
 
87
        PFN_SET_DC_SRCCK                                pfnSetDCSrcColourKey;
 
88
        PFN_GET_DC_BUFFERS                              pfnGetDCBuffers;
 
89
        PFN_SWAP_TO_DC_BUFFER                   pfnSwapToDCBuffer;
 
90
        PFN_SWAP_TO_DC_SYSTEM                   pfnSwapToDCSystem;
 
91
        PFN_SET_DC_STATE                                pfnSetDCState;
 
92
        PFN_QUERY_SWAP_COMMAND_ID               pfnQuerySwapCommandID;
 
93
 
 
94
} PVRSRV_DC_SRV2DISP_KMJTABLE;
 
95
 
 
96
typedef IMG_BOOL (*PFN_ISR_HANDLER)(IMG_VOID*);
 
97
 
 
98
typedef PVRSRV_ERROR (*PFN_DC_REGISTER_DISPLAY_DEV)(PVRSRV_DC_SRV2DISP_KMJTABLE*, IMG_UINT32*);
 
99
typedef PVRSRV_ERROR (*PFN_DC_REMOVE_DISPLAY_DEV)(IMG_UINT32);
 
100
typedef PVRSRV_ERROR (*PFN_DC_OEM_FUNCTION)(IMG_UINT32, IMG_VOID*, IMG_UINT32, IMG_VOID*, IMG_UINT32);
 
101
typedef PVRSRV_ERROR (*PFN_DC_REGISTER_COMMANDPROCLIST)(IMG_UINT32, PPFN_CMD_PROC,IMG_UINT32[][2], IMG_UINT32);
 
102
typedef PVRSRV_ERROR (*PFN_DC_REMOVE_COMMANDPROCLIST)(IMG_UINT32, IMG_UINT32);
 
103
typedef IMG_VOID (*PFN_DC_CMD_COMPLETE)(IMG_HANDLE, IMG_BOOL);
 
104
typedef PVRSRV_ERROR (*PFN_DC_REGISTER_SYS_ISR)(PFN_ISR_HANDLER, IMG_VOID*, IMG_UINT32, IMG_UINT32);
 
105
typedef PVRSRV_ERROR (*PFN_DC_REGISTER_POWER)(IMG_UINT32, PFN_PRE_POWER, PFN_POST_POWER,
 
106
                                                                                          PFN_PRE_CLOCKSPEED_CHANGE, PFN_POST_CLOCKSPEED_CHANGE,
 
107
                                                                                          IMG_HANDLE, PVRSRV_DEV_POWER_STATE, PVRSRV_DEV_POWER_STATE);
 
108
 
 
109
typedef struct PVRSRV_DC_DISP2SRV_KMJTABLE_TAG
 
110
{
 
111
        IMG_UINT32                                              ui32TableSize;
 
112
        PFN_DC_REGISTER_DISPLAY_DEV             pfnPVRSRVRegisterDCDevice;
 
113
        PFN_DC_REMOVE_DISPLAY_DEV               pfnPVRSRVRemoveDCDevice;
 
114
        PFN_DC_OEM_FUNCTION                             pfnPVRSRVOEMFunction;
 
115
        PFN_DC_REGISTER_COMMANDPROCLIST pfnPVRSRVRegisterCmdProcList;
 
116
        PFN_DC_REMOVE_COMMANDPROCLIST   pfnPVRSRVRemoveCmdProcList;
 
117
        PFN_DC_CMD_COMPLETE                             pfnPVRSRVCmdComplete;
 
118
        PFN_DC_REGISTER_SYS_ISR                 pfnPVRSRVRegisterSystemISRHandler;
 
119
        PFN_DC_REGISTER_POWER                   pfnPVRSRVRegisterPowerDevice;
 
120
        PFN_DC_CMD_COMPLETE                             pfnPVRSRVFreeCmdCompletePacket;
 
121
} PVRSRV_DC_DISP2SRV_KMJTABLE, *PPVRSRV_DC_DISP2SRV_KMJTABLE;
 
122
 
 
123
 
 
124
typedef struct DISPLAYCLASS_FLIP_COMMAND_TAG
 
125
{
 
126
        
 
127
        IMG_HANDLE hExtDevice;
 
128
 
 
129
        
 
130
        IMG_HANDLE hExtSwapChain;
 
131
 
 
132
        
 
133
        IMG_HANDLE hExtBuffer;
 
134
 
 
135
        
 
136
        IMG_HANDLE hPrivateTag;
 
137
 
 
138
        
 
139
        IMG_UINT32 ui32ClipRectCount;
 
140
 
 
141
        
 
142
        IMG_RECT *psClipRect;
 
143
 
 
144
        
 
145
        IMG_UINT32      ui32SwapInterval;
 
146
 
 
147
} DISPLAYCLASS_FLIP_COMMAND;
 
148
 
 
149
#define DC_FLIP_COMMAND         0
 
150
 
 
151
#define DC_STATE_NO_FLUSH_COMMANDS              0
 
152
#define DC_STATE_FLUSH_COMMANDS                 1
 
153
 
 
154
 
 
155
typedef IMG_BOOL (*PFN_DC_GET_PVRJTABLE)(PPVRSRV_DC_DISP2SRV_KMJTABLE);
 
156
 
 
157
IMG_IMPORT IMG_BOOL PVRGetDisplayClassJTable(PVRSRV_DC_DISP2SRV_KMJTABLE *psJTable);
 
158
 
 
159
 
 
160
#if defined (__cplusplus)
 
161
}
 
162
#endif
 
163
 
 
164
#endif
 
165