Browse Source

disp: add changes to generate display dlkm in android

Add Android make files and Kbuild files to support dlkm
for display driver. Also resolve header and config issues
to allow successful compilation of display driver.

Change-Id: I04d6233864ea54c0a808b295fbdccb83058f1fd2
Signed-off-by: Samantha Tran <[email protected]>
Signed-off-by: Chandan Uddaraju <[email protected]>
Signed-off-by: Prabhanjan Kandula <[email protected]>
Samantha Tran 5 years ago
parent
commit
13bb35435c
14 changed files with 335 additions and 207 deletions
  1. 12 0
      Android.mk
  2. 12 0
      Kbuild
  3. 10 47
      Makefile
  4. 2 0
      include/uapi/Kbuild
  5. 25 0
      include/uapi/display/Android.mk
  6. 35 0
      msm/Android.mk
  7. 206 0
      msm/Kbuild
  8. 9 152
      msm/Makefile
  9. 2 2
      msm/dp/dp_aux.h
  10. 1 1
      msm/dp/dp_debug.c
  11. 2 2
      msm/dsi/dsi_ctrl.h
  12. 8 1
      rotator/sde_rotator_base.h
  13. 3 1
      rotator/sde_rotator_debug.c
  14. 8 1
      rotator/sde_rotator_smmu.h

+ 12 - 0
Android.mk

@@ -0,0 +1,12 @@
+# Android makefile for display kernel modules
+MY_LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+
+UAPI_OUT := $(PRODUCT_OUT)/obj/vendor/qcom/opensource/display-drivers/include
+
+$(shell mkdir -p $(UAPI_OUT)/display;)
+
+include $(MY_LOCAL_PATH)/include/uapi/display/Android.mk
+include $(MY_LOCAL_PATH)/msm/Android.mk

+ 12 - 0
Kbuild

@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+ifeq ($(DISPLAY_ROOT),)
+DISPLAY_ROOT=$(srctree)/techpack/display
+endif
+
+LINUXINCLUDE    += \
+		   -I$(DISPLAY_ROOT)/include/uapi/display \
+		   -I$(DISPLAY_ROOT)/include
+USERINCLUDE     += -I$(DISPLAY_ROOT)/include/uapi/display
+
+obj-$(CONFIG_DRM_MSM) += msm/

+ 10 - 47
Makefile

@@ -1,53 +1,16 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-# auto-detect subdirs
-ifeq ($(CONFIG_ARCH_KONA), y)
-include $(srctree)/techpack/display/config/konadisp.conf
-endif
+KBUILD_OPTIONS+= DISPLAY_ROOT=$(KERNEL_SRC)/$(M)
 
-ifeq ($(CONFIG_ARCH_KONA), y)
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/konadispconf.h
-endif
+all:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS)
 
-ifeq ($(CONFIG_ARCH_LAHAINA), y)
-     ifeq ($(CONFIG_QGKI), y)
-		include $(srctree)/techpack/display/config/lahainadisp.conf
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/lahainadispconf.h
-     else
-		include $(srctree)/techpack/display/config/gki_lahainadisp.conf
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/gki_lahainadispconf.h
-     endif
-endif
+modules_install:
+	$(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(M) modules_install
 
-ifeq ($(CONFIG_ARCH_HOLI), y)
-     ifeq ($(CONFIG_QGKI), y)
-		include $(srctree)/techpack/display/config/holidisp.conf
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/holidispconf.h
-     else
-		include $(srctree)/techpack/display/config/gki_holidisp.conf
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/gki_holidispconf.h
-     endif
-endif
+%:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS)
 
