vlv_dsi: Wrong Vtotal value on Asus TF103C leads to the last line being show at top of screen
The Asus TF103C is a x86 tablet which ship with Android as factory OS.
The factory OS BSP style kernel on these tablets does not use the normal x86 hw autodetection instead it hardcodes a whole bunch of things including using panel drivers instead of relying on VBT MIPI sequences to turn the panel/backlight on/off.
The normal i915 driver (which does not use panel drivers) mostly works since the VBT still needs to contain valid info for the GOP, but there is a bug in the Vtotal value in the VBT, this wrong Vtotal value causes the last line of the framebuffer to be displayed as the first line on the LCD.
For Android this is not an issue, because while Android is using the EFI GOP for display during boot the bottom and top of the screen are both black; and once the custom BSP kernel takes over then the used panel driver uses its own hardcoded timings:
VBT (broken, last line at top) "1280x800": 60 67700 1280 1312 1328 1376 800 808 812 820 0x8 0xa
Android panel-driver (good) "1280x800": 60 67700 1280 1312 1328 1376 800 808 812 816 0x8 0xa
Here are drm.debug=0xe kernel logs and VBT info for this tablet, note the kernel logs are from a kernel which already contains the suggested fix for this from: https://lore.kernel.org/intel-gfx/20230916125455.237325-1-hdegoede@redhat.com