cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig (13672B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2#
      3# Drm device configuration
      4#
      5# This driver provides support for the
      6# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
      7#
      8menuconfig DRM
      9	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
     10	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
     11	select DRM_NOMODESET
     12	select DRM_PANEL_ORIENTATION_QUIRKS
     13	select HDMI
     14	select FB_CMDLINE
     15	select I2C
     16	select I2C_ALGOBIT
     17	select DMA_SHARED_BUFFER
     18	select SYNC_FILE
     19# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
     20# device and dmabuf fd. Let's make sure that is available for our userspace.
     21	select KCMP
     22	help
     23	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
     24	  introduced in XFree86 4.0. If you say Y here, you need to select
     25	  the module that's right for your graphics card from the list below.
     26	  These modules provide support for synchronization, security, and
     27	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
     28	  details.  You should also select and configure AGP
     29	  (/dev/agpgart) support if it is available for your platform.
     30
     31config DRM_MIPI_DBI
     32	tristate
     33	depends on DRM
     34
     35config DRM_MIPI_DSI
     36	bool
     37	depends on DRM
     38
     39config DRM_DEBUG_MM
     40	bool "Insert extra checks and debug info into the DRM range managers"
     41	default n
     42	depends on DRM=y
     43	depends on STACKTRACE_SUPPORT
     44	select STACKDEPOT
     45	help
     46	  Enable allocation tracking of memory manager and leak detection on
     47	  shutdown.
     48
     49	  Recommended for driver developers only.
     50
     51	  If in doubt, say "N".
     52
     53config DRM_DEBUG_SELFTEST
     54	tristate "kselftests for DRM"
     55	depends on DRM
     56	depends on DEBUG_KERNEL
     57	select PRIME_NUMBERS
     58	select DRM_DISPLAY_DP_HELPER
     59	select DRM_DISPLAY_HELPER
     60	select DRM_LIB_RANDOM
     61	select DRM_KMS_HELPER
     62	select DRM_BUDDY
     63	select DRM_EXPORT_FOR_TESTS if m
     64	default n
     65	help
     66	  This option provides kernel modules that can be used to run
     67	  various selftests on parts of the DRM api. This option is not
     68	  useful for distributions or general kernels, but only for kernel
     69	  developers working on DRM and associated drivers.
     70
     71	  If in doubt, say "N".
     72
     73config DRM_KMS_HELPER
     74	tristate
     75	depends on DRM
     76	help
     77	  CRTC helpers for KMS drivers.
     78
     79config DRM_DEBUG_DP_MST_TOPOLOGY_REFS
     80        bool "Enable refcount backtrace history in the DP MST helpers"
     81	depends on STACKTRACE_SUPPORT
     82        select STACKDEPOT
     83        depends on DRM_KMS_HELPER
     84        depends on DEBUG_KERNEL
     85        depends on EXPERT
     86        help
     87          Enables debug tracing for topology refs in DRM's DP MST helpers. A
     88          history of each topology reference/dereference will be printed to the
     89          kernel log once a port or branch device's topology refcount reaches 0.
     90
     91          This has the potential to use a lot of memory and print some very
     92          large kernel messages. If in doubt, say "N".
     93
     94config DRM_DEBUG_MODESET_LOCK
     95	bool "Enable backtrace history for lock contention"
     96	depends on STACKTRACE_SUPPORT
     97	depends on DEBUG_KERNEL
     98	depends on EXPERT
     99	select STACKDEPOT
    100	default y if DEBUG_WW_MUTEX_SLOWPATH
    101	help
    102	  Enable debug tracing of failures to gracefully handle drm modeset lock
    103	  contention. A history of each drm modeset lock path hitting -EDEADLK
    104	  will be saved until gracefully handled, and the backtrace will be
    105	  printed when attempting to lock a contended lock.
    106
    107	  If in doubt, say "N".
    108
    109config DRM_FBDEV_EMULATION
    110	bool "Enable legacy fbdev support for your modesetting driver"
    111	depends on DRM_KMS_HELPER
    112	depends on FB=y || FB=DRM_KMS_HELPER
    113	select FB_CFB_FILLRECT
    114	select FB_CFB_COPYAREA
    115	select FB_CFB_IMAGEBLIT
    116	select FB_DEFERRED_IO
    117	select FB_SYS_FOPS
    118	select FB_SYS_FILLRECT
    119	select FB_SYS_COPYAREA
    120	select FB_SYS_IMAGEBLIT
    121	select FRAMEBUFFER_CONSOLE if !EXPERT
    122	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
    123	default y
    124	help
    125	  Choose this option if you have a need for the legacy fbdev
    126	  support. Note that this support also provides the linux console
    127	  support on top of your modesetting driver.
    128
    129	  If in doubt, say "Y".
    130
    131config DRM_FBDEV_OVERALLOC
    132	int "Overallocation of the fbdev buffer"
    133	depends on DRM_FBDEV_EMULATION
    134	default 100
    135	help
    136	  Defines the fbdev buffer overallocation in percent. Default
    137	  is 100. Typical values for double buffering will be 200,
    138	  triple buffering 300.
    139
    140config DRM_FBDEV_LEAK_PHYS_SMEM
    141	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
    142	depends on DRM_FBDEV_EMULATION && EXPERT
    143	default n
    144	help
    145	  In order to keep user-space compatibility, we want in certain
    146	  use-cases to keep leaking the fbdev physical address to the
    147	  user-space program handling the fbdev buffer.
    148	  This affects, not only, Amlogic, Allwinner or Rockchip devices
    149	  with ARM Mali GPUs using an userspace Blob.
    150	  This option is not supported by upstream developers and should be
    151	  removed as soon as possible and be considered as a broken and
    152	  legacy behaviour from a modern fbdev device driver.
    153
    154	  Please send any bug reports when using this to your proprietary
    155	  software vendor that requires this.
    156
    157	  If in doubt, say "N" or spread the word to your closed source
    158	  library vendor.
    159
    160config DRM_LOAD_EDID_FIRMWARE
    161	bool "Allow to specify an EDID data set instead of probing for it"
    162	depends on DRM
    163	help
    164	  Say Y here, if you want to use EDID data to be loaded from the
    165	  /lib/firmware directory or one of the provided built-in
    166	  data sets. This may be necessary, if the graphics adapter or
    167	  monitor are unable to provide appropriate EDID data. Since this
    168	  feature is provided as a workaround for broken hardware, the
    169	  default case is N. Details and instructions how to build your own
    170	  EDID data are given in Documentation/admin-guide/edid.rst.
    171
    172source "drivers/gpu/drm/display/Kconfig"
    173
    174config DRM_TTM
    175	tristate
    176	depends on DRM && MMU
    177	help
    178	  GPU memory management subsystem for devices with multiple
    179	  GPU memory types. Will be enabled automatically if a device driver
    180	  uses it.
    181
    182config DRM_BUDDY
    183	tristate
    184	depends on DRM
    185	help
    186	  A page based buddy allocator
    187
    188config DRM_VRAM_HELPER
    189	tristate
    190	depends on DRM
    191	help
    192	  Helpers for VRAM memory management
    193
    194config DRM_TTM_HELPER
    195	tristate
    196	depends on DRM
    197	select DRM_TTM
    198	help
    199	  Helpers for ttm-based gem objects
    200
    201config DRM_GEM_CMA_HELPER
    202	tristate
    203	depends on DRM
    204	help
    205	  Choose this if you need the GEM CMA helper functions
    206
    207config DRM_GEM_SHMEM_HELPER
    208	tristate
    209	depends on DRM && MMU
    210	help
    211	  Choose this if you need the GEM shmem helper functions
    212
    213config DRM_SCHED
    214	tristate
    215	depends on DRM
    216
    217source "drivers/gpu/drm/i2c/Kconfig"
    218
    219source "drivers/gpu/drm/arm/Kconfig"
    220
    221config DRM_RADEON
    222	tristate "ATI Radeon"
    223	depends on DRM && PCI && MMU
    224	depends on AGP || !AGP
    225	select FW_LOADER
    226	select DRM_DISPLAY_DP_HELPER
    227	select DRM_DISPLAY_HELPER
    228        select DRM_KMS_HELPER
    229        select DRM_TTM
    230	select DRM_TTM_HELPER
    231	select POWER_SUPPLY
    232	select HWMON
    233	select BACKLIGHT_CLASS_DEVICE
    234	select INTERVAL_TREE
    235	help
    236	  Choose this option if you have an ATI Radeon graphics card.  There
    237	  are both PCI and AGP versions.  You don't need to choose this to
    238	  run the Radeon in plain VGA mode.
    239
    240	  If M is selected, the module will be called radeon.
    241
    242source "drivers/gpu/drm/radeon/Kconfig"
    243
    244config DRM_AMDGPU
    245	tristate "AMD GPU"
    246	depends on DRM && PCI && MMU
    247	select FW_LOADER
    248	select DRM_DISPLAY_DP_HELPER
    249	select DRM_DISPLAY_HDMI_HELPER
    250	select DRM_DISPLAY_HELPER
    251	select DRM_KMS_HELPER
    252	select DRM_SCHED
    253	select DRM_TTM
    254	select DRM_TTM_HELPER
    255	select POWER_SUPPLY
    256	select HWMON
    257	select BACKLIGHT_CLASS_DEVICE
    258	select INTERVAL_TREE
    259	select DRM_BUDDY
    260	help
    261	  Choose this option if you have a recent AMD Radeon graphics card.
    262
    263	  If M is selected, the module will be called amdgpu.
    264
    265source "drivers/gpu/drm/amd/amdgpu/Kconfig"
    266
    267source "drivers/gpu/drm/nouveau/Kconfig"
    268
    269source "drivers/gpu/drm/i915/Kconfig"
    270
    271source "drivers/gpu/drm/kmb/Kconfig"
    272
    273config DRM_VGEM
    274	tristate "Virtual GEM provider"
    275	depends on DRM && MMU
    276	select DRM_GEM_SHMEM_HELPER
    277	help
    278	  Choose this option to get a virtual graphics memory manager,
    279	  as used by Mesa's software renderer for enhanced performance.
    280	  If M is selected the module will be called vgem.
    281
    282config DRM_VKMS
    283	tristate "Virtual KMS (EXPERIMENTAL)"
    284	depends on DRM && MMU
    285	select DRM_KMS_HELPER
    286	select DRM_GEM_SHMEM_HELPER
    287	select CRC32
    288	default n
    289	help
    290	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
    291	  running GPU in a headless machines. Choose this option to get
    292	  a VKMS.
    293
    294	  If M is selected the module will be called vkms.
    295
    296source "drivers/gpu/drm/exynos/Kconfig"
    297
    298source "drivers/gpu/drm/rockchip/Kconfig"
    299
    300source "drivers/gpu/drm/vmwgfx/Kconfig"
    301
    302source "drivers/gpu/drm/gma500/Kconfig"
    303
    304source "drivers/gpu/drm/udl/Kconfig"
    305
    306source "drivers/gpu/drm/ast/Kconfig"
    307
    308source "drivers/gpu/drm/mgag200/Kconfig"
    309
    310source "drivers/gpu/drm/armada/Kconfig"
    311
    312source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
    313
    314source "drivers/gpu/drm/rcar-du/Kconfig"
    315
    316source "drivers/gpu/drm/shmobile/Kconfig"
    317
    318source "drivers/gpu/drm/sun4i/Kconfig"
    319
    320source "drivers/gpu/drm/omapdrm/Kconfig"
    321
    322source "drivers/gpu/drm/tilcdc/Kconfig"
    323
    324source "drivers/gpu/drm/qxl/Kconfig"
    325
    326source "drivers/gpu/drm/virtio/Kconfig"
    327
    328source "drivers/gpu/drm/msm/Kconfig"
    329
    330source "drivers/gpu/drm/fsl-dcu/Kconfig"
    331
    332source "drivers/gpu/drm/tegra/Kconfig"
    333
    334source "drivers/gpu/drm/stm/Kconfig"
    335
    336source "drivers/gpu/drm/panel/Kconfig"
    337
    338source "drivers/gpu/drm/bridge/Kconfig"
    339
    340source "drivers/gpu/drm/sti/Kconfig"
    341
    342source "drivers/gpu/drm/imx/Kconfig"
    343
    344source "drivers/gpu/drm/ingenic/Kconfig"
    345
    346source "drivers/gpu/drm/v3d/Kconfig"
    347
    348source "drivers/gpu/drm/vc4/Kconfig"
    349
    350source "drivers/gpu/drm/etnaviv/Kconfig"
    351
    352source "drivers/gpu/drm/hisilicon/Kconfig"
    353
    354source "drivers/gpu/drm/mediatek/Kconfig"
    355
    356source "drivers/gpu/drm/mxsfb/Kconfig"
    357
    358source "drivers/gpu/drm/meson/Kconfig"
    359
    360source "drivers/gpu/drm/tiny/Kconfig"
    361
    362source "drivers/gpu/drm/pl111/Kconfig"
    363
    364source "drivers/gpu/drm/tve200/Kconfig"
    365
    366source "drivers/gpu/drm/xen/Kconfig"
    367
    368source "drivers/gpu/drm/vboxvideo/Kconfig"
    369
    370source "drivers/gpu/drm/lima/Kconfig"
    371
    372source "drivers/gpu/drm/panfrost/Kconfig"
    373
    374source "drivers/gpu/drm/aspeed/Kconfig"
    375
    376source "drivers/gpu/drm/mcde/Kconfig"
    377
    378source "drivers/gpu/drm/tidss/Kconfig"
    379
    380source "drivers/gpu/drm/xlnx/Kconfig"
    381
    382source "drivers/gpu/drm/gud/Kconfig"
    383
    384source "drivers/gpu/drm/solomon/Kconfig"
    385
    386source "drivers/gpu/drm/sprd/Kconfig"
    387
    388config DRM_HYPERV
    389	tristate "DRM Support for Hyper-V synthetic video device"
    390	depends on DRM && PCI && MMU && HYPERV
    391	select DRM_KMS_HELPER
    392	select DRM_GEM_SHMEM_HELPER
    393	help
    394	 This is a KMS driver for Hyper-V synthetic video device. Choose this
    395	 option if you would like to enable drm driver for Hyper-V virtual
    396	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
    397	 that DRM driver is used by default.
    398
    399	 If M is selected the module will be called hyperv_drm.
    400
    401# Keep legacy drivers last
    402
    403menuconfig DRM_LEGACY
    404	bool "Enable legacy drivers (DANGEROUS)"
    405	depends on DRM && MMU
    406	help
    407	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
    408	  APIs to user-space, which can be used to circumvent access
    409	  restrictions and other security measures. For backwards compatibility
    410	  those drivers are still available, but their use is highly
    411	  inadvisable and might harm your system.
    412
    413	  You are recommended to use the safe modeset-only drivers instead, and
    414	  perform 3D emulation in user-space.
    415
    416	  Unless you have strong reasons to go rogue, say "N".
    417
    418if DRM_LEGACY
    419
    420config DRM_TDFX
    421	tristate "3dfx Banshee/Voodoo3+"
    422	depends on DRM && PCI
    423	help
    424	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
    425	  graphics card.  If M is selected, the module will be called tdfx.
    426
    427config DRM_R128
    428	tristate "ATI Rage 128"
    429	depends on DRM && PCI
    430	select FW_LOADER
    431	help
    432	  Choose this option if you have an ATI Rage 128 graphics card.  If M
    433	  is selected, the module will be called r128.  AGP support for
    434	  this card is strongly suggested (unless you have a PCI version).
    435
    436config DRM_I810
    437	tristate "Intel I810"
    438	# !PREEMPTION because of missing ioctl locking
    439	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
    440	help
    441	  Choose this option if you have an Intel I810 graphics card.  If M is
    442	  selected, the module will be called i810.  AGP support is required
    443	  for this driver to work.
    444
    445config DRM_MGA
    446	tristate "Matrox g200/g400"
    447	depends on DRM && PCI
    448	select FW_LOADER
    449	help
    450	  Choose this option if you have a Matrox G200, G400 or G450 graphics
    451	  card.  If M is selected, the module will be called mga.  AGP
    452	  support is required for this driver to work.
    453
    454config DRM_SIS
    455	tristate "SiS video cards"
    456	depends on DRM && AGP
    457	depends on FB_SIS || FB_SIS=n
    458	help
    459	  Choose this option if you have a SiS 630 or compatible video
    460	  chipset. If M is selected the module will be called sis. AGP
    461	  support is required for this driver to work.
    462
    463config DRM_VIA
    464	tristate "Via unichrome video cards"
    465	depends on DRM && PCI
    466	help
    467	  Choose this option if you have a Via unichrome or compatible video
    468	  chipset. If M is selected the module will be called via.
    469
    470config DRM_SAVAGE
    471	tristate "Savage video cards"
    472	depends on DRM && PCI
    473	help
    474	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
    475	  chipset. If M is selected the module will be called savage.
    476
    477endif # DRM_LEGACY
    478
    479config DRM_EXPORT_FOR_TESTS
    480	bool
    481
    482# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
    483config DRM_PANEL_ORIENTATION_QUIRKS
    484	tristate
    485
    486# Separate option because nomodeset parameter is global and expected built-in
    487config DRM_NOMODESET
    488	bool
    489	default n
    490
    491config DRM_LIB_RANDOM
    492	bool
    493	default n
    494
    495config DRM_PRIVACY_SCREEN
    496	bool
    497	default n