OSDN Git Service

drm/i915/dsi: Remove readback of panel orientation on BYT / CHT
authorHans de Goede <hdegoede@redhat.com>
Fri, 28 Feb 2020 11:41:09 +0000 (12:41 +0100)
committerHans de Goede <hdegoede@redhat.com>
Mon, 2 Mar 2020 13:01:42 +0000 (14:01 +0100)
commit1ca002adce955d9f0769e8830a62a50fb039d09d
treefee8bac906d85685c1293e00c08ef8314032a73f
parent40d4f2f79081d5260e293957e3ff0e475c1db45e
drm/i915/dsi: Remove readback of panel orientation on BYT / CHT

Commit 82daca297506 ("drm/i915: Add "panel orientation" property to the
panel connector, v6.") uses hardware state readback to determine if the
GOP is rotating the image by 180 degrees to compensate for upside-down
mounted panels.

When I wrote that commit I tried to find the VBT bits the GOP used to
decide to rotate the image, but I could not find them. Back then I only
looked at the rotation bits in struct mipi_config and these read 0 on
the 1 BYT device I have with an upside-down mounted panel
(a GP-electronic T701 tablet). While working on a similar problem on a
BYT device with an eDP panel I noticed that the new
intel_dsi_get_panel_orientation() helper which gets used on newer
SoCs (Apollo-Lake, etc.) checks the rotate_180 bit in the
BDB_GENERAL_FEATURES VBT block.

I've checked and this bit indeed is set on the GP-electronic T701 tablet,
so using the generic intel_dsi_get_panel_orientation() helper there does
the right thing without needing any extra readback of hw state.

This commit removes the special handling of the panel orientation for
DSI panels on BYT/CHT devices, bringing the handling in line with the
handling of DSI panels on other devices.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200228114110.187792-2-hdegoede@redhat.com
drivers/gpu/drm/i915/display/vlv_dsi.c