Эх сурвалжийг харах

disp: add bazel build support for blair target

Add support to display-drivers modules using DDK
framework for blair.

Change-Id: I6110b4144e263054ed956497dbe956f5743315c7
Signed-off-by: Gaurav LNU <[email protected]>
Gaurav LNU 1 жил өмнө
parent
commit
cbc9f69f2a
4 өөрчлөгдсөн 85 нэмэгдсэн , 40 устгасан
  1. 2 2
      BUILD.bazel
  2. 13 2
      display_driver_build.bzl
  3. 17 7
      display_modules.bzl
  4. 53 29
      target.bzl

+ 2 - 2
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()

+ 13 - 2
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]
@@ -20,6 +21,14 @@ def _register_module_to_map(module_map, name, path, config_option, srcs, config_
                     for nest_src in nest_name:
                         final_srcs = nest_name[nest_src]
                         processed_config_srcs[nest_src] = final_srcs
+
+    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",
-    )
+    )

+ 17 - 7
display_modules.bzl

@@ -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"
+        ],
+       }
 )

+ 53 - 29
target.bzl

@@ -2,33 +2,57 @@ 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",
+        ],
+)
+
+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)
+        else:
+            define_pineapple(t, v)