ファイル
android_kernel_samsung_sm86…/qcom/opensource/graphics-kernel/build/kgsl_defs.bzl
David Wronek 880d405719 Add 'qcom/opensource/graphics-kernel/' from commit 'b4fdc4c04295ac59109ae19d64747522740c3f14'
git-subtree-dir: qcom/opensource/graphics-kernel
git-subtree-mainline: 992813d9c1
git-subtree-split: b4fdc4c042
Change-Id:
repo: https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/graphics-kernel
tag: GRAPHICS.LA.14.0.r1-07700-lanai.0
2024-10-06 16:44:56 +02:00

160 行
4.9 KiB
Python

load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
msm_kgsl_includes = [
"include/linux/msm_kgsl.h",
"include/uapi/linux/msm_kgsl.h",
]
def kgsl_get_srcs():
srcs = [
"adreno.c",
"adreno_a3xx.c",
"adreno_a3xx_perfcounter.c",
"adreno_a3xx_ringbuffer.c",
"adreno_a3xx_snapshot.c",
"adreno_a5xx.c",
"adreno_a5xx_perfcounter.c",
"adreno_a5xx_preempt.c",
"adreno_a5xx_ringbuffer.c",
"adreno_a5xx_snapshot.c",
"adreno_a6xx.c",
"adreno_a6xx_gmu.c",
"adreno_a6xx_gmu_snapshot.c",
"adreno_a6xx_hfi.c",
"adreno_a6xx_hwsched.c",
"adreno_a6xx_hwsched_hfi.c",
"adreno_a6xx_perfcounter.c",
"adreno_a6xx_preempt.c",
"adreno_a6xx_rgmu.c",
"adreno_a6xx_ringbuffer.c",
"adreno_a6xx_rpmh.c",
"adreno_a6xx_snapshot.c",
"adreno_cp_parser.c",
"adreno_dispatch.c",
"adreno_drawctxt.c",
"adreno_gen7.c",
"adreno_gen7_gmu.c",
"adreno_gen7_gmu_snapshot.c",
"adreno_gen7_hfi.c",
"adreno_gen7_hwsched.c",
"adreno_gen7_hwsched_hfi.c",
"adreno_gen7_perfcounter.c",
"adreno_gen7_preempt.c",
"adreno_gen7_ringbuffer.c",
"adreno_gen7_rpmh.c",
"adreno_gen7_snapshot.c",
"adreno_gen8.c",
"adreno_gen8_gmu.c",
"adreno_gen8_gmu_snapshot.c",
"adreno_gen8_hfi.c",
"adreno_gen8_hwsched.c",
"adreno_gen8_hwsched_hfi.c",
"adreno_gen8_perfcounter.c",
"adreno_gen8_preempt.c",
"adreno_gen8_ringbuffer.c",
"adreno_gen8_rpmh.c",
"adreno_gen8_snapshot.c",
"adreno_hwsched.c",
"adreno_ioctl.c",
"adreno_perfcounter.c",
"adreno_ringbuffer.c",
"adreno_snapshot.c",
"adreno_sysfs.c",
"adreno_trace.c",
"governor_msm_adreno_tz.c",
"governor_gpubw_mon.c",
"kgsl.c",
"kgsl_bus.c",
"kgsl_drawobj.c",
"kgsl_events.c",
"kgsl_eventlog.c",
"kgsl_gmu_core.c",
"kgsl_ioctl.c",
"kgsl_mmu.c",
"kgsl_pwrctrl.c",
"kgsl_pwrscale.c",
"kgsl_regmap.c",
"kgsl_sharedmem.c",
"kgsl_snapshot.c",
"kgsl_timeline.c",
"kgsl_trace.c",
"kgsl_util.c",
"kgsl_vbo.c",
]
srcs = srcs + native.glob(["*.h"]) + msm_kgsl_includes
return srcs
def external_deps(target, variant):
tv = "{}_{}".format(target, variant)
deplist = []
defconfigs = []
# Add msm_hw_fence in the dependency and defconfig lists for targets that use it
if target in [ "pineapple" ]:
deplist = deplist + [
"//vendor/qcom/opensource/mm-drivers/hw_fence:{}_msm_hw_fence".format(tv)
]
defconfigs = defconfigs + [
"//vendor/qcom/opensource/mm-drivers/hw_fence:defconfig"
]
native.genrule(
name = "{}_defconfig".format(tv),
srcs = defconfigs + [ "config/{}_gpuconf".format(tv) ],
outs = [ "{}_defconfig.generated".format(tv) ],
cmd = "cat $(SRCS) > $@"
)
return deplist
def define_target_variant_module(target, variant):
tv = "{}_{}".format(target, variant)
rule_name = "{}_msm_kgsl".format(tv)
kernel_build = "//msm-kernel:{}".format(tv)
ext_deps = external_deps(target, variant)
ddk_module(
name = rule_name,
out = "msm_kgsl.ko",
srcs = kgsl_get_srcs(),
defconfig = "{}_defconfig".format(tv),
kconfig = "Kconfig",
conditional_srcs = {
"CONFIG_ARM_SMMU": { True: [ "kgsl_iommu.c" ] },
"CONFIG_COMPAT": { True: [ "kgsl_compat.c", "adreno_compat.c" ] },
"CONFIG_DEBUG_FS": { True: [ "kgsl_debugfs.c", "adreno_debugfs.c", "adreno_profile.c" ] },
"CONFIG_QCOM_KGSL_CORESIGHT": { True: [
"adreno_coresight.c",
"adreno_a3xx_coresight.c",
"adreno_a5xx_coresight.c",
"adreno_a6xx_coresight.c",
"adreno_gen7_coresight.c"] },
"CONFIG_QCOM_KGSL_PROCESS_RECLAIM": { True: [ "kgsl_reclaim.c" ] },
"CONFIG_QCOM_KGSL_USE_SHMEM": { False: [ "kgsl_pool.c" ] },
"CONFIG_SYNC_FILE": { True: [ "kgsl_sync.c" ] },
},
deps = [ "//msm-kernel:all_headers" ] + ext_deps,
includes = ["include", "."],
kernel_build = kernel_build,
visibility = ["//visibility:private"]
)
copy_to_dist_dir(
name = "{}_dist".format(rule_name),
data = [rule_name],
dist_dir = "out/graphics-kernel",
flat = True,
wipe_dist_dir = False,
allow_duplicate_filenames = False,
mode_overrides = {"**/*": "644"},
log = "info",
)
def define_target_module(target):
define_target_variant_module(target, "gki")
define_target_variant_module(target, "consolidate")