-LINUXINCLUDE    += \
-		   -I$(srctree)/techpack/display/include/uapi/display \
-		   -I$(srctree)/techpack/display/include
-USERINCLUDE     += -I$(srctree)/techpack/display/include/uapi/display
-
-ifeq ($(CONFIG_ARCH_LITO), y)
-include $(srctree)/techpack/display/config/saipdisp.conf
-endif
-
-ifeq ($(CONFIG_ARCH_LITO), y)
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/saipdispconf.h
-endif
-
-ifeq ($(CONFIG_ARCH_BENGAL), y)
-include $(srctree)/techpack/display/config/bengaldisp.conf
-endif
-
-ifeq ($(CONFIG_ARCH_BENGAL), y)
-LINUXINCLUDE    += -include $(srctree)/techpack/display/config/bengaldispconf.h
-endif
-
-obj-$(CONFIG_DRM_MSM) += msm/
+clean:
+	rm -f *.o *.ko *.mod.c *.mod.o *~ .*.cmd Module.symvers
+	rm -rf .tmp_versions

+ 2 - 0
include/uapi/Kbuild

@@ -2,3 +2,5 @@
 
 # Top-level Makefile calls into asm-$(ARCH)
 # List only non-arch directories below
+
+header-y += display/

+ 25 - 0
include/uapi/display/Android.mk

@@ -0,0 +1,25 @@
+LOCAL_PATH := $(call my-dir)
+MYLOCAL_PATH := $(LOCAL_PATH)
+
+UAPI_OUT := $(PRODUCT_OUT)/obj/vendor/qcom/opensource/display-drivers/include/display
+
+DISPLAY_DRIVER_HEADERS := $(call all-named-files-under,*.h,drm) $(call all-named-files-under,*.h,media)
+
+HEADER_INSTALL_DIR := kernel/msm-$(TARGET_KERNEL_VERSION)/scripts
+
+BUILD_ROOT_RELATIVE := ../../../../../../
+
+include $(CLEAR_VARS)
+LOCAL_MODULE                  := display_driver_headers
+
+GEN := $(addprefix $(UAPI_OUT)/,$(DISPLAY_DRIVER_HEADERS))
+$(GEN): $(KERNEL_USR)
+$(GEN): PRIVATE_PATH := $(MYLOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = $(shell cd $(PRODUCT_OUT)/obj/KERNEL_OBJ; $(BUILD_ROOT_RELATIVE)$(HEADER_INSTALL_DIR)/headers_install.sh $(BUILD_ROOT_RELATIVE)$(dir $@) $(BUILD_ROOT_RELATIVE)$(subst $(UAPI_OUT),$(MYLOCAL_PATH),$(dir $@)) $(notdir $@))
+$(GEN): $(addprefix $(MYLOCAL_PATH)/,$(DISPLAY_DRIVER_HEADERS))
+	$(transform-generated-source)
+
+LOCAL_GENERATED_SOURCES := $(GEN)
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(UAPI_OUT)
+
+include $(BUILD_HEADER_LIBRARY)

+ 35 - 0
msm/Android.mk

@@ -0,0 +1,35 @@
+DISPLAY_SELECT := CONFIG_DRM_MSM=m
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+# This makefile is only for DLKM
+ifneq ($(findstring vendor,$(LOCAL_PATH)),)
+
+ifneq ($(findstring opensource,$(LOCAL_PATH)),)
+	DISPLAY_BLD_DIR := $(shell pwd)/vendor/qcom/opensource/display-drivers
+endif # opensource
+
+DLKM_DIR := $(TOP)/device/qcom/common/dlkm
+
+LOCAL_ADDITIONAL_DEPENDENCIES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*)
+
+# Build display.ko as msm_drm.ko
+###########################################################
+# This is set once per LOCAL_PATH, not per (kernel) module
+KBUILD_OPTIONS := DISPLAY_ROOT=$(DISPLAY_BLD_DIR)
+
+KBUILD_OPTIONS += MODNAME=msm_drm
+KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
+KBUILD_OPTIONS += $(DISPLAY_SELECT)
+
+###########################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE              := msm_drm.ko
+LOCAL_MODULE_KBUILD_NAME  := msm_drm.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/AndroidKernelModule.mk
+###########################################################
+endif # DLKM check

+ 206 - 0
msm/Kbuild

