• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* drivers/video/msm_fb/mdp_scale_tables.c
2  *
3  * Copyright (C) 2007 QUALCOMM Incorporated
4  * Copyright (C) 2007 Google Incorporated
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15 
16 #include "mdp_scale_tables.h"
17 #include "mdp_hw.h"
18 
19 struct mdp_table_entry mdp_upscale_table[] = {
20 	{ 0x5fffc, 0x0 },
21 	{ 0x50200, 0x7fc00000 },
22 	{ 0x5fffc, 0xff80000d },
23 	{ 0x50204, 0x7ec003f9 },
24 	{ 0x5fffc, 0xfec0001c },
25 	{ 0x50208, 0x7d4003f3 },
26 	{ 0x5fffc, 0xfe40002b },
27 	{ 0x5020c, 0x7b8003ed },
28 	{ 0x5fffc, 0xfd80003c },
29 	{ 0x50210, 0x794003e8 },
30 	{ 0x5fffc, 0xfcc0004d },
31 	{ 0x50214, 0x76c003e4 },
32 	{ 0x5fffc, 0xfc40005f },
33 	{ 0x50218, 0x73c003e0 },
34 	{ 0x5fffc, 0xfb800071 },
35 	{ 0x5021c, 0x708003de },
36 	{ 0x5fffc, 0xfac00085 },
37 	{ 0x50220, 0x6d0003db },
38 	{ 0x5fffc, 0xfa000098 },
39 	{ 0x50224, 0x698003d9 },
40 	{ 0x5fffc, 0xf98000ac },
41 	{ 0x50228, 0x654003d8 },
42 	{ 0x5fffc, 0xf8c000c1 },
43 	{ 0x5022c, 0x610003d7 },
44 	{ 0x5fffc, 0xf84000d5 },
45 	{ 0x50230, 0x5c8003d7 },
46 	{ 0x5fffc, 0xf7c000e9 },
47 	{ 0x50234, 0x580003d7 },
48 	{ 0x5fffc, 0xf74000fd },
49 	{ 0x50238, 0x534003d8 },
50 	{ 0x5fffc, 0xf6c00112 },
51 	{ 0x5023c, 0x4e8003d8 },
52 	{ 0x5fffc, 0xf6800126 },
53 	{ 0x50240, 0x494003da },
54 	{ 0x5fffc, 0xf600013a },
55 	{ 0x50244, 0x448003db },
56 	{ 0x5fffc, 0xf600014d },
57 	{ 0x50248, 0x3f4003dd },
58 	{ 0x5fffc, 0xf5c00160 },
59 	{ 0x5024c, 0x3a4003df },
60 	{ 0x5fffc, 0xf5c00172 },
61 	{ 0x50250, 0x354003e1 },
62 	{ 0x5fffc, 0xf5c00184 },
63 	{ 0x50254, 0x304003e3 },
64 	{ 0x5fffc, 0xf6000195 },
65 	{ 0x50258, 0x2b0003e6 },
66 	{ 0x5fffc, 0xf64001a6 },
67 	{ 0x5025c, 0x260003e8 },
68 	{ 0x5fffc, 0xf6c001b4 },
69 	{ 0x50260, 0x214003eb },
70 	{ 0x5fffc, 0xf78001c2 },
71 	{ 0x50264, 0x1c4003ee },
72 	{ 0x5fffc, 0xf80001cf },
73 	{ 0x50268, 0x17c003f1 },
74 	{ 0x5fffc, 0xf90001db },
75 	{ 0x5026c, 0x134003f3 },
76 	{ 0x5fffc, 0xfa0001e5 },
77 	{ 0x50270, 0xf0003f6 },
78 	{ 0x5fffc, 0xfb4001ee },
79 	{ 0x50274, 0xac003f9 },
80 	{ 0x5fffc, 0xfcc001f5 },
81 	{ 0x50278, 0x70003fb },
82 	{ 0x5fffc, 0xfe4001fb },
83 	{ 0x5027c, 0x34003fe },
84 };
85 
86 static struct mdp_table_entry mdp_downscale_x_table_PT2TOPT4[] = {
87 	{ 0x5fffc, 0x740008c },
88 	{ 0x50280, 0x33800088 },
89 	{ 0x5fffc, 0x800008e },
90 	{ 0x50284, 0x33400084 },
91 	{ 0x5fffc, 0x8400092 },
92 	{ 0x50288, 0x33000080 },
93 	{ 0x5fffc, 0x9000094 },
94 	{ 0x5028c, 0x3300007b },
95 	{ 0x5fffc, 0x9c00098 },
96 	{ 0x50290, 0x32400077 },
97 	{ 0x5fffc, 0xa40009b },
98 	{ 0x50294, 0x32000073 },
99 	{ 0x5fffc, 0xb00009d },
100 	{ 0x50298,  0x31c0006f },
101 	{ 0x5fffc,  0xbc000a0 },
102 	{ 0x5029c,  0x3140006b },
103 	{ 0x5fffc,  0xc8000a2 },
104 	{ 0x502a0,  0x31000067 },
105 	{ 0x5fffc,  0xd8000a5 },
106 	{ 0x502a4,  0x30800062 },
107 	{ 0x5fffc,  0xe4000a8 },
108 	{ 0x502a8,  0x2fc0005f },
109 	{ 0x5fffc,  0xec000aa },
110 	{ 0x502ac,  0x2fc0005b },
111 	{ 0x5fffc,  0xf8000ad },
112 	{ 0x502b0,  0x2f400057 },
113 	{ 0x5fffc,  0x108000b0 },
114 	{ 0x502b4,  0x2e400054 },
115 	{ 0x5fffc,  0x114000b2 },
116 	{ 0x502b8,  0x2e000050 },
117 	{ 0x5fffc,  0x124000b4 },
118 	{ 0x502bc,  0x2d80004c },
119 	{ 0x5fffc,  0x130000b6 },
120 	{ 0x502c0,  0x2d000049 },
121 	{ 0x5fffc,  0x140000b8 },
122 	{ 0x502c4,  0x2c800045 },
123 	{ 0x5fffc,  0x150000b9 },
124 	{ 0x502c8,  0x2c000042 },
125 	{ 0x5fffc,  0x15c000bd },
126 	{ 0x502cc,  0x2b40003e },
127 	{ 0x5fffc,  0x16c000bf },
128 	{ 0x502d0,  0x2a80003b },
129 	{ 0x5fffc,  0x17c000bf },
130 	{ 0x502d4,  0x2a000039 },
131 	{ 0x5fffc,  0x188000c2 },
132 	{ 0x502d8,  0x29400036 },
133 	{ 0x5fffc,  0x19c000c4 },
134 	{ 0x502dc,  0x28800032 },
135 	{ 0x5fffc,  0x1ac000c5 },
136 	{ 0x502e0,  0x2800002f },
137 	{ 0x5fffc,  0x1bc000c7 },
138 	{ 0x502e4,  0x2740002c },
139 	{ 0x5fffc,  0x1cc000c8 },
140 	{ 0x502e8,  0x26c00029 },
141 	{ 0x5fffc,  0x1dc000c9 },
142 	{ 0x502ec,  0x26000027 },
143 	{ 0x5fffc,  0x1ec000cc },
144 	{ 0x502f0,  0x25000024 },
145 	{ 0x5fffc,  0x200000cc },
146 	{ 0x502f4,  0x24800021 },
147 	{ 0x5fffc,  0x210000cd },
148 	{ 0x502f8,  0x23800020 },
149 	{ 0x5fffc,  0x220000ce },
150 	{ 0x502fc,  0x2300001d },
151 };
152 
153 static struct mdp_table_entry mdp_downscale_x_table_PT4TOPT6[] = {
154 	{ 0x5fffc,  0x740008c },
155 	{ 0x50280,  0x33800088 },
156 	{ 0x5fffc,  0x800008e },
157 	{ 0x50284,  0x33400084 },
158 	{ 0x5fffc,  0x8400092 },
159 	{ 0x50288,  0x33000080 },
160 	{ 0x5fffc,  0x9000094 },
161 	{ 0x5028c,  0x3300007b },
162 	{ 0x5fffc,  0x9c00098 },
163 	{ 0x50290,  0x32400077 },
164 	{ 0x5fffc,  0xa40009b },
165 	{ 0x50294,  0x32000073 },
166 	{ 0x5fffc,  0xb00009d },
167 	{ 0x50298,  0x31c0006f },
168 	{ 0x5fffc,  0xbc000a0 },
169 	{ 0x5029c,  0x3140006b },
170 	{ 0x5fffc,  0xc8000a2 },
171 	{ 0x502a0,  0x31000067 },
172 	{ 0x5fffc,  0xd8000a5 },
173 	{ 0x502a4,  0x30800062 },
174 	{ 0x5fffc,  0xe4000a8 },
175 	{ 0x502a8,  0x2fc0005f },
176 	{ 0x5fffc,  0xec000aa },
177 	{ 0x502ac,  0x2fc0005b },
178 	{ 0x5fffc,  0xf8000ad },
179 	{ 0x502b0,  0x2f400057 },
180 	{ 0x5fffc,  0x108000b0 },
181 	{ 0x502b4,  0x2e400054 },
182 	{ 0x5fffc,  0x114000b2 },
183 	{ 0x502b8,  0x2e000050 },
184 	{ 0x5fffc,  0x124000b4 },
185 	{ 0x502bc,  0x2d80004c },
186 	{ 0x5fffc,  0x130000b6 },
187 	{ 0x502c0,  0x2d000049 },
188 	{ 0x5fffc,  0x140000b8 },
189 	{ 0x502c4,  0x2c800045 },
190 	{ 0x5fffc,  0x150000b9 },
191 	{ 0x502c8,  0x2c000042 },
192 	{ 0x5fffc,  0x15c000bd },
193 	{ 0x502cc,  0x2b40003e },
194 	{ 0x5fffc,  0x16c000bf },
195 	{ 0x502d0,  0x2a80003b },
196 	{ 0x5fffc,  0x17c000bf },
197 	{ 0x502d4,  0x2a000039 },
198 	{ 0x5fffc,  0x188000c2 },
199 	{ 0x502d8,  0x29400036 },
200 	{ 0x5fffc,  0x19c000c4 },
201 	{ 0x502dc,  0x28800032 },
202 	{ 0x5fffc,  0x1ac000c5 },
203 	{ 0x502e0,  0x2800002f },
204 	{ 0x5fffc,  0x1bc000c7 },
205 	{ 0x502e4,  0x2740002c },
206 	{ 0x5fffc,  0x1cc000c8 },
207 	{ 0x502e8,  0x26c00029 },
208 	{ 0x5fffc,  0x1dc000c9 },
209 	{ 0x502ec,  0x26000027 },
210 	{ 0x5fffc,  0x1ec000cc },
211 	{ 0x502f0,  0x25000024 },
212 	{ 0x5fffc,  0x200000cc },
213 	{ 0x502f4,  0x24800021 },
214 	{ 0x5fffc,  0x210000cd },
215 	{ 0x502f8,  0x23800020 },
216 	{ 0x5fffc,  0x220000ce },
217 	{ 0x502fc,  0x2300001d },
218 };
219 
220 static struct mdp_table_entry mdp_downscale_x_table_PT6TOPT8[] = {
221 	{ 0x5fffc,  0xfe000070 },
222 	{ 0x50280,  0x4bc00068 },
223 	{ 0x5fffc,  0xfe000078 },
224 	{ 0x50284,  0x4bc00060 },
225 	{ 0x5fffc,  0xfe000080 },
226 	{ 0x50288,  0x4b800059 },
227 	{ 0x5fffc,  0xfe000089 },
228 	{ 0x5028c,  0x4b000052 },
229 	{ 0x5fffc,  0xfe400091 },
230 	{ 0x50290,  0x4a80004b },
231 	{ 0x5fffc,  0xfe40009a },
232 	{ 0x50294,  0x4a000044 },
233 	{ 0x5fffc,  0xfe8000a3 },
234 	{ 0x50298,  0x4940003d },
235 	{ 0x5fffc,  0xfec000ac },
236 	{ 0x5029c,  0x48400037 },
237 	{ 0x5fffc,  0xff0000b4 },
238 	{ 0x502a0,  0x47800031 },
239 	{ 0x5fffc,  0xff8000bd },
240 	{ 0x502a4,  0x4640002b },
241 	{ 0x5fffc,  0xc5 },
242 	{ 0x502a8,  0x45000026 },
243 	{ 0x5fffc,  0x8000ce },
244 	{ 0x502ac,  0x43800021 },
245 	{ 0x5fffc,  0x10000d6 },
246 	{ 0x502b0,  0x4240001c },
247 	{ 0x5fffc,  0x18000df },
248 	{ 0x502b4,  0x40800018 },
249 	{ 0x5fffc,  0x24000e6 },
250 	{ 0x502b8,  0x3f000014 },
251 	{ 0x5fffc,  0x30000ee },
252 	{ 0x502bc,  0x3d400010 },
253 	{ 0x5fffc,  0x40000f5 },
254 	{ 0x502c0,  0x3b80000c },
255 	{ 0x5fffc,  0x50000fc },
256 	{ 0x502c4,  0x39800009 },
257 	{ 0x5fffc,  0x6000102 },
258 	{ 0x502c8,  0x37c00006 },
259 	{ 0x5fffc,  0x7000109 },
260 	{ 0x502cc,  0x35800004 },
261 	{ 0x5fffc,  0x840010e },
262 	{ 0x502d0,  0x33800002 },
263 	{ 0x5fffc,  0x9800114 },
264 	{ 0x502d4,  0x31400000 },
265 	{ 0x5fffc,  0xac00119 },
266 	{ 0x502d8,  0x2f4003fe },
267 	{ 0x5fffc,  0xc40011e },
268 	{ 0x502dc,  0x2d0003fc },
269 	{ 0x5fffc,  0xdc00121 },
270 	{ 0x502e0,  0x2b0003fb },
271 	{ 0x5fffc,  0xf400125 },
272 	{ 0x502e4,  0x28c003fa },
273 	{ 0x5fffc,  0x11000128 },
274 	{ 0x502e8,  0x268003f9 },
275 	{ 0x5fffc,  0x12c0012a },
276 	{ 0x502ec,  0x244003f9 },
277 	{ 0x5fffc,  0x1480012c },
278 	{ 0x502f0,  0x224003f8 },
279 	{ 0x5fffc,  0x1640012e },
280 	{ 0x502f4,  0x200003f8 },
281 	{ 0x5fffc,  0x1800012f },
282 	{ 0x502f8,  0x1e0003f8 },
283 	{ 0x5fffc,  0x1a00012f },
284 	{ 0x502fc,  0x1c0003f8 },
285 };
286 
287 static struct mdp_table_entry mdp_downscale_x_table_PT8TO1[] = {
288 	{ 0x5fffc,  0x0 },
289 	{ 0x50280,  0x7fc00000 },
290 	{ 0x5fffc,  0xff80000d },
291 	{ 0x50284,  0x7ec003f9 },
292 	{ 0x5fffc,  0xfec0001c },
293 	{ 0x50288,  0x7d4003f3 },
294 	{ 0x5fffc,  0xfe40002b },
295 	{ 0x5028c,  0x7b8003ed },
296 	{ 0x5fffc,  0xfd80003c },
297 	{ 0x50290,  0x794003e8 },
298 	{ 0x5fffc,  0xfcc0004d },
299 	{ 0x50294,  0x76c003e4 },
300 	{ 0x5fffc,  0xfc40005f },
301 	{ 0x50298,  0x73c003e0 },
302 	{ 0x5fffc,  0xfb800071 },
303 	{ 0x5029c,  0x708003de },
304 	{ 0x5fffc,  0xfac00085 },
305 	{ 0x502a0,  0x6d0003db },
306 	{ 0x5fffc,  0xfa000098 },
307 	{ 0x502a4,  0x698003d9 },
308 	{ 0x5fffc,  0xf98000ac },
309 	{ 0x502a8,  0x654003d8 },
310 	{ 0x5fffc,  0xf8c000c1 },
311 	{ 0x502ac,  0x610003d7 },
312 	{ 0x5fffc,  0xf84000d5 },
313 	{ 0x502b0,  0x5c8003d7 },
314 	{ 0x5fffc,  0xf7c000e9 },
315 	{ 0x502b4,  0x580003d7 },
316 	{ 0x5fffc,  0xf74000fd },
317 	{ 0x502b8,  0x534003d8 },
318 	{ 0x5fffc,  0xf6c00112 },
319 	{ 0x502bc,  0x4e8003d8 },
320 	{ 0x5fffc,  0xf6800126 },
321 	{ 0x502c0,  0x494003da },
322 	{ 0x5fffc,  0xf600013a },
323 	{ 0x502c4,  0x448003db },
324 	{ 0x5fffc,  0xf600014d },
325 	{ 0x502c8,  0x3f4003dd },
326 	{ 0x5fffc,  0xf5c00160 },
327 	{ 0x502cc,  0x3a4003df },
328 	{ 0x5fffc,  0xf5c00172 },
329 	{ 0x502d0,  0x354003e1 },
330 	{ 0x5fffc,  0xf5c00184 },
331 	{ 0x502d4,  0x304003e3 },
332 	{ 0x5fffc,  0xf6000195 },
333 	{ 0x502d8,  0x2b0003e6 },
334 	{ 0x5fffc,  0xf64001a6 },
335 	{ 0x502dc,  0x260003e8 },
336 	{ 0x5fffc,  0xf6c001b4 },
337 	{ 0x502e0,  0x214003eb },
338 	{ 0x5fffc,  0xf78001c2 },
339 	{ 0x502e4,  0x1c4003ee },
340 	{ 0x5fffc,  0xf80001cf },
341 	{ 0x502e8,  0x17c003f1 },
342 	{ 0x5fffc,  0xf90001db },
343 	{ 0x502ec,  0x134003f3 },
344 	{ 0x5fffc,  0xfa0001e5 },
345 	{ 0x502f0,  0xf0003f6 },
346 	{ 0x5fffc,  0xfb4001ee },
347 	{ 0x502f4,  0xac003f9 },
348 	{ 0x5fffc,  0xfcc001f5 },
349 	{ 0x502f8,  0x70003fb },
350 	{ 0x5fffc,  0xfe4001fb },
351 	{ 0x502fc,  0x34003fe },
352 };
353 
354 struct mdp_table_entry *mdp_downscale_x_table[MDP_DOWNSCALE_MAX] = {
355 	[MDP_DOWNSCALE_PT2TOPT4] = mdp_downscale_x_table_PT2TOPT4,
356 	[MDP_DOWNSCALE_PT4TOPT6] = mdp_downscale_x_table_PT4TOPT6,
357 	[MDP_DOWNSCALE_PT6TOPT8] = mdp_downscale_x_table_PT6TOPT8,
358 	[MDP_DOWNSCALE_PT8TO1]  = mdp_downscale_x_table_PT8TO1,
359 };
360 
361 static struct mdp_table_entry mdp_downscale_y_table_PT2TOPT4[] = {
362 	{ 0x5fffc,  0x740008c },
363 	{ 0x50300,  0x33800088 },
364 	{ 0x5fffc,  0x800008e },
365 	{ 0x50304,  0x33400084 },
366 	{ 0x5fffc,  0x8400092 },
367 	{ 0x50308,  0x33000080 },
368 	{ 0x5fffc,  0x9000094 },
369 	{ 0x5030c,  0x3300007b },
370 	{ 0x5fffc,  0x9c00098 },
371 	{ 0x50310,  0x32400077 },
372 	{ 0x5fffc,  0xa40009b },
373 	{ 0x50314,  0x32000073 },
374 	{ 0x5fffc,  0xb00009d },
375 	{ 0x50318,  0x31c0006f },
376 	{ 0x5fffc,  0xbc000a0 },
377 	{ 0x5031c,  0x3140006b },
378 	{ 0x5fffc,  0xc8000a2 },
379 	{ 0x50320,  0x31000067 },
380 	{ 0x5fffc,  0xd8000a5 },
381 	{ 0x50324,  0x30800062 },
382 	{ 0x5fffc,  0xe4000a8 },
383 	{ 0x50328,  0x2fc0005f },
384 	{ 0x5fffc,  0xec000aa },
385 	{ 0x5032c,  0x2fc0005b },
386 	{ 0x5fffc,  0xf8000ad },
387 	{ 0x50330,  0x2f400057 },
388 	{ 0x5fffc,  0x108000b0 },
389 	{ 0x50334,  0x2e400054 },
390 	{ 0x5fffc,  0x114000b2 },
391 	{ 0x50338,  0x2e000050 },
392 	{ 0x5fffc,  0x124000b4 },
393 	{ 0x5033c,  0x2d80004c },
394 	{ 0x5fffc,  0x130000b6 },
395 	{ 0x50340,  0x2d000049 },
396 	{ 0x5fffc,  0x140000b8 },
397 	{ 0x50344,  0x2c800045 },
398 	{ 0x5fffc,  0x150000b9 },
399 	{ 0x50348,  0x2c000042 },
400 	{ 0x5fffc,  0x15c000bd },
401 	{ 0x5034c,  0x2b40003e },
402 	{ 0x5fffc,  0x16c000bf },
403 	{ 0x50350,  0x2a80003b },
404 	{ 0x5fffc,  0x17c000bf },
405 	{ 0x50354,  0x2a000039 },
406 	{ 0x5fffc,  0x188000c2 },
407 	{ 0x50358,  0x29400036 },
408 	{ 0x5fffc,  0x19c000c4 },
409 	{ 0x5035c,  0x28800032 },
410 	{ 0x5fffc,  0x1ac000c5 },
411 	{ 0x50360,  0x2800002f },
412 	{ 0x5fffc,  0x1bc000c7 },
413 	{ 0x50364,  0x2740002c },
414 	{ 0x5fffc,  0x1cc000c8 },
415 	{ 0x50368,  0x26c00029 },
416 	{ 0x5fffc,  0x1dc000c9 },
417 	{ 0x5036c,  0x26000027 },
418 	{ 0x5fffc,  0x1ec000cc },
419 	{ 0x50370,  0x25000024 },
420 	{ 0x5fffc,  0x200000cc },
421 	{ 0x50374,  0x24800021 },
422 	{ 0x5fffc,  0x210000cd },
423 	{ 0x50378,  0x23800020 },
424 	{ 0x5fffc,  0x220000ce },
425 	{ 0x5037c,  0x2300001d },
426 };
427 
428 static struct mdp_table_entry mdp_downscale_y_table_PT4TOPT6[] = {
429 	{ 0x5fffc,  0x740008c },
430 	{ 0x50300,  0x33800088 },
431 	{ 0x5fffc,  0x800008e },
432 	{ 0x50304,  0x33400084 },
433 	{ 0x5fffc,  0x8400092 },
434 	{ 0x50308,  0x33000080 },
435 	{ 0x5fffc,  0x9000094 },
436 	{ 0x5030c,  0x3300007b },
437 	{ 0x5fffc,  0x9c00098 },
438 	{ 0x50310,  0x32400077 },
439 	{ 0x5fffc,  0xa40009b },
440 	{ 0x50314,  0x32000073 },
441 	{ 0x5fffc,  0xb00009d },
442 	{ 0x50318,  0x31c0006f },
443 	{ 0x5fffc,  0xbc000a0 },
444 	{ 0x5031c,  0x3140006b },
445 	{ 0x5fffc,  0xc8000a2 },
446 	{ 0x50320,  0x31000067 },
447 	{ 0x5fffc,  0xd8000a5 },
448 	{ 0x50324,  0x30800062 },
449 	{ 0x5fffc,  0xe4000a8 },
450 	{ 0x50328,  0x2fc0005f },
451 	{ 0x5fffc,  0xec000aa },
452 	{ 0x5032c,  0x2fc0005b },
453 	{ 0x5fffc,  0xf8000ad },
454 	{ 0x50330,  0x2f400057 },
455 	{ 0x5fffc,  0x108000b0 },
456 	{ 0x50334,  0x2e400054 },
457 	{ 0x5fffc,  0x114000b2 },
458 	{ 0x50338,  0x2e000050 },
459 	{ 0x5fffc,  0x124000b4 },
460 	{ 0x5033c,  0x2d80004c },
461 	{ 0x5fffc,  0x130000b6 },
462 	{ 0x50340,  0x2d000049 },
463 	{ 0x5fffc,  0x140000b8 },
464 	{ 0x50344,  0x2c800045 },
465 	{ 0x5fffc,  0x150000b9 },
466 	{ 0x50348,  0x2c000042 },
467 	{ 0x5fffc,  0x15c000bd },
468 	{ 0x5034c,  0x2b40003e },
469 	{ 0x5fffc,  0x16c000bf },
470 	{ 0x50350,  0x2a80003b },
471 	{ 0x5fffc,  0x17c000bf },
472 	{ 0x50354,  0x2a000039 },
473 	{ 0x5fffc,  0x188000c2 },
474 	{ 0x50358,  0x29400036 },
475 	{ 0x5fffc,  0x19c000c4 },
476 	{ 0x5035c,  0x28800032 },
477 	{ 0x5fffc,  0x1ac000c5 },
478 	{ 0x50360,  0x2800002f },
479 	{ 0x5fffc,  0x1bc000c7 },
480 	{ 0x50364,  0x2740002c },
481 	{ 0x5fffc,  0x1cc000c8 },
482 	{ 0x50368,  0x26c00029 },
483 	{ 0x5fffc,  0x1dc000c9 },
484 	{ 0x5036c,  0x26000027 },
485 	{ 0x5fffc,  0x1ec000cc },
486 	{ 0x50370,  0x25000024 },
487 	{ 0x5fffc,  0x200000cc },
488 	{ 0x50374,  0x24800021 },
489 	{ 0x5fffc,  0x210000cd },
490 	{ 0x50378,  0x23800020 },
491 	{ 0x5fffc,  0x220000ce },
492 	{ 0x5037c,  0x2300001d },
493 };
494 
495 static struct mdp_table_entry mdp_downscale_y_table_PT6TOPT8[] = {
496 	{ 0x5fffc,  0xfe000070 },
497 	{ 0x50300,  0x4bc00068 },
498 	{ 0x5fffc,  0xfe000078 },
499 	{ 0x50304,  0x4bc00060 },
500 	{ 0x5fffc,  0xfe000080 },
501 	{ 0x50308,  0x4b800059 },
502 	{ 0x5fffc,  0xfe000089 },
503 	{ 0x5030c,  0x4b000052 },
504 	{ 0x5fffc,  0xfe400091 },
505 	{ 0x50310,  0x4a80004b },
506 	{ 0x5fffc,  0xfe40009a },
507 	{ 0x50314,  0x4a000044 },
508 	{ 0x5fffc,  0xfe8000a3 },
509 	{ 0x50318,  0x4940003d },
510 	{ 0x5fffc,  0xfec000ac },
511 	{ 0x5031c,  0x48400037 },
512 	{ 0x5fffc,  0xff0000b4 },
513 	{ 0x50320,  0x47800031 },
514 	{ 0x5fffc,  0xff8000bd },
515 	{ 0x50324,  0x4640002b },
516 	{ 0x5fffc,  0xc5 },
517 	{ 0x50328,  0x45000026 },
518 	{ 0x5fffc,  0x8000ce },
519 	{ 0x5032c,  0x43800021 },
520 	{ 0x5fffc,  0x10000d6 },
521 	{ 0x50330,  0x4240001c },
522 	{ 0x5fffc,  0x18000df },
523 	{ 0x50334,  0x40800018 },
524 	{ 0x5fffc,  0x24000e6 },
525 	{ 0x50338,  0x3f000014 },
526 	{ 0x5fffc,  0x30000ee },
527 	{ 0x5033c,  0x3d400010 },
528 	{ 0x5fffc,  0x40000f5 },
529 	{ 0x50340,  0x3b80000c },
530 	{ 0x5fffc,  0x50000fc },
531 	{ 0x50344,  0x39800009 },
532 	{ 0x5fffc,  0x6000102 },
533 	{ 0x50348,  0x37c00006 },
534 	{ 0x5fffc,  0x7000109 },
535 	{ 0x5034c,  0x35800004 },
536 	{ 0x5fffc,  0x840010e },
537 	{ 0x50350,  0x33800002 },
538 	{ 0x5fffc,  0x9800114 },
539 	{ 0x50354,  0x31400000 },
540 	{ 0x5fffc,  0xac00119 },
541 	{ 0x50358,  0x2f4003fe },
542 	{ 0x5fffc,  0xc40011e },
543 	{ 0x5035c,  0x2d0003fc },
544 	{ 0x5fffc,  0xdc00121 },
545 	{ 0x50360,  0x2b0003fb },
546 	{ 0x5fffc,  0xf400125 },
547 	{ 0x50364,  0x28c003fa },
548 	{ 0x5fffc,  0x11000128 },
549 	{ 0x50368,  0x268003f9 },
550 	{ 0x5fffc,  0x12c0012a },
551 	{ 0x5036c,  0x244003f9 },
552 	{ 0x5fffc,  0x1480012c },
553 	{ 0x50370,  0x224003f8 },
554 	{ 0x5fffc,  0x1640012e },
555 	{ 0x50374,  0x200003f8 },
556 	{ 0x5fffc,  0x1800012f },
557 	{ 0x50378,  0x1e0003f8 },
558 	{ 0x5fffc,  0x1a00012f },
559 	{ 0x5037c,  0x1c0003f8 },
560 };
561 
562 static struct mdp_table_entry mdp_downscale_y_table_PT8TO1[] = {
563 	{ 0x5fffc,  0x0 },
564 	{ 0x50300,  0x7fc00000 },
565 	{ 0x5fffc,  0xff80000d },
566 	{ 0x50304,  0x7ec003f9 },
567 	{ 0x5fffc,  0xfec0001c },
568 	{ 0x50308,  0x7d4003f3 },
569 	{ 0x5fffc,  0xfe40002b },
570 	{ 0x5030c,  0x7b8003ed },
571 	{ 0x5fffc,  0xfd80003c },
572 	{ 0x50310,  0x794003e8 },
573 	{ 0x5fffc,  0xfcc0004d },
574 	{ 0x50314,  0x76c003e4 },
575 	{ 0x5fffc,  0xfc40005f },
576 	{ 0x50318,  0x73c003e0 },
577 	{ 0x5fffc,  0xfb800071 },
578 	{ 0x5031c,  0x708003de },
579 	{ 0x5fffc,  0xfac00085 },
580 	{ 0x50320,  0x6d0003db },
581 	{ 0x5fffc,  0xfa000098 },
582 	{ 0x50324,  0x698003d9 },
583 	{ 0x5fffc,  0xf98000ac },
584 	{ 0x50328,  0x654003d8 },
585 	{ 0x5fffc,  0xf8c000c1 },
586 	{ 0x5032c,  0x610003d7 },
587 	{ 0x5fffc,  0xf84000d5 },
588 	{ 0x50330,  0x5c8003d7 },
589 	{ 0x5fffc,  0xf7c000e9 },
590 	{ 0x50334,  0x580003d7 },
591 	{ 0x5fffc,  0xf74000fd },
592 	{ 0x50338,  0x534003d8 },
593 	{ 0x5fffc,  0xf6c00112 },
594 	{ 0x5033c,  0x4e8003d8 },
595 	{ 0x5fffc,  0xf6800126 },
596 	{ 0x50340,  0x494003da },
597 	{ 0x5fffc,  0xf600013a },
598 	{ 0x50344,  0x448003db },
599 	{ 0x5fffc,  0xf600014d },
600 	{ 0x50348,  0x3f4003dd },
601 	{ 0x5fffc,  0xf5c00160 },
602 	{ 0x5034c,  0x3a4003df },
603 	{ 0x5fffc,  0xf5c00172 },
604 	{ 0x50350,  0x354003e1 },
605 	{ 0x5fffc,  0xf5c00184 },
606 	{ 0x50354,  0x304003e3 },
607 	{ 0x5fffc,  0xf6000195 },
608 	{ 0x50358,  0x2b0003e6 },
609 	{ 0x5fffc,  0xf64001a6 },
610 	{ 0x5035c,  0x260003e8 },
611 	{ 0x5fffc,  0xf6c001b4 },
612 	{ 0x50360,  0x214003eb },
613 	{ 0x5fffc,  0xf78001c2 },
614 	{ 0x50364,  0x1c4003ee },
615 	{ 0x5fffc,  0xf80001cf },
616 	{ 0x50368,  0x17c003f1 },
617 	{ 0x5fffc,  0xf90001db },
618 	{ 0x5036c,  0x134003f3 },
619 	{ 0x5fffc,  0xfa0001e5 },
620 	{ 0x50370,  0xf0003f6 },
621 	{ 0x5fffc,  0xfb4001ee },
622 	{ 0x50374,  0xac003f9 },
623 	{ 0x5fffc,  0xfcc001f5 },
624 	{ 0x50378,  0x70003fb },
625 	{ 0x5fffc,  0xfe4001fb },
626 	{ 0x5037c,  0x34003fe },
627 };
628 
629 struct mdp_table_entry *mdp_downscale_y_table[MDP_DOWNSCALE_MAX] = {
630 	[MDP_DOWNSCALE_PT2TOPT4] = mdp_downscale_y_table_PT2TOPT4,
631 	[MDP_DOWNSCALE_PT4TOPT6] = mdp_downscale_y_table_PT4TOPT6,
632 	[MDP_DOWNSCALE_PT6TOPT8] = mdp_downscale_y_table_PT6TOPT8,
633 	[MDP_DOWNSCALE_PT8TO1]  = mdp_downscale_y_table_PT8TO1,
634 };
635 
636 struct mdp_table_entry mdp_gaussian_blur_table[] = {
637 	/* max variance */
638 	{ 0x5fffc, 0x20000080 },
639 	{ 0x50280, 0x20000080 },
640 	{ 0x5fffc, 0x20000080 },
641 	{ 0x50284, 0x20000080 },
642 	{ 0x5fffc, 0x20000080 },
643 	{ 0x50288, 0x20000080 },
644 	{ 0x5fffc, 0x20000080 },
645 	{ 0x5028c, 0x20000080 },
646 	{ 0x5fffc, 0x20000080 },
647 	{ 0x50290, 0x20000080 },
648 	{ 0x5fffc, 0x20000080 },
649 	{ 0x50294, 0x20000080 },
650 	{ 0x5fffc, 0x20000080 },
651 	{ 0x50298, 0x20000080 },
652 	{ 0x5fffc, 0x20000080 },
653 	{ 0x5029c, 0x20000080 },
654 	{ 0x5fffc, 0x20000080 },
655 	{ 0x502a0, 0x20000080 },
656 	{ 0x5fffc, 0x20000080 },
657 	{ 0x502a4, 0x20000080 },
658 	{ 0x5fffc, 0x20000080 },
659 	{ 0x502a8, 0x20000080 },
660 	{ 0x5fffc, 0x20000080 },
661 	{ 0x502ac, 0x20000080 },
662 	{ 0x5fffc, 0x20000080 },
663 	{ 0x502b0, 0x20000080 },
664 	{ 0x5fffc, 0x20000080 },
665 	{ 0x502b4, 0x20000080 },
666 	{ 0x5fffc, 0x20000080 },
667 	{ 0x502b8, 0x20000080 },
668 	{ 0x5fffc, 0x20000080 },
669 	{ 0x502bc, 0x20000080 },
670 	{ 0x5fffc, 0x20000080 },
671 	{ 0x502c0, 0x20000080 },
672 	{ 0x5fffc, 0x20000080 },
673 	{ 0x502c4, 0x20000080 },
674 	{ 0x5fffc, 0x20000080 },
675 	{ 0x502c8, 0x20000080 },
676 	{ 0x5fffc, 0x20000080 },
677 	{ 0x502cc, 0x20000080 },
678 	{ 0x5fffc, 0x20000080 },
679 	{ 0x502d0, 0x20000080 },
680 	{ 0x5fffc, 0x20000080 },
681 	{ 0x502d4, 0x20000080 },
682 	{ 0x5fffc, 0x20000080 },
683 	{ 0x502d8, 0x20000080 },
684 	{ 0x5fffc, 0x20000080 },
685 	{ 0x502dc, 0x20000080 },
686 	{ 0x5fffc, 0x20000080 },
687 	{ 0x502e0, 0x20000080 },
688 	{ 0x5fffc, 0x20000080 },
689 	{ 0x502e4, 0x20000080 },
690 	{ 0x5fffc, 0x20000080 },
691 	{ 0x502e8, 0x20000080 },
692 	{ 0x5fffc, 0x20000080 },
693 	{ 0x502ec, 0x20000080 },
694 	{ 0x5fffc, 0x20000080 },
695 	{ 0x502f0, 0x20000080 },
696 	{ 0x5fffc, 0x20000080 },
697 	{ 0x502f4, 0x20000080 },
698 	{ 0x5fffc, 0x20000080 },
699 	{ 0x502f8, 0x20000080 },
700 	{ 0x5fffc, 0x20000080 },
701 	{ 0x502fc, 0x20000080 },
702 	{ 0x5fffc, 0x20000080 },
703 	{ 0x50300, 0x20000080 },
704 	{ 0x5fffc, 0x20000080 },
705 	{ 0x50304, 0x20000080 },
706 	{ 0x5fffc, 0x20000080 },
707 	{ 0x50308, 0x20000080 },
708 	{ 0x5fffc, 0x20000080 },
709 	{ 0x5030c, 0x20000080 },
710 	{ 0x5fffc, 0x20000080 },
711 	{ 0x50310, 0x20000080 },
712 	{ 0x5fffc, 0x20000080 },
713 	{ 0x50314, 0x20000080 },
714 	{ 0x5fffc, 0x20000080 },
715 	{ 0x50318, 0x20000080 },
716 	{ 0x5fffc, 0x20000080 },
717 	{ 0x5031c, 0x20000080 },
718 	{ 0x5fffc, 0x20000080 },
719 	{ 0x50320, 0x20000080 },
720 	{ 0x5fffc, 0x20000080 },
721 	{ 0x50324, 0x20000080 },
722 	{ 0x5fffc, 0x20000080 },
723 	{ 0x50328, 0x20000080 },
724 	{ 0x5fffc, 0x20000080 },
725 	{ 0x5032c, 0x20000080 },
726 	{ 0x5fffc, 0x20000080 },
727 	{ 0x50330, 0x20000080 },
728 	{ 0x5fffc, 0x20000080 },
729 	{ 0x50334, 0x20000080 },
730 	{ 0x5fffc, 0x20000080 },
731 	{ 0x50338, 0x20000080 },
732 	{ 0x5fffc, 0x20000080 },
733 	{ 0x5033c, 0x20000080 },
734 	{ 0x5fffc, 0x20000080 },
735 	{ 0x50340, 0x20000080 },
736 	{ 0x5fffc, 0x20000080 },
737 	{ 0x50344, 0x20000080 },
738 	{ 0x5fffc, 0x20000080 },
739 	{ 0x50348, 0x20000080 },
740 	{ 0x5fffc, 0x20000080 },
741 	{ 0x5034c, 0x20000080 },
742 	{ 0x5fffc, 0x20000080 },
743 	{ 0x50350, 0x20000080 },
744 	{ 0x5fffc, 0x20000080 },
745 	{ 0x50354, 0x20000080 },
746 	{ 0x5fffc, 0x20000080 },
747 	{ 0x50358, 0x20000080 },
748 	{ 0x5fffc, 0x20000080 },
749 	{ 0x5035c, 0x20000080 },
750 	{ 0x5fffc, 0x20000080 },
751 	{ 0x50360, 0x20000080 },
752 	{ 0x5fffc, 0x20000080 },
753 	{ 0x50364, 0x20000080 },
754 	{ 0x5fffc, 0x20000080 },
755 	{ 0x50368, 0x20000080 },
756 	{ 0x5fffc, 0x20000080 },
757 	{ 0x5036c, 0x20000080 },
758 	{ 0x5fffc, 0x20000080 },
759 	{ 0x50370, 0x20000080 },
760 	{ 0x5fffc, 0x20000080 },
761 	{ 0x50374, 0x20000080 },
762 	{ 0x5fffc, 0x20000080 },
763 	{ 0x50378, 0x20000080 },
764 	{ 0x5fffc, 0x20000080 },
765 	{ 0x5037c, 0x20000080 },
766 };
767