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