linux/drivers/video/msm/mdp_scale_tables.c
<<
>>
Prefs
   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
  19struct 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
  86static 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
 153static 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
 220static 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
 287static 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
 354struct 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
 361static 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
 428static 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
 495static 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
 562static 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
 629struct 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
 636struct 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