Skip to content

Commit 112c352

Browse files
pccdanvet
authored andcommitted
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 7e4e589 and 0fb8125 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 <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 5af0864 commit 112c352

File tree

6 files changed

+1389
-0
lines changed

6 files changed

+1389
-0
lines changed

MAINTAINERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,6 +1460,11 @@ S: Odd Fixes
14601460
F: drivers/amba/
14611461
F: include/linux/amba/bus.h
14621462

1463+
ARM PRIMECELL CLCD PL110 DRIVER
1464+
M: Russell King <[email protected]>
1465+
S: Odd Fixes
1466+
F: drivers/video/fbdev/amba-clcd.*
1467+
14631468
ARM PRIMECELL KMI PL050 DRIVER
14641469
M: Russell King <[email protected]>
14651470
S: Odd Fixes

drivers/video/fbdev/Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,26 @@ config FB_PM2_FIFO_DISCONNECT
272272
help
273273
Support the Permedia2 FIFO disconnect feature.
274274

275+
config FB_ARMCLCD
276+
tristate "ARM PrimeCell PL110 support"
277+
depends on ARM || ARM64 || COMPILE_TEST
278+
depends on FB && ARM_AMBA && HAS_IOMEM
279+
select FB_CFB_FILLRECT
280+
select FB_CFB_COPYAREA
281+
select FB_CFB_IMAGEBLIT
282+
select FB_MODE_HELPERS if OF
283+
select VIDEOMODE_HELPERS if OF
284+
select BACKLIGHT_CLASS_DEVICE if OF
285+
help
286+
This framebuffer device driver is for the ARM PrimeCell PL110
287+
Colour LCD controller. ARM PrimeCells provide the building
288+
blocks for System on a Chip devices.
289+
290+
If you want to compile this as a module (=code which can be
291+
inserted into and removed from the running kernel), say M
292+
here and read <file:Documentation/kbuild/modules.rst>. The module
293+
will be called amba-clcd.
294+
275295
config FB_ACORN
276296
bool "Acorn VIDC support"
277297
depends on (FB = y) && ARM && ARCH_ACORN

drivers/video/fbdev/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ obj-$(CONFIG_FB_HIT) += hitfb.o
7575
obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o
7676
obj-$(CONFIG_FB_PVR2) += pvr2fb.o
7777
obj-$(CONFIG_FB_VOODOO1) += sstfb.o
78+
obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o
7879
obj-$(CONFIG_FB_GOLDFISH) += goldfishfb.o
7980
obj-$(CONFIG_FB_68328) += 68328fb.o
8081
obj-$(CONFIG_FB_GBE) += gbefb.o

0 commit comments

Comments
 (0)