xref: /linux/drivers/gpu/drm/clients/Kconfig (revision a49e7e8125a112d5dc63ff024191cd264c6260a8)
1# SPDX-License-Identifier: GPL-2.0-only
2
3config DRM_CLIENT_LIB
4	tristate
5	depends on DRM
6	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
7	select FB_CORE if DRM_FBDEV_EMULATION
8	help
9	  This option enables the DRM client library and selects all
10	  modules and components according to the enabled clients.
11
12config DRM_CLIENT_SELECTION
13	tristate
14	depends on DRM
15	select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
16	help
17	  Drivers that support in-kernel DRM clients have to select this
18	  option.
19
20config DRM_CLIENT_SETUP
21	bool
22	depends on DRM_CLIENT_SELECTION
23	help
24	  Enables the DRM client selection. DRM drivers that support the
25	  default clients should select DRM_CLIENT_SELECTION instead.
26
27menu "Supported DRM clients"
28	depends on DRM_CLIENT_SELECTION
29
30config DRM_FBDEV_EMULATION
31	bool "Enable legacy fbdev support for your modesetting driver"
32	depends on DRM_CLIENT_SELECTION
33	select DRM_CLIENT
34	select DRM_CLIENT_SETUP
35	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
36	default FB
37	help
38	  Choose this option if you have a need for the legacy fbdev
39	  support. Note that this support also provides the linux console
40	  support on top of your modesetting driver.
41
42	  If in doubt, say "Y".
43
44config DRM_FBDEV_OVERALLOC
45	int "Overallocation of the fbdev buffer"
46	depends on DRM_FBDEV_EMULATION
47	default 100
48	help
49	  Defines the fbdev buffer overallocation in percent. Default
50	  is 100. Typical values for double buffering will be 200,
51	  triple buffering 300.
52
53config DRM_FBDEV_LEAK_PHYS_SMEM
54	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
55	depends on DRM_FBDEV_EMULATION && EXPERT
56	default n
57	help
58	  In order to keep user-space compatibility, we want in certain
59	  use-cases to keep leaking the fbdev physical address to the
60	  user-space program handling the fbdev buffer.
61	  This affects, not only, Amlogic, Allwinner or Rockchip devices
62	  with ARM Mali GPUs using a userspace Blob.
63	  This option is not supported by upstream developers and should be
64	  removed as soon as possible and be considered as a broken and
65	  legacy behaviour from a modern fbdev device driver.
66
67	  Please send any bug reports when using this to your proprietary
68	  software vendor that requires this.
69
70	  If in doubt, say "N" or spread the word to your closed source
71	  library vendor.
72
73endmenu
74