Partially revert "video: fbdev: amba-clcd: Retire elder CLCD driver"
authorPeter Collingbourne <pcc@google.com>
Tue, 29 Sep 2020 19:53:44 +0000 (12:53 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 30 Sep 2020 14:37:39 +0000 (16:37 +0200)
commit112c35237c726cb2c6eed32db660f285938fb666
treea5a9f538e5c59daba80bfbcc9de7b9197e13d0df
parent5af08640795b2b9a940c9266c0260455377ae262
Partially revert "video: fbdev: amba-clcd: Retire elder CLCD driver"

Also partially revert the follow-up change "drm: pl111: Absorb the
external register header".

This reverts the parts of commits
7e4e589db76a3cf4c1f534eb5a09cc6422766b93 and
0fb8125635e8eb5483fb095f98dcf0651206a7b8 that touch paths outside
of drivers/gpu/drm/pl111.

The fbdev driver is used by Android's FVP configuration. Using the
DRM driver together with DRM's fbdev emulation results in a failure
to boot Android. The root cause is that Android's generic fbdev
userspace driver relies on the ability to set the pixel format via
FBIOPUT_VSCREENINFO, which is not supported by fbdev emulation.

There have been other less critical behavioral differences identified
between the fbdev driver and the DRM driver with fbdev emulation. The
DRM driver exposes different values for the panel's width, height and
refresh rate, and the DRM driver fails a FBIOPUT_VSCREENINFO syscall
with yres_virtual greater than the maximum supported value instead
of letting the syscall succeed and setting yres_virtual based on yres.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200929195344.2219796-1-pcc@google.com
MAINTAINERS
drivers/video/fbdev/Kconfig
drivers/video/fbdev/Makefile
drivers/video/fbdev/amba-clcd.c [new file with mode: 0644]
include/linux/amba/clcd-regs.h [new file with mode: 0644]
include/linux/amba/clcd.h [new file with mode: 0644]