| # SPDX-License-Identifier: GPL-2.0-only | |
| config DRM_CLIENT_LIB | |
| tristate | |
| depends on DRM | |
| select DRM_KMS_HELPER if DRM_FBDEV_EMULATION | |
| select FB_CORE if DRM_FBDEV_EMULATION | |
| help | |
| This option enables the DRM client library and selects all | |
| modules and components according to the enabled clients. | |
| config DRM_CLIENT_SELECTION | |
| tristate | |
| depends on DRM | |
| select DRM_CLIENT_LIB if DRM_CLIENT_LOG | |
| select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION | |
| help | |
| Drivers that support in-kernel DRM clients have to select this | |
| option. | |
| config DRM_CLIENT_SETUP | |
| bool | |
| depends on DRM_CLIENT_SELECTION | |
| help | |
| Enables the DRM client selection. DRM drivers that support the | |
| default clients should select DRM_CLIENT_SELECTION instead. | |
| menu "Supported DRM clients" | |
| depends on DRM_CLIENT_SELECTION | |
| config DRM_FBDEV_EMULATION | |
| bool "Enable legacy fbdev support for your modesetting driver" | |
| depends on DRM_CLIENT_SELECTION | |
| select DRM_CLIENT | |
| select DRM_CLIENT_SETUP | |
| select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE | |
| default FB | |
| help | |
| Choose this option if you have a need for the legacy fbdev | |
| support. Note that this support also provides the linux console | |
| support on top of your modesetting driver. | |
| If in doubt, say "Y". | |
| config DRM_FBDEV_OVERALLOC | |
| int "Overallocation of the fbdev buffer" | |
| depends on DRM_FBDEV_EMULATION | |
| default 100 | |
| help | |
| Defines the fbdev buffer overallocation in percent. Default | |
| is 100. Typical values for double buffering will be 200, | |
| triple buffering 300. | |
| config DRM_FBDEV_LEAK_PHYS_SMEM | |
| bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" | |
| depends on DRM_FBDEV_EMULATION && EXPERT | |
| default n | |
| help | |
| In order to keep user-space compatibility, we want in certain | |
| use-cases to keep leaking the fbdev physical address to the | |
| user-space program handling the fbdev buffer. | |
| This affects, not only, Amlogic, Allwinner or Rockchip devices | |
| with ARM Mali GPUs using a userspace Blob. | |
| This option is not supported by upstream developers and should be | |
| removed as soon as possible and be considered as a broken and | |
| legacy behaviour from a modern fbdev device driver. | |
| Please send any bug reports when using this to your proprietary | |
| software vendor that requires this. | |
| If in doubt, say "N" or spread the word to your closed source | |
| library vendor. | |
| config DRM_CLIENT_LOG | |
| bool "Print the kernel boot message on the screen" | |
| depends on DRM_CLIENT_SELECTION | |
| select DRM_CLIENT | |
| select DRM_CLIENT_SETUP | |
| select DRM_DRAW | |
| select FONT_SUPPORT | |
| help | |
| This enable a drm logger, that will print the kernel messages to the | |
| screen until the userspace is ready to take over. | |
| If you only need logs, but no terminal, or if you prefer userspace | |
| terminal, say "Y". | |
| choice | |
| prompt "Default DRM Client" | |
| depends on DRM_CLIENT_SELECTION | |
| depends on DRM_FBDEV_EMULATION || DRM_CLIENT_LOG | |
| default DRM_CLIENT_DEFAULT_FBDEV | |
| help | |
| Selects the default drm client. | |
| The selection made here can be overridden by using the kernel | |
| command line 'drm_client_lib.active=fbdev' option. | |
| config DRM_CLIENT_DEFAULT_FBDEV | |
| bool "fbdev" | |
| depends on DRM_FBDEV_EMULATION | |
| help | |
| Use fbdev emulation as default drm client. This is needed to have | |
| fbcon on top of a drm driver. | |
| config DRM_CLIENT_DEFAULT_LOG | |
| bool "log" | |
| depends on DRM_CLIENT_LOG | |
| help | |
| Use drm log as default drm client. This will display boot logs on the | |
| screen, but doesn't implement a full terminal. For that you will need | |
| a userspace terminal using drm/kms. | |
| endchoice | |
| config DRM_CLIENT_DEFAULT | |
| string | |
| depends on DRM_CLIENT | |
| default "fbdev" if DRM_CLIENT_DEFAULT_FBDEV | |
| default "log" if DRM_CLIENT_DEFAULT_LOG | |
| default "" | |
| endmenu |