drm/i915: Determine DSI panel orientation from VBT
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 22 Oct 2018 14:20:15 +0000 (17:20 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 13 Nov 2018 15:20:32 +0000 (17:20 +0200)
commitc1cd5b24d6cebfbfe5aca7e989ed98d773a696ed
tree5d7d494917acd6348ed486f138e605d905c34f3d
parent86ef615fa11b57ac44ee895136f05712ea905a39
drm/i915: Determine DSI panel orientation from VBT

VBT appears to have two (or possibly three) ways to indicate the panel
rotation. The first is in the MIPI config block, but that apparenly
usually (maybe always?) indicates 0 degrees despite the actual panel
orientation. The second way to indicate this is in the general features
block, which can just indicate whether 180 degress rotation is used.
The third might be a separate rotation data block, but that is not
at all documented so who knows what it may contain.

Let's try the first two. We first try the DSI specicic VBT
information, and it it doesn't look trustworthy (ie. indicates
0 degrees) we fall back to the 180 degree thing. Just to avoid too
many changes in one go we shall also keep the hardware readout path
for now.

If this works for more than just my VLV FFRD the question becomes
how many of the panel orientation quirks are now redundant?

v2: Move the code into intel_dsi.c (Jani)

Cc: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181022142015.4026-1-ville.syrjala@linux.intel.com
Tested-by: Hans de Goede <hdegoede@redhat.com>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_dsi.c
drivers/gpu/drm/i915/intel_dsi.h
drivers/gpu/drm/i915/vlv_dsi.c