diff --git a/BUILD.bazel b/BUILD.bazel index fe364c55fb..e37294d7aa 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -68,5 +68,5 @@ ddk_headers( hdrs = [ ":linux_includes", ":uapi_headers", ":msm_headers",":dp_headers",":dsi_headers",":sde_headers",":rotator_headers"] ) -load(":target.bzl", "define_pineapple") -define_pineapple() +load(":target.bzl", "define_display_target") +define_display_target() diff --git a/display_driver_build.bzl b/display_driver_build.bzl index 0664007e3e..1ad9dc869c 100644 --- a/display_driver_build.bzl +++ b/display_driver_build.bzl @@ -4,6 +4,7 @@ load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir") def _register_module_to_map(module_map, name, path, config_option, srcs, config_srcs, deps, config_deps): processed_config_srcs = {} nested_config = {} + processed_config_deps = {} for config_src_name in config_srcs: config_src = config_srcs[config_src_name] @@ -16,10 +17,18 @@ def _register_module_to_map(module_map, name, path, config_option, srcs, config_ nested_config = config_src for nested_src, nest_name in nested_config.items(): - if nested_src == "True": - for nest_src in nest_name: - final_srcs = nest_name[nest_src] - processed_config_srcs[nest_src] = final_srcs + if nested_src == True: + processed_config_srcs[config_src_name] = {True: nest_name} + else: + processed_config_srcs[nested_src] = {True: nest_name} + + for config_deps_name in config_deps: + config_dep = config_deps[config_deps_name] + + if type(config_dep) == "list": + processed_config_deps[config_deps_name] = {True: config_dep} + else: + processed_config_deps[config_deps_name] = config_dep module = struct( name = name, path = path, @@ -27,6 +36,7 @@ def _register_module_to_map(module_map, name, path, config_option, srcs, config_ config_srcs = processed_config_srcs, config_option = config_option, deps = deps, + config_deps = processed_config_deps ) module_map[name] = module @@ -48,7 +58,8 @@ def _get_kernel_build_module_srcs(module, options, formatter): return ["{}{}".format(module_path, formatter(src)) for src in srcs] def _get_kernel_build_module_deps(module, options, formatter): - return [formatter(dep) for dep in module.deps] + deps = module.deps + _get_config_choices(module.config_deps, options) + return [formatter(dep) for dep in deps] def display_module_entry(hdrs = []): module_map = {} @@ -102,4 +113,4 @@ def define_target_variant_modules(target, variant, registry, modules, config_opt allow_duplicate_filenames = False, mode_overrides = {"**/*": "644"}, log = "info", - ) \ No newline at end of file + ) diff --git a/display_modules.bzl b/display_modules.bzl index 493eec4ff6..76c5e5685e 100644 --- a/display_modules.bzl +++ b/display_modules.bzl @@ -159,13 +159,13 @@ module_entry( True: [ "rotator/sde_rotator_dev.c", "rotator/sde_rotator_core.c", - "rotator/sde_rotator_base.c ", + "rotator/sde_rotator_base.c", "rotator/sde_rotator_formats.c", "rotator/sde_rotator_util.c", "rotator/sde_rotator_io_util.c", "rotator/sde_rotator_smmu.c", "rotator/sde_rotator_r1_wb.c", - "rotator/sde_rotator_r1_pipe.c ", + "rotator/sde_rotator_r1_pipe.c", "rotator/sde_rotator_r1_ctl.c", "rotator/sde_rotator_r1.c", "rotator/sde_rotator_r3.c"], @@ -175,11 +175,21 @@ module_entry( "rotator/sde_rotator_r3_debug.c"], }, }, - deps = [ - "//vendor/qcom/opensource/mm-drivers/hw_fence:%b_msm_hw_fence", - "//vendor/qcom/opensource/mm-drivers/sync_fence:%b_sync_fence", - "//vendor/qcom/opensource/mm-drivers/msm_ext_display:%b_msm_ext_display", - "//vendor/qcom/opensource/mmrm-driver:%b_mmrm_driver", - "//vendor/qcom/opensource/securemsm-kernel:%b_hdcp_qseecom_dlkm" - ], + config_deps = { + "CONFIG_HDCP_QSEECOM" : [ + "//vendor/qcom/opensource/securemsm-kernel:%b_hdcp_qseecom_dlkm" + ], + "CONFIG_MSM_MMRM" : [ + "//vendor/qcom/opensource/mmrm-driver:%b_mmrm_driver" + ], + "CONFIG_QCOM_SPEC_SYNC" : [ + "//vendor/qcom/opensource/mm-drivers/sync_fence:%b_sync_fence" + ], + "CONFIG_QTI_HW_FENCE" : [ + "//vendor/qcom/opensource/mm-drivers/hw_fence:%b_msm_hw_fence" + ], + "CONFIG_MSM_EXT_DISPLAY" : [ + "//vendor/qcom/opensource/mm-drivers/msm_ext_display:%b_msm_ext_display" + ], + } ) diff --git a/msm/Android.mk b/msm/Android.mk index c40d493d96..37dd30b9ee 100644 --- a/msm/Android.mk +++ b/msm/Android.mk @@ -2,7 +2,7 @@ DISPLAY_SELECT := CONFIG_DRM_MSM=m LOCAL_PATH := $(call my-dir) ifeq ($(TARGET_BOARD_PLATFORM), pitti) -LOCAL_MODULE_DDK_BUILD := false +LOCAL_MODULE_DDK_BUILD := true else ifeq ($(TARGET_BOARD_PLATFORM), niobe) LOCAL_MODULE_DDK_BUILD := false else diff --git a/target.bzl b/target.bzl index 539bf70c29..9076ae5924 100644 --- a/target.bzl +++ b/target.bzl @@ -2,33 +2,85 @@ load(":display_modules.bzl", "display_driver_modules") load(":display_driver_build.bzl", "define_target_variant_modules") load("//msm-kernel:target_variants.bzl", "get_all_la_variants", "get_all_le_variants", "get_all_lxc_variants") -def define_pineapple(): +def define_pineapple(t, v): + define_target_variant_modules( + target = t, + variant = v, + registry = display_driver_modules, + modules = [ + "msm_drm", + ], + config_options = [ + "CONFIG_DRM_MSM_SDE", + "CONFIG_SYNC_FILE", + "CONFIG_DRM_MSM_DSI", + "CONFIG_DRM_MSM_DP", + "CONFIG_DRM_MSM_DP_MST", + "CONFIG_DSI_PARSER", + "CONFIG_DRM_SDE_WB", + "CONFIG_DRM_SDE_RSC", + "CONFIG_DRM_MSM_REGISTER_LOGGING", + "CONFIG_QCOM_MDSS_PLL", + "CONFIG_HDCP_QSEECOM", + "CONFIG_DRM_SDE_VM", + "CONFIG_QCOM_WCD939X_I2C", + "CONFIG_THERMAL_OF", + "CONFIG_MSM_MMRM", + "CONFIG_QTI_HW_FENCE", + "CONFIG_QCOM_SPEC_SYNC", + "CONFIG_MSM_EXT_DISPLAY", + ], +) + +def define_blair(t, v): + define_target_variant_modules( + target = t, + variant = v, + registry = display_driver_modules, + modules = [ + "msm_drm", + ], + config_options = [ + "CONFIG_DRM_MSM_SDE", + "CONFIG_DRM_MSM_DSI", + "CONFIG_THERMAL_OF", + "CONFIG_DSI_PARSER", + "CONFIG_DRM_MSM_REGISTER_LOGGING", + "CONFIG_QCOM_MDSS_PLL", + "CONFIG_MSM_SDE_ROTATOR", + "CONFIG_SYNC_FILE", + "CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG", + "CONFIG_DEBUG_FS", + ], +) + +def define_pitti(t, v): + define_target_variant_modules( + target = t, + variant = v, + registry = display_driver_modules, + modules = [ + "msm_drm", + ], + config_options = [ + "CONFIG_DRM_MSM_SDE", + "CONFIG_DRM_MSM_DSI", + "CONFIG_THERMAL_OF", + "CONFIG_DSI_PARSER", + "CONFIG_DRM_MSM_REGISTER_LOGGING", + "CONFIG_QCOM_MDSS_PLL", + "CONFIG_MSM_SDE_ROTATOR", + "CONFIG_SYNC_FILE", + "CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG", + "CONFIG_DEBUG_FS", + ], +) + +def define_display_target(): for (t, v) in get_all_la_variants() + get_all_le_variants() + get_all_lxc_variants(): - define_target_variant_modules( - target = t, - variant = v, - registry = display_driver_modules, - modules = [ - "msm_drm", - ], - config_options = [ - "CONFIG_DRM_MSM_SDE", - "CONFIG_SYNC_FILE", - "CONFIG_DRM_MSM_DSI", - "CONFIG_DRM_MSM_DP", - "CONFIG_DRM_MSM_DP_MST", - "CONFIG_DSI_PARSER", - "CONFIG_DRM_SDE_WB", - "CONFIG_DRM_SDE_RSC", - "CONFIG_DRM_MSM_REGISTER_LOGGING", - "CONFIG_QCOM_MDSS_PLL", - "CONFIG_HDCP_QSEECOM", - "CONFIG_DRM_SDE_VM", - "CONFIG_QCOM_WCD939X_I2C", - "CONFIG_THERMAL_OF", - "CONFIG_MSM_MMRM", - "CONFIG_QTI_HW_FENCE", - "CONFIG_QCOM_SPEC_SYNC", - "CONFIG_MSM_EXT_DISPLAY" - ], - ) + if t == "blair": + define_blair(t, v) + if t == "pitti": + define_pitti(t, v) + if t == "pineapple": + define_pineapple(t, v)