@@ -0,0 +1,206 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+KDIR := $(TOP)/kernel_platform/common
+
+LINUX_INC +=	-Iinclude/linux \
+		-Iinclude/linux/drm
+
+LINUX_INC +=	-I$(DISPLAY_ROOT) \
+	-I$(DISPLAY_ROOT)/include \
+	-I$(KERNEL_ROOT)/drivers/clk/qcom \
+	-I$(KERNEL_SRC)/drivers/clk/qcom \
+	-I$(DISPLAY_ROOT)/include/linux \
+	-I$(DISPLAY_ROOT)/rotator \
+	-I$(DISPLAY_ROOT)/msm \
+	-I$(DISPLAY_ROOT)/msm/dp \
+	-I$(DISPLAY_ROOT)/msm/dsi \
+	-I$(DISPLAY_ROOT)/msm/sde \
+	-I$(DISPLAY_ROOT)/include/uapi/display \
+
+CDEFINES +=	-DANI_LITTLE_BYTE_ENDIAN \
+	-DANI_LITTLE_BIT_ENDIAN \
+	-DDOT11F_LITTLE_ENDIAN_HOST \
+	-DANI_COMPILER_TYPE_GCC \
+	-DANI_OS_TYPE_ANDROID=6 \
+	-DPTT_SOCK_SVC_ENABLE \
+	-Wall\
+	-Werror\
+	-D__linux__
+
+KBUILD_CPPFLAGS += $(CDEFINES)
+
+ccflags-y += $(LINUX_INC)
+
+ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
+EXTRA_CFLAGS += -Wmaybe-uninitialized
+endif
+
+KBUILD_EXTRA_SYMBOLS +=$(OUT)/obj/vendor/qcom/opensource/display-drivers/hdcp/Module.symvers
+KBUILD_EXTRA_SYMBOLS +=$(OUT)/obj/vendor/qcom/opensource/display-drivers/msm/Module.symvers
+
+ifeq ($(call cc-option-yn, -Wheader-guard),y)
+EXTRA_CFLAGS += -Wheader-guard
+endif
+
+ifneq ($(MODNAME), qdsp6v2)
+CHIP_NAME ?= $(MODNAME)
+CDEFINES += -DMULTI_IF_NAME=\"$(CHIP_NAME)\"
+endif
+
+######### CONFIG_DRM_MSM ########
+obj-m += msm_drm.o
+
+msm_drm-$(CONFIG_HDCP_QSEECOM) := ../hdcp/msm_hdcp.o
+
+msm_drm-$(CONFIG_MSM_SDE_ROTATOR) += ../rotator/sde_rotator_dev.o \
+				     ../rotator/sde_rotator_dev.o \
+				     ../rotator/sde_rotator_core.o \
+				     ../rotator/sde_rotator_base.o \
+				     ../rotator/sde_rotator_formats.o \
+				     ../rotator/sde_rotator_util.o \
+				     ../rotator/sde_rotator_io_util.o \
+				     ../rotator/sde_rotator_smmu.o \
+				     ../rotator/sde_rotator_r1_wb.o \
+				     ../rotator/sde_rotator_r1_pipe.o \
+				     ../rotator/sde_rotator_r1_ctl.o \
+				     ../rotator/sde_rotator_r1.o \
+				     ../rotator/sde_rotator_r3.o
+
+msm_drm-$(CONFIG_SYNC_FILE) += ../rotator/sde_rotator_sync.o
+
+msm_drm-$(CONFIG_DRM_SDE_VM) += sde/sde_vm_common.o \
+				sde/sde_vm_primary.o \
+				sde/sde_vm_trusted.o \
+				sde/sde_vm_msgq.o
+
+msm_drm-$(CONFIG_DEBUG_FS) += ../rotator/sde_rotator_debug.o \
+			      ../rotator/sde_rotator_r1_debug.o \
+			      ../rotator/sde_rotator_r3_debug.o
+
+msm_drm-$(CONFIG_DRM_MSM_DP) += dp/dp_altmode.o \
+				dp/dp_parser.o \
+				dp/dp_power.o \
+				dp/dp_catalog.o \
+				dp/dp_catalog_v420.o \
+				dp/dp_catalog_v200.o \
+				dp/dp_aux.o \
+				dp/dp_panel.o \
+				dp/dp_link.o \
+				dp/dp_ctrl.o \
+				dp/dp_audio.o \
+				dp/dp_debug.o \
+				dp/dp_hpd.o \
+				dp/dp_gpio_hpd.o \
+				dp/dp_lphw_hpd.o \
+				dp/dp_display.o \
+				dp/dp_drm.o \
+				dp/dp_hdcp2p2.o \
+				sde_hdcp_1x.o \
+				sde_hdcp_2x.o \
+				dp/dp_pll.o \
+				dp/dp_pll_5nm.o
+
+msm_drm-$(CONFIG_DRM_MSM_DP_MST) += dp/dp_mst_drm.o
+
+msm_drm-$(CONFIG_DRM_MSM_DP_USBPD_LEGACY) += dp/dp_usbpd.o
+
+msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_vm_trusted.o \
+				 sde/sde_vm_msgq.o \
+				 sde/sde_crtc.o \
+				 sde/sde_encoder.o \
+				 sde/sde_encoder_dce.o \
+				 sde/sde_encoder_phys_vid.o \
+				 sde/sde_encoder_phys_cmd.o \
+				 sde/sde_irq.o sde/sde_core_irq.o \
+				 sde/sde_core_perf.o \
+				 sde/sde_rm.o \
+				 sde/sde_kms_utils.o \
+				 sde/sde_kms.o \
+				 sde/sde_plane.o \
+				 sde/sde_connector.o \
+				 sde/sde_color_processing.o \
+				 sde/sde_vbif.o \
+				 sde_dbg.o \
+				 sde_dbg_evtlog.o \
+				 sde_io_util.o \
+				 sde_vm_event.o \
+				 sde/sde_hw_reg_dma_v1_color_proc.o \
+				 sde/sde_hw_color_proc_v4.o \
+				 sde/sde_hw_ad4.o \
+				 sde/sde_hw_uidle.o \
+				 sde_edid_parser.o \
+				 sde/sde_hw_catalog.o \
+				 sde/sde_hw_cdm.o \
+				 sde/sde_hw_dspp.o \
+				 sde/sde_hw_intf.o \
+				 sde/sde_hw_lm.o \
+				 sde/sde_hw_ctl.o \
+				 sde/sde_hw_util.o \
+				 sde/sde_hw_sspp.o \
+				 sde/sde_hw_wb.o \
+				 sde/sde_hw_pingpong.o \
+				 sde/sde_hw_top.o \
+				 sde/sde_hw_interrupts.o \
+				 sde/sde_hw_vbif.o \
+				 sde/sde_hw_blk.o \
+				 sde/sde_formats.o \
+				 sde_power_handle.o \
+				 sde/sde_hw_color_processing_v1_7.o \
+				 sde/sde_reg_dma.o \
+				 sde/sde_hw_reg_dma_v1.o \
+				 sde/sde_hw_dsc.o \
+				 sde/sde_hw_dsc_1_2.o \
+				 sde/sde_hw_vdc.o \
+				 sde/sde_hw_ds.o \
+				 sde/sde_fence.o \
+				 sde/sde_hw_qdss.o \
+				 sde_dsc_helper.o \
+				 sde_vdc_helper.o \
+				 sde/sde_hw_rc.o
+
+msm_drm-$(CONFIG_DRM_SDE_WB) += sde/sde_wb.o \
+				sde/sde_encoder_phys_wb.o
+
+msm_drm-$(CONFIG_DRM_SDE_RSC) += sde_rsc.o \
+				 sde_rsc_hw.o \
+				 sde_rsc_hw_v3.o
+
+msm_drm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi_phy.o \
+				 dsi/dsi_pwr.o \
+				 dsi/dsi_phy.o \
+				 dsi/dsi_phy_hw_v2_0.o \
+				 dsi/dsi_phy_hw_v3_0.o \
+				 dsi/dsi_phy_hw_v4_0.o \
+				 dsi/dsi_phy_timing_calc.o \
+				 dsi/dsi_phy_timing_v2_0.o \
+				 dsi/dsi_phy_timing_v3_0.o \
+				 dsi/dsi_phy_timing_v4_0.o \
+				 dsi/dsi_pll.o \
+				 dsi/dsi_pll_5nm.o \
+				 dsi/dsi_ctrl_hw_cmn.o \
+				 dsi/dsi_ctrl_hw_1_4.o \
+				 dsi/dsi_ctrl_hw_2_0.o \
+				 dsi/dsi_ctrl_hw_2_2.o \
+				 dsi/dsi_ctrl.o \
+				 dsi/dsi_catalog.o \
+				 dsi/dsi_drm.o \
+				 dsi/dsi_display.o \
+				 dsi/dsi_panel.o \
+				 dsi/dsi_clk_manager.o \
+				 dsi/dsi_display_test.o
+
+msm_drm-$(CONFIG_DSI_PARSER) += dsi/dsi_parser.o
+
+msm_drm-$(CONFIG_DRM_MSM) += msm_atomic.o \
+			     msm_fb.o \
+			     msm_iommu.o \
+			     msm_drv.o \
+			     msm_gem.o \
+			     msm_gem_prime.o \
+			     msm_gem_vma.o \
+			     msm_smmu.o \
+			     msm_cooling_device.o \
+			     msm_prop.o
+
+CDEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
+

