1a49e7e81SThomas Zimmermann# SPDX-License-Identifier: GPL-2.0-only 2a49e7e81SThomas Zimmermann 3a49e7e81SThomas Zimmermannconfig DRM_CLIENT_LIB 4a49e7e81SThomas Zimmermann tristate 5a49e7e81SThomas Zimmermann depends on DRM 6a49e7e81SThomas Zimmermann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 7a49e7e81SThomas Zimmermann select FB_CORE if DRM_FBDEV_EMULATION 8a49e7e81SThomas Zimmermann help 9a49e7e81SThomas Zimmermann This option enables the DRM client library and selects all 10a49e7e81SThomas Zimmermann modules and components according to the enabled clients. 11a49e7e81SThomas Zimmermann 12a49e7e81SThomas Zimmermannconfig DRM_CLIENT_SELECTION 13a49e7e81SThomas Zimmermann tristate 14a49e7e81SThomas Zimmermann depends on DRM 15f7b42442SJocelyn Falempe select DRM_CLIENT_LIB if DRM_CLIENT_LOG 16a49e7e81SThomas Zimmermann select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION 17a49e7e81SThomas Zimmermann help 18a49e7e81SThomas Zimmermann Drivers that support in-kernel DRM clients have to select this 19a49e7e81SThomas Zimmermann option. 20a49e7e81SThomas Zimmermann 21a49e7e81SThomas Zimmermannconfig DRM_CLIENT_SETUP 22a49e7e81SThomas Zimmermann bool 23a49e7e81SThomas Zimmermann depends on DRM_CLIENT_SELECTION 24a49e7e81SThomas Zimmermann help 25a49e7e81SThomas Zimmermann Enables the DRM client selection. DRM drivers that support the 26a49e7e81SThomas Zimmermann default clients should select DRM_CLIENT_SELECTION instead. 27a49e7e81SThomas Zimmermann 28a49e7e81SThomas Zimmermannmenu "Supported DRM clients" 29a49e7e81SThomas Zimmermann depends on DRM_CLIENT_SELECTION 30a49e7e81SThomas Zimmermann 31a49e7e81SThomas Zimmermannconfig DRM_FBDEV_EMULATION 32a49e7e81SThomas Zimmermann bool "Enable legacy fbdev support for your modesetting driver" 33a49e7e81SThomas Zimmermann depends on DRM_CLIENT_SELECTION 34a49e7e81SThomas Zimmermann select DRM_CLIENT 35a49e7e81SThomas Zimmermann select DRM_CLIENT_SETUP 36a49e7e81SThomas Zimmermann select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 37a49e7e81SThomas Zimmermann default FB 38a49e7e81SThomas Zimmermann help 39a49e7e81SThomas Zimmermann Choose this option if you have a need for the legacy fbdev 40a49e7e81SThomas Zimmermann support. Note that this support also provides the linux console 41a49e7e81SThomas Zimmermann support on top of your modesetting driver. 42a49e7e81SThomas Zimmermann 43a49e7e81SThomas Zimmermann If in doubt, say "Y". 44a49e7e81SThomas Zimmermann 45a49e7e81SThomas Zimmermannconfig DRM_FBDEV_OVERALLOC 46a49e7e81SThomas Zimmermann int "Overallocation of the fbdev buffer" 47a49e7e81SThomas Zimmermann depends on DRM_FBDEV_EMULATION 48a49e7e81SThomas Zimmermann default 100 49a49e7e81SThomas Zimmermann help 50a49e7e81SThomas Zimmermann Defines the fbdev buffer overallocation in percent. Default 51a49e7e81SThomas Zimmermann is 100. Typical values for double buffering will be 200, 52a49e7e81SThomas Zimmermann triple buffering 300. 53a49e7e81SThomas Zimmermann 54a49e7e81SThomas Zimmermannconfig DRM_FBDEV_LEAK_PHYS_SMEM 55a49e7e81SThomas Zimmermann bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" 56a49e7e81SThomas Zimmermann depends on DRM_FBDEV_EMULATION && EXPERT 57a49e7e81SThomas Zimmermann default n 58a49e7e81SThomas Zimmermann help 59a49e7e81SThomas Zimmermann In order to keep user-space compatibility, we want in certain 60a49e7e81SThomas Zimmermann use-cases to keep leaking the fbdev physical address to the 61a49e7e81SThomas Zimmermann user-space program handling the fbdev buffer. 62a49e7e81SThomas Zimmermann This affects, not only, Amlogic, Allwinner or Rockchip devices 63a49e7e81SThomas Zimmermann with ARM Mali GPUs using a userspace Blob. 64a49e7e81SThomas Zimmermann This option is not supported by upstream developers and should be 65a49e7e81SThomas Zimmermann removed as soon as possible and be considered as a broken and 66a49e7e81SThomas Zimmermann legacy behaviour from a modern fbdev device driver. 67a49e7e81SThomas Zimmermann 68a49e7e81SThomas Zimmermann Please send any bug reports when using this to your proprietary 69a49e7e81SThomas Zimmermann software vendor that requires this. 70a49e7e81SThomas Zimmermann 71a49e7e81SThomas Zimmermann If in doubt, say "N" or spread the word to your closed source 72a49e7e81SThomas Zimmermann library vendor. 73a49e7e81SThomas Zimmermann 74f7b42442SJocelyn Falempeconfig DRM_CLIENT_LOG 75f7b42442SJocelyn Falempe bool "Print the kernel boot message on the screen" 76f7b42442SJocelyn Falempe depends on DRM_CLIENT_SELECTION 77f7b42442SJocelyn Falempe select DRM_CLIENT 78f7b42442SJocelyn Falempe select DRM_CLIENT_SETUP 79f7b42442SJocelyn Falempe select DRM_DRAW 80*322a00efSArnd Bergmann select FONT_SUPPORT 81f7b42442SJocelyn Falempe help 82f7b42442SJocelyn Falempe This enable a drm logger, that will print the kernel messages to the 83f7b42442SJocelyn Falempe screen until the userspace is ready to take over. 84f7b42442SJocelyn Falempe 85f7b42442SJocelyn Falempe If you only need logs, but no terminal, or if you prefer userspace 86f7b42442SJocelyn Falempe terminal, say "Y". 87f7b42442SJocelyn Falempe 88f7b42442SJocelyn Falempechoice 89f7b42442SJocelyn Falempe prompt "Default DRM Client" 90f7b42442SJocelyn Falempe depends on DRM_CLIENT_SELECTION 91bc0e01b5SJocelyn Falempe depends on DRM_FBDEV_EMULATION || DRM_CLIENT_LOG 92f7b42442SJocelyn Falempe default DRM_CLIENT_DEFAULT_FBDEV 93f7b42442SJocelyn Falempe help 94f7b42442SJocelyn Falempe Selects the default drm client. 95f7b42442SJocelyn Falempe 96f7b42442SJocelyn Falempe The selection made here can be overridden by using the kernel 97f7b42442SJocelyn Falempe command line 'drm_client_lib.active=fbdev' option. 98f7b42442SJocelyn Falempe 99f7b42442SJocelyn Falempeconfig DRM_CLIENT_DEFAULT_FBDEV 100f7b42442SJocelyn Falempe bool "fbdev" 101f7b42442SJocelyn Falempe depends on DRM_FBDEV_EMULATION 102f7b42442SJocelyn Falempe help 103f7b42442SJocelyn Falempe Use fbdev emulation as default drm client. This is needed to have 104f7b42442SJocelyn Falempe fbcon on top of a drm driver. 105f7b42442SJocelyn Falempe 106f7b42442SJocelyn Falempeconfig DRM_CLIENT_DEFAULT_LOG 107f7b42442SJocelyn Falempe bool "log" 108f7b42442SJocelyn Falempe depends on DRM_CLIENT_LOG 109f7b42442SJocelyn Falempe help 110f7b42442SJocelyn Falempe Use drm log as default drm client. This will display boot logs on the 111f7b42442SJocelyn Falempe screen, but doesn't implement a full terminal. For that you will need 112f7b42442SJocelyn Falempe a userspace terminal using drm/kms. 113f7b42442SJocelyn Falempe 114f7b42442SJocelyn Falempeendchoice 115f7b42442SJocelyn Falempe 116f7b42442SJocelyn Falempeconfig DRM_CLIENT_DEFAULT 117f7b42442SJocelyn Falempe string 118f7b42442SJocelyn Falempe depends on DRM_CLIENT 119f7b42442SJocelyn Falempe default "fbdev" if DRM_CLIENT_DEFAULT_FBDEV 120f7b42442SJocelyn Falempe default "log" if DRM_CLIENT_DEFAULT_LOG 121f7b42442SJocelyn Falempe default "" 122f7b42442SJocelyn Falempe 123a49e7e81SThomas Zimmermannendmenu 124