Skip to content

Commit e767835

Browse files
author
Ben Skeggs
committed
drm/nouveau/bo: use NVIDIA's headers for move init()
Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Lyude Paul <[email protected]>
1 parent a38f83d commit e767835

File tree

6 files changed

+285
-7
lines changed

6 files changed

+285
-7
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* Copyright (c) 2001-2001, NVIDIA CORPORATION. All rights reserved.
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and associated documentation files (the "Software"),
6+
* to deal in the Software without restriction, including without limitation
7+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8+
* and/or sell copies of the Software, and to permit persons to whom the
9+
* Software is furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in
12+
* all copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20+
* DEALINGS IN THE SOFTWARE.
21+
*/
22+
23+
#ifndef _cl0039_h_
24+
#define _cl0039_h_
25+
26+
/* dma method offsets, fields, and values */
27+
#define NV039_SET_OBJECT (0x00000000)
28+
#define NV039_NO_OPERATION (0x00000100)
29+
#define NV039_SET_CONTEXT_DMA_NOTIFIES (0x00000180)
30+
#define NV039_SET_CONTEXT_DMA_BUFFER_IN (0x00000184)
31+
#define NV039_SET_CONTEXT_DMA_BUFFER_OUT (0x00000188)
32+
33+
#define NV039_OFFSET_IN (0x0000030C)
34+
#define NV039_OFFSET_OUT (0x00000310)
35+
#define NV039_PITCH_IN (0x00000314)
36+
#define NV039_PITCH_OUT (0x00000318)
37+
#define NV039_LINE_LENGTH_IN (0x0000031C)
38+
#define NV039_LINE_COUNT (0x00000320)
39+
#define NV039_FORMAT (0x00000324)
40+
#define NV039_FORMAT_IN 7:0
41+
#define NV039_FORMAT_OUT 31:8
42+
#define NV039_BUFFER_NOTIFY (0x00000328)
43+
#define NV039_BUFFER_NOTIFY_WRITE_ONLY (0x00000000)
44+
#define NV039_BUFFER_NOTIFY_WRITE_THEN_AWAKEN (0x00000001)
45+
#endif /* _cl0039_h_ */
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
/*
2+
* Copyright (c) 2003-2004, NVIDIA CORPORATION. All rights reserved.
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and associated documentation files (the "Software"),
6+
* to deal in the Software without restriction, including without limitation
7+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8+
* and/or sell copies of the Software, and to permit persons to whom the
9+
* Software is furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in
12+
* all copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20+
* DEALINGS IN THE SOFTWARE.
21+
*/
22+
23+
#ifndef _cl_nv50_memory_to_memory_format_h_
24+
#define _cl_nv50_memory_to_memory_format_h_
25+
26+
#define NV5039_SET_OBJECT 0x0000
27+
#define NV5039_SET_OBJECT_POINTER 15:0
28+
29+
#define NV5039_NO_OPERATION 0x0100
30+
#define NV5039_NO_OPERATION_V 31:0
31+
32+
#define NV5039_SET_CONTEXT_DMA_NOTIFY 0x0180
33+
#define NV5039_SET_CONTEXT_DMA_NOTIFY_HANDLE 31:0
34+
35+
#define NV5039_SET_CONTEXT_DMA_BUFFER_IN 0x0184
36+
#define NV5039_SET_CONTEXT_DMA_BUFFER_IN_HANDLE 31:0
37+
38+
#define NV5039_SET_CONTEXT_DMA_BUFFER_OUT 0x0188
39+
#define NV5039_SET_CONTEXT_DMA_BUFFER_OUT_HANDLE 31:0
40+
41+
#define NV5039_SET_SRC_MEMORY_LAYOUT 0x0200
42+
#define NV5039_SET_SRC_MEMORY_LAYOUT_V 0:0
43+
#define NV5039_SET_SRC_MEMORY_LAYOUT_V_BLOCKLINEAR 0x00000000
44+
#define NV5039_SET_SRC_MEMORY_LAYOUT_V_PITCH 0x00000001
45+
46+
#define NV5039_SET_SRC_BLOCK_SIZE 0x0204
47+
#define NV5039_SET_SRC_BLOCK_SIZE_WIDTH 3:0
48+
#define NV5039_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB 0x00000000
49+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT 7:4
50+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB 0x00000000
51+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS 0x00000001
52+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS 0x00000002
53+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS 0x00000003
54+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS 0x00000004
55+
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS 0x00000005
56+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH 11:8
57+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB 0x00000000
58+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS 0x00000001
59+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS 0x00000002
60+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS 0x00000003
61+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS 0x00000004
62+
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS 0x00000005
63+
64+
#define NV5039_SET_SRC_WIDTH 0x0208
65+
#define NV5039_SET_SRC_WIDTH_V 31:0
66+
67+
#define NV5039_SET_SRC_HEIGHT 0x020c
68+
#define NV5039_SET_SRC_HEIGHT_V 31:0
69+
70+
#define NV5039_SET_SRC_DEPTH 0x0210
71+
#define NV5039_SET_SRC_DEPTH_V 31:0
72+
73+
#define NV5039_SET_SRC_LAYER 0x0214
74+
#define NV5039_SET_SRC_LAYER_V 31:0
75+
76+
#define NV5039_SET_SRC_ORIGIN 0x0218
77+
#define NV5039_SET_SRC_ORIGIN_X 15:0
78+
#define NV5039_SET_SRC_ORIGIN_Y 31:16
79+
80+
#define NV5039_SET_DST_MEMORY_LAYOUT 0x021c
81+
#define NV5039_SET_DST_MEMORY_LAYOUT_V 0:0
82+
#define NV5039_SET_DST_MEMORY_LAYOUT_V_BLOCKLINEAR 0x00000000
83+
#define NV5039_SET_DST_MEMORY_LAYOUT_V_PITCH 0x00000001
84+
85+
#define NV5039_SET_DST_BLOCK_SIZE 0x0220
86+
#define NV5039_SET_DST_BLOCK_SIZE_WIDTH 3:0
87+
#define NV5039_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB 0x00000000
88+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT 7:4
89+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB 0x00000000
90+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS 0x00000001
91+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS 0x00000002
92+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS 0x00000003
93+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS 0x00000004
94+
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS 0x00000005
95+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH 11:8
96+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB 0x00000000
97+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS 0x00000001
98+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS 0x00000002
99+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS 0x00000003
100+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS 0x00000004
101+
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS 0x00000005
102+
103+
#define NV5039_SET_DST_WIDTH 0x0224
104+
#define NV5039_SET_DST_WIDTH_V 31:0
105+
106+
#define NV5039_SET_DST_HEIGHT 0x0228
107+
#define NV5039_SET_DST_HEIGHT_V 31:0
108+
109+
#define NV5039_SET_DST_DEPTH 0x022c
110+
#define NV5039_SET_DST_DEPTH_V 31:0
111+
112+
#define NV5039_SET_DST_LAYER 0x0230
113+
#define NV5039_SET_DST_LAYER_V 31:0
114+
115+
#define NV5039_SET_DST_ORIGIN 0x0234
116+
#define NV5039_SET_DST_ORIGIN_X 15:0
117+
#define NV5039_SET_DST_ORIGIN_Y 31:16
118+
119+
#define NV5039_OFFSET_IN_UPPER 0x0238
120+
#define NV5039_OFFSET_IN_UPPER_VALUE 7:0
121+
122+
#define NV5039_OFFSET_OUT_UPPER 0x023c
123+
#define NV5039_OFFSET_OUT_UPPER_VALUE 7:0
124+
125+
#define NV5039_OFFSET_IN 0x030c
126+
#define NV5039_OFFSET_IN_VALUE 31:0
127+
128+
#define NV5039_OFFSET_OUT 0x0310
129+
#define NV5039_OFFSET_OUT_VALUE 31:0
130+
131+
#define NV5039_PITCH_IN 0x0314
132+
#define NV5039_PITCH_IN_VALUE 31:0
133+
134+
#define NV5039_PITCH_OUT 0x0318
135+
#define NV5039_PITCH_OUT_VALUE 31:0
136+
137+
#define NV5039_LINE_LENGTH_IN 0x031c
138+
#define NV5039_LINE_LENGTH_IN_VALUE 31:0
139+
140+
#define NV5039_LINE_COUNT 0x0320
141+
#define NV5039_LINE_COUNT_VALUE 31:0
142+
143+
#define NV5039_FORMAT 0x0324
144+
#define NV5039_FORMAT_IN 7:0
145+
#define NV5039_FORMAT_IN_ONE 0x00000001
146+
#define NV5039_FORMAT_OUT 15:8
147+
#define NV5039_FORMAT_OUT_ONE 0x00000001
148+
149+
#define NV5039_BUFFER_NOTIFY 0x0328
150+
#define NV5039_BUFFER_NOTIFY_TYPE 31:0
151+
#define NV5039_BUFFER_NOTIFY_TYPE_WRITE_ONLY 0x00000000
152+
#define NV5039_BUFFER_NOTIFY_TYPE_WRITE_THEN_AWAKEN 0x00000001
153+
#endif /* _cl_nv50_memory_to_memory_format_h_ */

0 commit comments

Comments
 (0)