Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mdp_scale_tables.c
Go to the documentation of this file.
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 
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 
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 
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 
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 };