Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

viafb: kill lcd_panel_id

This patch removes all internal uses of another mostly artificial
value. It does duplicate the information of the maximum resolution and
it is not flexible as only a few resolutions exist. Hence it is better
to remove it and clean the mess up.
No runtime change expected.

Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>

+13 -107
-2
drivers/video/via/chip.h
··· 163 163 int v_active; 164 164 int bpp; 165 165 int refresh_rate; 166 - int lcd_panel_id; 167 166 int lcd_panel_hres; 168 167 int lcd_panel_vres; 169 168 int display_method; ··· 187 188 }; 188 189 189 190 struct VT1636_DPA_SETTING { 190 - int PanelSizeID; 191 191 u8 CLK_SEL_ST1; 192 192 u8 CLK_SEL_ST2; 193 193 };
-50
drivers/video/via/lcd.c
··· 97 97 DEBUG_MSG(KERN_INFO "viafb_init_lcd_size()\n"); 98 98 99 99 fp_id_to_vindex(viafb_lcd_panel_id); 100 - viaparinfo->lvds_setting_info2->lcd_panel_id = 101 - viaparinfo->lvds_setting_info->lcd_panel_id; 102 100 viaparinfo->lvds_setting_info2->lcd_panel_hres = 103 101 viaparinfo->lvds_setting_info->lcd_panel_hres; 104 102 viaparinfo->lvds_setting_info2->lcd_panel_vres = ··· 203 205 case 0x0: 204 206 viaparinfo->lvds_setting_info->lcd_panel_hres = 640; 205 207 viaparinfo->lvds_setting_info->lcd_panel_vres = 480; 206 - viaparinfo->lvds_setting_info->lcd_panel_id = 207 - LCD_PANEL_ID0_640X480; 208 208 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 209 209 viaparinfo->lvds_setting_info->LCDDithering = 1; 210 210 break; 211 211 case 0x1: 212 212 viaparinfo->lvds_setting_info->lcd_panel_hres = 800; 213 213 viaparinfo->lvds_setting_info->lcd_panel_vres = 600; 214 - viaparinfo->lvds_setting_info->lcd_panel_id = 215 - LCD_PANEL_ID1_800X600; 216 214 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 217 215 viaparinfo->lvds_setting_info->LCDDithering = 1; 218 216 break; 219 217 case 0x2: 220 218 viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; 221 219 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 222 - viaparinfo->lvds_setting_info->lcd_panel_id = 223 - LCD_PANEL_ID2_1024X768; 224 220 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 225 221 viaparinfo->lvds_setting_info->LCDDithering = 1; 226 222 break; 227 223 case 0x3: 228 224 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 229 225 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 230 - viaparinfo->lvds_setting_info->lcd_panel_id = 231 - LCD_PANEL_ID3_1280X768; 232 226 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 233 227 viaparinfo->lvds_setting_info->LCDDithering = 1; 234 228 break; 235 229 case 0x4: 236 230 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 237 231 viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; 238 - viaparinfo->lvds_setting_info->lcd_panel_id = 239 - LCD_PANEL_ID4_1280X1024; 240 232 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 241 233 viaparinfo->lvds_setting_info->LCDDithering = 1; 242 234 break; 243 235 case 0x5: 244 236 viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; 245 237 viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; 246 - viaparinfo->lvds_setting_info->lcd_panel_id = 247 - LCD_PANEL_ID5_1400X1050; 248 238 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 249 239 viaparinfo->lvds_setting_info->LCDDithering = 1; 250 240 break; 251 241 case 0x6: 252 242 viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; 253 243 viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; 254 - viaparinfo->lvds_setting_info->lcd_panel_id = 255 - LCD_PANEL_ID6_1600X1200; 256 244 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 257 245 viaparinfo->lvds_setting_info->LCDDithering = 1; 258 246 break; 259 247 case 0x8: 260 248 viaparinfo->lvds_setting_info->lcd_panel_hres = 800; 261 249 viaparinfo->lvds_setting_info->lcd_panel_vres = 480; 262 - viaparinfo->lvds_setting_info->lcd_panel_id = 263 - LCD_PANEL_IDA_800X480; 264 250 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 265 251 viaparinfo->lvds_setting_info->LCDDithering = 1; 266 252 break; 267 253 case 0x9: 268 254 viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; 269 255 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 270 - viaparinfo->lvds_setting_info->lcd_panel_id = 271 - LCD_PANEL_ID2_1024X768; 272 256 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 273 257 viaparinfo->lvds_setting_info->LCDDithering = 1; 274 258 break; 275 259 case 0xA: 276 260 viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; 277 261 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 278 - viaparinfo->lvds_setting_info->lcd_panel_id = 279 - LCD_PANEL_ID2_1024X768; 280 262 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 281 263 viaparinfo->lvds_setting_info->LCDDithering = 0; 282 264 break; 283 265 case 0xB: 284 266 viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; 285 267 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 286 - viaparinfo->lvds_setting_info->lcd_panel_id = 287 - LCD_PANEL_ID2_1024X768; 288 268 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 289 269 viaparinfo->lvds_setting_info->LCDDithering = 0; 290 270 break; 291 271 case 0xC: 292 272 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 293 273 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 294 - viaparinfo->lvds_setting_info->lcd_panel_id = 295 - LCD_PANEL_ID3_1280X768; 296 274 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 297 275 viaparinfo->lvds_setting_info->LCDDithering = 0; 298 276 break; 299 277 case 0xD: 300 278 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 301 279 viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; 302 - viaparinfo->lvds_setting_info->lcd_panel_id = 303 - LCD_PANEL_ID4_1280X1024; 304 280 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 305 281 viaparinfo->lvds_setting_info->LCDDithering = 0; 306 282 break; 307 283 case 0xE: 308 284 viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; 309 285 viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; 310 - viaparinfo->lvds_setting_info->lcd_panel_id = 311 - LCD_PANEL_ID5_1400X1050; 312 286 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 313 287 viaparinfo->lvds_setting_info->LCDDithering = 0; 314 288 break; 315 289 case 0xF: 316 290 viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; 317 291 viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; 318 - viaparinfo->lvds_setting_info->lcd_panel_id = 319 - LCD_PANEL_ID6_1600X1200; 320 292 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 321 293 viaparinfo->lvds_setting_info->LCDDithering = 0; 322 294 break; 323 295 case 0x10: 324 296 viaparinfo->lvds_setting_info->lcd_panel_hres = 1366; 325 297 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 326 - viaparinfo->lvds_setting_info->lcd_panel_id = 327 - LCD_PANEL_ID7_1366X768; 328 298 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 329 299 viaparinfo->lvds_setting_info->LCDDithering = 0; 330 300 break; 331 301 case 0x11: 332 302 viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; 333 303 viaparinfo->lvds_setting_info->lcd_panel_vres = 600; 334 - viaparinfo->lvds_setting_info->lcd_panel_id = 335 - LCD_PANEL_ID8_1024X600; 336 304 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 337 305 viaparinfo->lvds_setting_info->LCDDithering = 1; 338 306 break; 339 307 case 0x12: 340 308 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 341 309 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 342 - viaparinfo->lvds_setting_info->lcd_panel_id = 343 - LCD_PANEL_ID3_1280X768; 344 310 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 345 311 viaparinfo->lvds_setting_info->LCDDithering = 1; 346 312 break; 347 313 case 0x13: 348 314 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 349 315 viaparinfo->lvds_setting_info->lcd_panel_vres = 800; 350 - viaparinfo->lvds_setting_info->lcd_panel_id = 351 - LCD_PANEL_ID9_1280X800; 352 316 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 353 317 viaparinfo->lvds_setting_info->LCDDithering = 1; 354 318 break; 355 319 case 0x14: 356 320 viaparinfo->lvds_setting_info->lcd_panel_hres = 1360; 357 321 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 358 - viaparinfo->lvds_setting_info->lcd_panel_id = 359 - LCD_PANEL_IDB_1360X768; 360 322 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 361 323 viaparinfo->lvds_setting_info->LCDDithering = 0; 362 324 break; 363 325 case 0x15: 364 326 viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; 365 327 viaparinfo->lvds_setting_info->lcd_panel_vres = 768; 366 - viaparinfo->lvds_setting_info->lcd_panel_id = 367 - LCD_PANEL_ID3_1280X768; 368 328 viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; 369 329 viaparinfo->lvds_setting_info->LCDDithering = 0; 370 330 break; 371 331 case 0x16: 372 332 viaparinfo->lvds_setting_info->lcd_panel_hres = 480; 373 333 viaparinfo->lvds_setting_info->lcd_panel_vres = 640; 374 - viaparinfo->lvds_setting_info->lcd_panel_id = 375 - LCD_PANEL_IDC_480X640; 376 334 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 377 335 viaparinfo->lvds_setting_info->LCDDithering = 1; 378 336 break; ··· 336 382 /* OLPC XO-1.5 panel */ 337 383 viaparinfo->lvds_setting_info->lcd_panel_hres = 1200; 338 384 viaparinfo->lvds_setting_info->lcd_panel_vres = 900; 339 - viaparinfo->lvds_setting_info->lcd_panel_id = 340 - LCD_PANEL_IDD_1200X900; 341 385 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 342 386 viaparinfo->lvds_setting_info->LCDDithering = 0; 343 387 break; 344 388 default: 345 389 viaparinfo->lvds_setting_info->lcd_panel_hres = 800; 346 390 viaparinfo->lvds_setting_info->lcd_panel_vres = 600; 347 - viaparinfo->lvds_setting_info->lcd_panel_id = 348 - LCD_PANEL_ID1_800X600; 349 391 viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; 350 392 viaparinfo->lvds_setting_info->LCDDithering = 1; 351 393 }
-23
drivers/video/via/tblDPASetting.c
··· 20 20 */ 21 21 22 22 #include "global.h" 23 - /* For VT3324: */ 24 - struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3324[] = { 25 - /* Panel ID, CLK_SEL_ST1[09], CLK_SEL_ST2[08] */ 26 - {LCD_PANEL_ID0_640X480, 0x00, 0x00}, /* For 640x480 */ 27 - {LCD_PANEL_ID1_800X600, 0x00, 0x00}, /* For 800x600 */ 28 - {LCD_PANEL_ID2_1024X768, 0x00, 0x00}, /* For 1024x768 */ 29 - {LCD_PANEL_ID3_1280X768, 0x00, 0x00}, /* For 1280x768 */ 30 - {LCD_PANEL_ID4_1280X1024, 0x00, 0x00}, /* For 1280x1024 */ 31 - {LCD_PANEL_ID5_1400X1050, 0x00, 0x00}, /* For 1400x1050 */ 32 - {LCD_PANEL_ID6_1600X1200, 0x0B, 0x03} /* For 1600x1200 */ 33 - }; 34 23 35 24 struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[] = { 36 25 /* ClkRange, DVP0, DVP0DataDriving, DVP0ClockDriving, DVP1, ··· 44 55 /* 15000000 < LCK/VCK will use this value */ 45 56 {DPA_CLK_RANGE_150M, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x00, 46 57 0x00}, 47 - }; 48 - 49 - /* For VT3327: */ 50 - struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3327[] = { 51 - /* Panel ID, CLK_SEL_ST1[09], CLK_SEL_ST2[08] */ 52 - {LCD_PANEL_ID0_640X480, 0x00, 0x00}, /* For 640x480 */ 53 - {LCD_PANEL_ID1_800X600, 0x00, 0x00}, /* For 800x600 */ 54 - {LCD_PANEL_ID2_1024X768, 0x00, 0x00}, /* For 1024x768 */ 55 - {LCD_PANEL_ID3_1280X768, 0x00, 0x00}, /* For 1280x768 */ 56 - {LCD_PANEL_ID4_1280X1024, 0x00, 0x00}, /* For 1280x1024 */ 57 - {LCD_PANEL_ID5_1400X1050, 0x00, 0x00}, /* For 1400x1050 */ 58 - {LCD_PANEL_ID6_1600X1200, 0x00, 0x00} /* For 1600x1200 */ 59 58 }; 60 59 61 60 struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[] = {
-2
drivers/video/via/tblDPASetting.h
··· 38 38 DPA_CLK_RANGE_150M 39 39 }; 40 40 41 - extern struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3324[7]; 42 41 extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[6]; 43 - extern struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3327[7]; 44 42 extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[]; 45 43 extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3364[6]; 46 44
+13 -30
drivers/video/via/vt1636.c
··· 167 167 return DPA_CLK_RANGE_150M; 168 168 } 169 169 170 - static int get_lvds_dpa_setting_index(int panel_size_id, 171 - struct VT1636_DPA_SETTING *p_vt1636_dpasetting_tbl, 172 - int tbl_size) 173 - { 174 - int i; 175 - 176 - for (i = 0; i < tbl_size; i++) { 177 - if (panel_size_id == p_vt1636_dpasetting_tbl->PanelSizeID) 178 - return i; 179 - 180 - p_vt1636_dpasetting_tbl++; 181 - } 182 - 183 - return 0; 184 - } 185 - 186 170 static void set_dpa_vt1636(struct lvds_setting_information 187 171 *plvds_setting_info, struct lvds_chip_information *plvds_chip_info, 188 172 struct VT1636_DPA_SETTING *p_vt1636_dpa_setting) ··· 190 206 struct lvds_setting_information *plvds_setting_info, 191 207 struct lvds_chip_information *plvds_chip_info) 192 208 { 193 - int index, size; 209 + struct VT1636_DPA_SETTING dpa = {0x00, 0x00}, dpa_16x12 = {0x0B, 0x03}, 210 + *pdpa; 211 + int index; 194 212 195 213 DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3324.\n"); 196 214 ··· 202 216 &GFX_DPA_SETTING_TBL_VT3324[index]); 203 217 204 218 /* LVDS Transmitter DPA settings: */ 205 - size = ARRAY_SIZE(VT1636_DPA_SETTING_TBL_VT3324); 206 - index = 207 - get_lvds_dpa_setting_index(plvds_setting_info->lcd_panel_id, 208 - VT1636_DPA_SETTING_TBL_VT3324, size); 209 - set_dpa_vt1636(plvds_setting_info, plvds_chip_info, 210 - &VT1636_DPA_SETTING_TBL_VT3324[index]); 219 + if (plvds_setting_info->lcd_panel_hres == 1600 && 220 + plvds_setting_info->lcd_panel_vres == 1200) 221 + pdpa = &dpa_16x12; 222 + else 223 + pdpa = &dpa; 224 + 225 + set_dpa_vt1636(plvds_setting_info, plvds_chip_info, pdpa); 211 226 } 212 227 213 228 void viafb_vt1636_patch_skew_on_vt3327( 214 229 struct lvds_setting_information *plvds_setting_info, 215 230 struct lvds_chip_information *plvds_chip_info) 216 231 { 217 - int index, size; 232 + struct VT1636_DPA_SETTING dpa = {0x00, 0x00}; 233 + int index; 218 234 219 235 DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3327.\n"); 220 236 ··· 226 238 &GFX_DPA_SETTING_TBL_VT3327[index]); 227 239 228 240 /* LVDS Transmitter DPA settings: */ 229 - size = ARRAY_SIZE(VT1636_DPA_SETTING_TBL_VT3327); 230 - index = 231 - get_lvds_dpa_setting_index(plvds_setting_info->lcd_panel_id, 232 - VT1636_DPA_SETTING_TBL_VT3327, size); 233 - set_dpa_vt1636(plvds_setting_info, plvds_chip_info, 234 - &VT1636_DPA_SETTING_TBL_VT3327[index]); 241 + set_dpa_vt1636(plvds_setting_info, plvds_chip_info, &dpa); 235 242 } 236 243 237 244 void viafb_vt1636_patch_skew_on_vt3364(