+ 9 - 152
msm/Makefile

@@ -1,159 +1,16 @@
 # SPDX-License-Identifier: GPL-2.0
-ccflags-y := -I$(srctree)/include/drm -I$(srctree)/techpack/display/msm -I$(srctree)/techpack/display/msm/dsi -I$(srctree)/techpack/display/msm/dp
-ccflags-y += -I$(srctree)/techpack/display/msm/sde
-ccflags-y += -I$(srctree)/techpack/display/rotator
-ccflags-y += -I$(srctree)/techpack/display/hdcp
-ccflags-y += -I$(srctree)/drivers/clk/qcom/
 
-msm_drm-$(CONFIG_DRM_MSM_DP) += dp/dp_altmode.o \
-	dp/dp_parser.o \
-	dp/dp_power.o \
-	dp/dp_catalog.o \
-	dp/dp_catalog_v420.o \
-	dp/dp_catalog_v200.o \
-	dp/dp_aux.o \
-	dp/dp_panel.o \
-	dp/dp_link.o \
-	dp/dp_ctrl.o \
-	dp/dp_audio.o \
-	dp/dp_debug.o \
-	dp/dp_hpd.o \
-	dp/dp_gpio_hpd.o \
-	dp/dp_lphw_hpd.o \
-	dp/dp_display.o \
-	dp/dp_drm.o \
-	dp/dp_hdcp2p2.o \
-	sde_hdcp_1x.o \
-	sde_hdcp_2x.o \
-	dp/dp_pll.o \
-	dp/dp_pll_5nm.o
+KBUILD_OPTIONS+= DISPLAY_ROOT=$(KERNEL_SRC)/$(M)/../
 
