| # 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 |