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