-msm_drm-$(CONFIG_DRM_MSM_DP_MST) += dp/dp_mst_drm.o
+all: modules
 
-msm_drm-$(CONFIG_DRM_MSM_DP_USBPD_LEGACY) += dp/dp_usbpd.o
+modules_install:
+	$(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(M) modules_install
 
-msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \
-	sde/sde_encoder.o \
-	sde/sde_encoder_dce.o \
-	sde/sde_encoder_phys_vid.o \
-	sde/sde_encoder_phys_cmd.o \
-	sde/sde_irq.o \
-	sde/sde_core_irq.o \
-	sde/sde_core_perf.o \
-	sde/sde_rm.o \
-	sde/sde_kms_utils.o \
-	sde/sde_kms.o \
-	sde/sde_plane.o \
-	sde/sde_connector.o \
-	sde/sde_color_processing.o \
-	sde/sde_vbif.o \
-	sde_io_util.o \
-	sde_vm_event.o \
-	sde/sde_hw_reg_dma_v1_color_proc.o \
-	sde/sde_hw_color_proc_v4.o \
-	sde/sde_hw_ad4.o \
-	sde/sde_hw_uidle.o \
-	sde_edid_parser.o \
-	sde/sde_hw_catalog.o \
-	sde/sde_hw_cdm.o \
-	sde/sde_hw_dspp.o \
-	sde/sde_hw_intf.o \
-	sde/sde_hw_lm.o \
-	sde/sde_hw_ctl.o \
-	sde/sde_hw_util.o \
-	sde/sde_hw_sspp.o \
-	sde/sde_hw_wb.o \
-	sde/sde_hw_pingpong.o \
-	sde/sde_hw_top.o \
-	sde/sde_hw_interrupts.o \
-	sde/sde_hw_vbif.o \
-	sde/sde_hw_blk.o \
-	sde/sde_formats.o \
-	sde_power_handle.o \
-	sde/sde_hw_color_processing_v1_7.o \
-	sde/sde_reg_dma.o \
-	sde/sde_hw_reg_dma_v1.o \
-	sde/sde_hw_dsc.o \
-	sde/sde_hw_dsc_1_2.o \
-	sde/sde_hw_vdc.o \
-	sde/sde_hw_ds.o \
-	sde/sde_fence.o \
-	sde/sde_hw_qdss.o \
-	sde_dsc_helper.o \
-	sde_vdc_helper.o \
-	sde/sde_hw_rc.o \
-	sde_dbg.o \
-	sde_dbg_evtlog.o \
+%:
+	$(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS)
 
-msm_drm-$(CONFIG_DRM_SDE_VM) += sde/sde_vm_common.o \
-	sde/sde_vm_primary.o \
-	sde/sde_vm_trusted.o \
-	sde/sde_vm_msgq.o
+clean:
+	rm -f *.o *.ko *.mod.c *.mod.o *~ .*.cmd Module.symvers
+	rm -rf .tmp_versions
 
-msm_drm-$(CONFIG_DRM_SDE_WB) += sde/sde_wb.o \
-	sde/sde_encoder_phys_wb.o
-
-msm_drm-$(CONFIG_DRM_SDE_RSC) += sde_rsc.o \
-	sde_rsc_hw.o \
-	sde_rsc_hw_v3.o
-
-msm_drm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi_phy.o \
-	dsi/dsi_pwr.o \
-	dsi/dsi_phy.o \
-	dsi/dsi_phy_hw_v2_0.o \
-	dsi/dsi_phy_hw_v3_0.o \
-	dsi/dsi_phy_hw_v4_0.o \
-	dsi/dsi_phy_timing_calc.o \
-	dsi/dsi_phy_timing_v2_0.o \
-	dsi/dsi_phy_timing_v3_0.o \
-	dsi/dsi_phy_timing_v4_0.o \
-	dsi/dsi_pll.o \
-	dsi/dsi_pll_5nm.o \
-	dsi/dsi_ctrl_hw_cmn.o \
-	dsi/dsi_ctrl_hw_1_4.o \
-	dsi/dsi_ctrl_hw_2_0.o \
-	dsi/dsi_ctrl_hw_2_2.o \
-	dsi/dsi_ctrl.o \
-	dsi/dsi_catalog.o \
-	dsi/dsi_drm.o \
-	dsi/dsi_display.o \
-	dsi/dsi_panel.o \
-	dsi/dsi_clk_manager.o \
-	dsi/dsi_display_test.o
-
-msm_drm-$(CONFIG_DSI_PARSER) += dsi/dsi_parser.o
-
-msm_drm-$(CONFIG_DRM_MSM) += \
-	msm_atomic.o \
-	msm_fb.o \
-	msm_iommu.o \
-	msm_drv.o \
-	msm_gem.o \
-	msm_gem_prime.o \
-	msm_gem_vma.o \
-	msm_smmu.o \
-	msm_cooling_device.o \
-	msm_prop.o
-
-msm_drm-$(CONFIG_HDCP_QSEECOM) += ../hdcp/msm_hdcp.o \
-
-msm_drm-$(CONFIG_MSM_SDE_ROTATOR) += ../rotator/sde_rotator_dev.o \
-	../rotator/sde_rotator_core.o \
-	../rotator/sde_rotator_base.o \
-	../rotator/sde_rotator_formats.o \
-	../rotator/sde_rotator_util.o \
-	../rotator/sde_rotator_io_util.o \
-	../rotator/sde_rotator_smmu.o \
-	../rotator/sde_rotator_r1_wb.o \
-	../rotator/sde_rotator_r1_pipe.o \
-	../rotator/sde_rotator_r1_ctl.o \
-	../rotator/sde_rotator_r1.o \
-	../rotator/sde_rotator_r3.o \
-	../rotator/sde_rotator_sync.o \
-	../rotator/sde_rotator_debug.o \
-	../rotator/sde_rotator_r1_debug.o \
-	../rotator/sde_rotator_r3_debug.o
-
-obj-$(CONFIG_DISPLAY_BUILD)	+= msm_drm.o
-
-obj-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o

+ 2 - 2
msm/dp/dp_aux.h

@@ -1,13 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _DP_AUX_H_
 #define _DP_AUX_H_
 
 #include "dp_catalog.h"
-#include "drm_dp_helper.h"
+#include "drm/drm_dp_helper.h"
 
 #define DP_STATE_NOTIFICATION_SENT          BIT(0)
 #define DP_STATE_TRAIN_1_STARTED            BIT(1)

+ 1 - 1
msm/dp/dp_debug.c

@@ -10,7 +10,7 @@
 #include "dp_catalog.h"
 #include "dp_aux.h"
 #include "dp_debug.h"
-#include "drm_connector.h"
+#include "drm/drm_connector.h"
 #include "sde_connector.h"
 #include "dp_display.h"
 #include "dp_pll.h"

+ 2 - 2
msm/dsi/dsi_ctrl.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef _DSI_CTRL_H_
@@ -12,7 +12,7 @@
 #include "dsi_ctrl_hw.h"
 #include "dsi_clk.h"
 #include "dsi_pwr.h"
-#include "drm_mipi_dsi.h"
+#include "drm/drm_mipi_dsi.h"
 
 /*
  * DSI Command transfer modifiers

+ 8 - 1
rotator/sde_rotator_base.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef __SDE_ROTATOR_BASE_H__
@@ -310,7 +310,14 @@ int sde_rotator_base_init(struct sde_rot_data_type **pmdata,
 
 void sde_rotator_base_destroy(struct sde_rot_data_type *data);
 
+#ifdef CONFIG_MSM_SDE_ROTATOR
 struct sde_rot_data_type *sde_rot_get_mdata(void);
+#else
+static inline struct sde_rot_data_type *sde_rot_get_mdata(void)
+{
+	return NULL;
+}
+#endif
 
 struct reg_bus_client *sde_reg_bus_vote_client_create(char *client_name);
 

+ 3 - 1
rotator/sde_rotator_debug.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  */
 #define pr_fmt(fmt)	"%s: " fmt, __func__
 
@@ -619,6 +619,7 @@ static void sde_rot_evtlog_debug_work(struct work_struct *work)
 		sde_rot_dbg_evtlog.work_rot_dbgbus);
 }
 
+#if defined(CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG) && defined(CONFIG_DEBUG_FS)
 /*
  * sde_rot_evtlog_tout_handler - log dump timeout handler
  * @queue: boolean indicate putting log dump into queue
@@ -716,6 +717,7 @@ void sde_rot_evtlog(const char *name, int line, int flag, ...)
 
 	spin_unlock_irqrestore(&sde_rot_xlock, flags);
 }
+#endif
 
 /*
  * sde_rotator_stat_show - Show statistics on read to this debugfs file

+ 8 - 1
rotator/sde_rotator_smmu.h

@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
  */
 
 #ifndef SDE_ROTATOR_SMMU_H
@@ -25,7 +25,14 @@ static inline int sde_smmu_dma_data_direction(int dir)
 	return dir;
 }
 
+#ifdef CONFIG_MSM_SDE_ROTATOR
 int sde_smmu_ctrl(int enable);
+#else
+static inline int sde_smmu_ctrl(int enable)
+{
+	return 0;
+}
+#endif
 
 struct dma_buf_attachment *sde_smmu_dma_buf_attach(
 		struct dma_buf *dma_buf, struct device *dev, int domain);