1# SPDX-License-Identifier: GPL-2.0-only 2 3config DRM_MSM 4 tristate "MSM DRM" 5 depends on DRM 6 depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST 7 depends on COMMON_CLK 8 depends on IOMMU_SUPPORT 9 depends on OF 10 depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n 11 depends on QCOM_OCMEM || QCOM_OCMEM=n 12 depends on QCOM_LLCC || QCOM_LLCC=n 13 depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n 14 depends on QCOM_SMEM || QCOM_SMEM=n 15 depends on PM 16 select IOMMU_IO_PGTABLE 17 select QCOM_MDT_LOADER if ARCH_QCOM 18 select REGULATOR 19 select DRM_EXEC 20 select DRM_GPUVM 21 select DRM_SCHED 22 select SHMEM 23 select TMPFS 24 select QCOM_SCM 25 select QCOM_PAS 26 select QCOM_UBWC_CONFIG if ARCH_QCOM && QCOM_SMEM 27 select WANT_DEV_COREDUMP 28 select SND_SOC_HDMI_CODEC if SND_SOC 29 select SYNC_FILE 30 select PM_OPP 31 select NVMEM 32 select PM_GENERIC_DOMAINS 33 select TRACE_GPU_MEM 34 help 35 DRM/KMS driver for MSM/snapdragon. 36 37config DRM_MSM_GPU_STATE 38 bool 39 depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP) 40 default y 41 42config DRM_MSM_GPU_SUDO 43 bool "Enable SUDO flag on submits" 44 depends on DRM_MSM && EXPERT 45 default n 46 help 47 Enable userspace that has CAP_SYS_RAWIO to submit GPU commands 48 that are run from RB instead of IB1. This essentially gives 49 userspace kernel level access, but is useful for firmware 50 debugging. 51 52 Only use this if you are a driver developer. This should *not* 53 be enabled for production kernels. If unsure, say N. 54 55config DRM_MSM_VALIDATE_XML 56 bool "Validate XML register files against schema" 57 depends on DRM_MSM && EXPERT 58 depends on $(success,$(PYTHON3) -c "import lxml") 59 help 60 Validate XML files with register definitions against rules-fd schema. 61 This option is mostly targeting DRM MSM developers. If unsure, say N. 62 63config DRM_MSM_KMS 64 def_bool n 65 depends on DRM_MSM 66 select DRM_BRIDGE 67 select DRM_BRIDGE_CONNECTOR 68 select DRM_CLIENT_SELECTION 69 select DRM_DISPLAY_HELPER 70 select DRM_KMS_HELPER 71 select DRM_PANEL 72 select DRM_PANEL_BRIDGE 73 74config DRM_MSM_KMS_FBDEV 75 def_bool DRM_FBDEV_EMULATION 76 depends on DRM_MSM_KMS 77 select FB_SYSMEM_HELPERS 78 79config DRM_MSM_MDSS 80 bool 81 depends on DRM_MSM 82 default n 83 84config DRM_MSM_MDP4 85 bool "Enable MDP4 support in MSM DRM driver" 86 depends on DRM_MSM 87 select DRM_MSM_KMS 88 default y 89 help 90 Compile in support for the Mobile Display Processor v4 (MDP4) in 91 the MSM DRM driver. It is the older display controller found in 92 devices using APQ8064/MSM8960/MSM8x60 platforms. 93 94config DRM_MSM_MDP5 95 bool "Enable MDP5 support in MSM DRM driver" 96 depends on DRM_MSM 97 select DRM_MSM_MDSS 98 select DRM_MSM_KMS 99 default y 100 help 101 Compile in support for the Mobile Display Processor v5 (MDP5) in 102 the MSM DRM driver. It is the display controller found in devices 103 using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms. 104 105config DRM_MSM_DPU 106 bool "Enable DPU support in MSM DRM driver" 107 depends on DRM_MSM 108 select DRM_MSM_MDSS 109 select DRM_MSM_KMS 110 select DRM_DISPLAY_DSC_HELPER 111 default y 112 help 113 Compile in support for the Display Processing Unit in 114 the MSM DRM driver. It is the display controller found in devices 115 using e.g. SDM845 and newer platforms. 116 117config DRM_MSM_DP 118 bool "Enable DisplayPort support in MSM DRM driver" 119 depends on DRM_MSM 120 depends on DRM_MSM_KMS 121 select DRM_DISPLAY_HDMI_AUDIO_HELPER 122 select RATIONAL 123 select DRM_DISPLAY_DP_AUX_BUS 124 select DRM_DISPLAY_DP_HELPER 125 default y 126 help 127 Compile in support for DP driver in MSM DRM driver. DP external 128 display support is enabled through this config option. It can 129 be primary or secondary display on device. 130 131config DRM_MSM_DSI 132 bool "Enable DSI support in MSM DRM driver" 133 depends on DRM_MSM 134 depends on DRM_MSM_KMS 135 select DRM_PANEL 136 select DRM_MIPI_DSI 137 select DRM_DISPLAY_DSC_HELPER 138 default y 139 help 140 Choose this option if you have a need for MIPI DSI connector 141 support. 142 143config DRM_MSM_DSI_28NM_PHY 144 bool "Enable DSI 28nm PHY driver in MSM DRM" 145 depends on DRM_MSM_DSI 146 default y 147 help 148 Choose this option if the 28nm DSI PHY is used on the platform. 149 150config DRM_MSM_DSI_20NM_PHY 151 bool "Enable DSI 20nm PHY driver in MSM DRM" 152 depends on DRM_MSM_DSI 153 default y 154 help 155 Choose this option if the 20nm DSI PHY is used on the platform. 156 157config DRM_MSM_DSI_28NM_8960_PHY 158 bool "Enable DSI 28nm 8960 PHY driver in MSM DRM" 159 depends on DRM_MSM_DSI 160 default y 161 help 162 Choose this option if the 28nm DSI PHY 8960 variant is used on the 163 platform. 164 165config DRM_MSM_DSI_14NM_PHY 166 bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)" 167 depends on DRM_MSM_DSI 168 default y 169 help 170 Choose this option if DSI PHY on 8996 is used on the platform. 171 172config DRM_MSM_DSI_10NM_PHY 173 bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)" 174 depends on DRM_MSM_DSI 175 default y 176 help 177 Choose this option if DSI PHY on SDM845 is used on the platform. 178 179config DRM_MSM_DSI_7NM_PHY 180 bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM" 181 depends on DRM_MSM_DSI 182 default y 183 help 184 Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280 185 is used on the platform. 186 187config DRM_MSM_HDMI 188 bool "Enable HDMI support in MSM DRM driver" 189 depends on DRM_MSM 190 depends on DRM_MSM_KMS 191 default y 192 select DRM_DISPLAY_HDMI_HELPER 193 select DRM_DISPLAY_HDMI_STATE_HELPER 194 help 195 Compile in support for the HDMI output MSM DRM driver. It can 196 be a primary or a secondary display on device. Note that this is used 197 only for the direct HDMI output. If the device outputs HDMI data 198 through some kind of DSI-to-HDMI bridge, this option can be disabled. 199 200config DRM_MSM_HDMI_HDCP 201 bool "Enable HDMI HDCP support in MSM DRM driver" 202 depends on DRM_MSM && DRM_MSM_HDMI 203 default y 204 help 205 Choose this option to enable HDCP state machine 206