[PATCHv6 0/4] omapdrm: DSI command mode panel support

From: Sebastian Reichel
Date: Thu May 23 2019 - 16:11:02 EST


Hi,

Here is another round of the DSI command mode panel patchset
integrating the feedback from PATCHv5. The patches are based
on v5.2-rc1 tag. It does not contain the patches required for
OMAP3 support (it needs a workaround for a hardware bug) and
for automatic display rotation. They should get their own series,
once after everything has been moved to DRM panel API. I think
DRM panel conversion should happen _after_ this series, since
otherwise there is a high risk of bricking DSI support completely.
I already started a WIP branch for converting DSI to the DRM panel
API on top of this patchset.

Tested on Droid 4:
* Display blanking
- automatic backlight blanking is missing (not handled by DSI)
* Framebuffer Console, updated at 1Hz due to blinking cursor
* Xorg 1.19 with modesetting driver
* Weston 5.0 with DRM backend
* kmstest (static image)
* No updates send when nothing needs to be sent

Known issues:
* OMAP3 is untested and most likely broken due to missing
workaround(s) for hardware bugs.
* Weston 5.0 with fbdev backend does not work, since it
uses neither page flip nor dirty ioctl. You need to use
the drm backend.

Changes since PATCHv5:
* Rebased to v5.2-rc1
* Simplified omap_framebuffer_dirty() by using
drm_for_each_crtc()

Changes since PATCHv4:
* Apply Acked-/Tested-by received from Tony and Pavel
* Fix spelling/optimize commit messages
* Use proper multi-line comments
* Restructure patch 4: move the whole HDMI block into a
static subfunction, that is only called when output
type is HDMI. Also drop the incorrect check for DVI.

Changes since PATCHv3:
* Drop all Tested/Acked-by tags
* Drop the rotation patches for now
* Rebase to 4.20-rc1 + fixes from Laurent and Tony
* Add fixes for DSI regressions introduced in 4.20-rc1
* Store info update manual update mode in omap_crtc_state
* Lock modesetting in omap_framebuffer_dirty
* Directly loop through CRTCs instead of connectors in dirty function
* Properly refresh display during page flips and get Weston working
* Add more comments about implementation details

Changes since PATCHv2:
* Drop omap3 quirk patch (OMAP3 should get its own mini-series)
* Rebase to current linux-next
* Use existing 'rotation' DT property to set DRM orientation hint
* Add Tested-by from Tony

Changes since PATCHv1:
* Drop patches, that were queued by Tomi
* Rebase to current master
* Rework the omap3 workaround patch to only affect omap3
* Add orientation DRM property support

-- Sebastian

Sebastian Reichel (4):
drm/omap: use DRM_DEBUG_DRIVER instead of CORE
drm/omap: don't check dispc timings for DSI
drm/omap: add framedone interrupt support
drm/omap: add support for manually updated displays

drivers/gpu/drm/omapdrm/omap_crtc.c | 182 ++++++++++++++++++++++++++--
drivers/gpu/drm/omapdrm/omap_crtc.h | 2 +
drivers/gpu/drm/omapdrm/omap_drv.h | 4 +-
drivers/gpu/drm/omapdrm/omap_fb.c | 19 +++
drivers/gpu/drm/omapdrm/omap_irq.c | 25 ++++
drivers/gpu/drm/omapdrm/omap_irq.h | 1 +
6 files changed, 222 insertions(+), 11 deletions(-)

--
2.20.1