13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 23d0407baSopenharmony_ci/* 33d0407baSopenharmony_ci * 43d0407baSopenharmony_ci * (C) COPYRIGHT 2017-2021 ARM Limited. All rights reserved. 53d0407baSopenharmony_ci * 63d0407baSopenharmony_ci * This program is free software and is provided to you under the terms of the 73d0407baSopenharmony_ci * GNU General Public License version 2 as published by the Free Software 83d0407baSopenharmony_ci * Foundation, and any use by you of this program is subject to the terms 93d0407baSopenharmony_ci * of such GNU license. 103d0407baSopenharmony_ci * 113d0407baSopenharmony_ci * This program is distributed in the hope that it will be useful, 123d0407baSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 133d0407baSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 143d0407baSopenharmony_ci * GNU General Public License for more details. 153d0407baSopenharmony_ci * 163d0407baSopenharmony_ci * You should have received a copy of the GNU General Public License 173d0407baSopenharmony_ci * along with this program; if not, you can access it online at 183d0407baSopenharmony_ci * http://www.gnu.org/licenses/gpl-2.0.html. 193d0407baSopenharmony_ci * 203d0407baSopenharmony_ci */ 213d0407baSopenharmony_ci 223d0407baSopenharmony_ci/* Kernel-side tests may include mali_kbase's headers. Therefore any config 233d0407baSopenharmony_ci * options which affect the sizes of any structs (e.g. adding extra members) 243d0407baSopenharmony_ci * must be included in these defaults, so that the structs are consistent in 253d0407baSopenharmony_ci * both mali_kbase and the test modules. */ 263d0407baSopenharmony_cibob_defaults { 273d0407baSopenharmony_ci name: "mali_kbase_shared_config_defaults", 283d0407baSopenharmony_ci defaults: [ 293d0407baSopenharmony_ci "kernel_defaults", 303d0407baSopenharmony_ci ], 313d0407baSopenharmony_ci no_mali: { 323d0407baSopenharmony_ci kbuild_options: [ 333d0407baSopenharmony_ci "CONFIG_MALI_BIFROST_NO_MALI=y", 343d0407baSopenharmony_ci "CONFIG_MALI_NO_MALI_DEFAULT_GPU={{.gpu}}", 353d0407baSopenharmony_ci ], 363d0407baSopenharmony_ci }, 373d0407baSopenharmony_ci gpu_has_csf: { 383d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_CSF_SUPPORT=y"], 393d0407baSopenharmony_ci }, 403d0407baSopenharmony_ci mali_devfreq: { 413d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_DEVFREQ=y"], 423d0407baSopenharmony_ci }, 433d0407baSopenharmony_ci mali_midgard_dvfs: { 443d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_DVFS=y"], 453d0407baSopenharmony_ci }, 463d0407baSopenharmony_ci mali_gator_support: { 473d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_GATOR_SUPPORT=y"], 483d0407baSopenharmony_ci }, 493d0407baSopenharmony_ci mali_midgard_enable_trace: { 503d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_ENABLE_TRACE=y"], 513d0407baSopenharmony_ci }, 523d0407baSopenharmony_ci mali_dma_fence: { 533d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_DMA_FENCE=y"], 543d0407baSopenharmony_ci }, 553d0407baSopenharmony_ci mali_arbiter_support: { 563d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_ARBITER_SUPPORT=y"], 573d0407baSopenharmony_ci }, 583d0407baSopenharmony_ci mali_dma_buf_map_on_demand: { 593d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND=y"], 603d0407baSopenharmony_ci }, 613d0407baSopenharmony_ci mali_dma_buf_legacy_compat: { 623d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_DMA_BUF_LEGACY_COMPAT=y"], 633d0407baSopenharmony_ci }, 643d0407baSopenharmony_ci mali_2mb_alloc: { 653d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_2MB_ALLOC=y"], 663d0407baSopenharmony_ci }, 673d0407baSopenharmony_ci mali_memory_fully_backed: { 683d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_MEMORY_FULLY_BACKED=y"], 693d0407baSopenharmony_ci }, 703d0407baSopenharmony_ci mali_corestack: { 713d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_CORESTACK=y"], 723d0407baSopenharmony_ci }, 733d0407baSopenharmony_ci mali_real_hw: { 743d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_REAL_HW=y"], 753d0407baSopenharmony_ci }, 763d0407baSopenharmony_ci mali_error_inject_none: { 773d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_ERROR_INJECT_NONE=y"], 783d0407baSopenharmony_ci }, 793d0407baSopenharmony_ci mali_error_inject_track_list: { 803d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_ERROR_INJECT_TRACK_LIST=y"], 813d0407baSopenharmony_ci }, 823d0407baSopenharmony_ci mali_error_inject_random: { 833d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_ERROR_INJECT_RANDOM=y"], 843d0407baSopenharmony_ci }, 853d0407baSopenharmony_ci mali_error_inject: { 863d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_ERROR_INJECT=y"], 873d0407baSopenharmony_ci }, 883d0407baSopenharmony_ci mali_gem5_build: { 893d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_GEM5_BUILD=y"], 903d0407baSopenharmony_ci }, 913d0407baSopenharmony_ci mali_debug: { 923d0407baSopenharmony_ci kbuild_options: [ 933d0407baSopenharmony_ci "CONFIG_MALI_BIFROST_DEBUG=y", 943d0407baSopenharmony_ci "MALI_KERNEL_TEST_API={{.debug}}", 953d0407baSopenharmony_ci ], 963d0407baSopenharmony_ci }, 973d0407baSopenharmony_ci mali_fence_debug: { 983d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_FENCE_DEBUG=y"], 993d0407baSopenharmony_ci }, 1003d0407baSopenharmony_ci mali_system_trace: { 1013d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_SYSTEM_TRACE=y"], 1023d0407baSopenharmony_ci }, 1033d0407baSopenharmony_ci buslog: { 1043d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BUSLOG=y"], 1053d0407baSopenharmony_ci }, 1063d0407baSopenharmony_ci cinstr_vector_dump: { 1073d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_VECTOR_DUMP=y"], 1083d0407baSopenharmony_ci }, 1093d0407baSopenharmony_ci cinstr_gwt: { 1103d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_CINSTR_GWT=y"], 1113d0407baSopenharmony_ci }, 1123d0407baSopenharmony_ci cinstr_primary_hwc: { 1133d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_PRFCNT_SET_PRIMARY=y"], 1143d0407baSopenharmony_ci }, 1153d0407baSopenharmony_ci cinstr_secondary_hwc: { 1163d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_BIFROST_PRFCNT_SET_SECONDARY=y"], 1173d0407baSopenharmony_ci }, 1183d0407baSopenharmony_ci cinstr_tertiary_hwc: { 1193d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_PRFCNT_SET_TERTIARY=y"], 1203d0407baSopenharmony_ci }, 1213d0407baSopenharmony_ci cinstr_hwc_set_select_via_debug_fs: { 1223d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS=y"], 1233d0407baSopenharmony_ci }, 1243d0407baSopenharmony_ci mali_job_dump: { 1253d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_JOB_DUMP"], 1263d0407baSopenharmony_ci }, 1273d0407baSopenharmony_ci mali_pwrsoft_765: { 1283d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_PWRSOFT_765=y"], 1293d0407baSopenharmony_ci }, 1303d0407baSopenharmony_ci mali_hw_errata_1485982_not_affected: { 1313d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED=y"], 1323d0407baSopenharmony_ci }, 1333d0407baSopenharmony_ci mali_hw_errata_1485982_use_clock_alternative: { 1343d0407baSopenharmony_ci kbuild_options: ["CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE=y"], 1353d0407baSopenharmony_ci }, 1363d0407baSopenharmony_ci kbuild_options: [ 1373d0407baSopenharmony_ci "CONFIG_MALI_PLATFORM_NAME={{.mali_platform_name}}", 1383d0407baSopenharmony_ci "MALI_CUSTOMER_RELEASE={{.release}}", 1393d0407baSopenharmony_ci "MALI_UNIT_TEST={{.unit_test_code}}", 1403d0407baSopenharmony_ci "MALI_USE_CSF={{.gpu_has_csf}}", 1413d0407baSopenharmony_ci "MALI_JIT_PRESSURE_LIMIT_BASE={{.jit_pressure_limit_base}}", 1423d0407baSopenharmony_ci 1433d0407baSopenharmony_ci // Start of CS experimental features definitions. 1443d0407baSopenharmony_ci // If there is nothing below, definition should be added as follows: 1453d0407baSopenharmony_ci // "MALI_EXPERIMENTAL_FEATURE={{.experimental_feature}}" 1463d0407baSopenharmony_ci // experimental_feature above comes from Mconfig in 1473d0407baSopenharmony_ci // <ddk_root>/product/base/ 1483d0407baSopenharmony_ci // However, in Mconfig, experimental_feature should be looked up (for 1493d0407baSopenharmony_ci // similar explanation to this one) as ALLCAPS, i.e. 1503d0407baSopenharmony_ci // EXPERIMENTAL_FEATURE. 1513d0407baSopenharmony_ci // 1523d0407baSopenharmony_ci // IMPORTANT: MALI_CS_EXPERIMENTAL should NEVER be defined below as it 1533d0407baSopenharmony_ci // is an umbrella feature that would be open for inappropriate use 1543d0407baSopenharmony_ci // (catch-all for experimental CS code without separating it into 1553d0407baSopenharmony_ci // different features). 1563d0407baSopenharmony_ci "MALI_INCREMENTAL_RENDERING={{.incremental_rendering}}", 1573d0407baSopenharmony_ci "MALI_GPU_TIMESTAMP_CORRECTION={{.gpu_timestamp_correction}}", 1583d0407baSopenharmony_ci "MALI_BASE_CSF_PERFORMANCE_TESTS={{.base_csf_performance_tests}}", 1593d0407baSopenharmony_ci "MALI_GPU_TIMESTAMP_INTERPOLATION={{.gpu_timestamp_interpolation}}", 1603d0407baSopenharmony_ci ], 1613d0407baSopenharmony_ci} 1623d0407baSopenharmony_ci 1633d0407baSopenharmony_cibob_kernel_module { 1643d0407baSopenharmony_ci name: "mali_kbase", 1653d0407baSopenharmony_ci defaults: [ 1663d0407baSopenharmony_ci "mali_kbase_shared_config_defaults", 1673d0407baSopenharmony_ci ], 1683d0407baSopenharmony_ci srcs: [ 1693d0407baSopenharmony_ci "*.c", 1703d0407baSopenharmony_ci "*.h", 1713d0407baSopenharmony_ci "Kbuild", 1723d0407baSopenharmony_ci "backend/gpu/*.c", 1733d0407baSopenharmony_ci "backend/gpu/*.h", 1743d0407baSopenharmony_ci "backend/gpu/Kbuild", 1753d0407baSopenharmony_ci "context/*.c", 1763d0407baSopenharmony_ci "context/*.h", 1773d0407baSopenharmony_ci "context/Kbuild", 1783d0407baSopenharmony_ci "ipa/*.c", 1793d0407baSopenharmony_ci "ipa/*.h", 1803d0407baSopenharmony_ci "ipa/Kbuild", 1813d0407baSopenharmony_ci "platform/*.h", 1823d0407baSopenharmony_ci "platform/*/*.c", 1833d0407baSopenharmony_ci "platform/*/*.h", 1843d0407baSopenharmony_ci "platform/*/Kbuild", 1853d0407baSopenharmony_ci "thirdparty/*.c", 1863d0407baSopenharmony_ci "thirdparty/Kbuild", 1873d0407baSopenharmony_ci "debug/*.c", 1883d0407baSopenharmony_ci "debug/*.h", 1893d0407baSopenharmony_ci "debug/Kbuild", 1903d0407baSopenharmony_ci "device/*.c", 1913d0407baSopenharmony_ci "device/*.h", 1923d0407baSopenharmony_ci "device/Kbuild", 1933d0407baSopenharmony_ci "gpu/*.c", 1943d0407baSopenharmony_ci "gpu/*.h", 1953d0407baSopenharmony_ci "gpu/Kbuild", 1963d0407baSopenharmony_ci "tl/*.c", 1973d0407baSopenharmony_ci "tl/*.h", 1983d0407baSopenharmony_ci "tl/Kbuild", 1993d0407baSopenharmony_ci "mmu/*.c", 2003d0407baSopenharmony_ci "mmu/*.h", 2013d0407baSopenharmony_ci "mmu/Kbuild", 2023d0407baSopenharmony_ci ], 2033d0407baSopenharmony_ci gpu_has_job_manager: { 2043d0407baSopenharmony_ci srcs: [ 2053d0407baSopenharmony_ci "context/backend/*_jm.c", 2063d0407baSopenharmony_ci "debug/backend/*_jm.c", 2073d0407baSopenharmony_ci "debug/backend/*_jm.h", 2083d0407baSopenharmony_ci "device/backend/*_jm.c", 2093d0407baSopenharmony_ci "gpu/backend/*_jm.c", 2103d0407baSopenharmony_ci "gpu/backend/*_jm.h", 2113d0407baSopenharmony_ci "jm/*.h", 2123d0407baSopenharmony_ci "tl/backend/*_jm.c", 2133d0407baSopenharmony_ci "mmu/backend/*_jm.c", 2143d0407baSopenharmony_ci "ipa/backend/*_jm.c", 2153d0407baSopenharmony_ci "ipa/backend/*_jm.h", 2163d0407baSopenharmony_ci ], 2173d0407baSopenharmony_ci }, 2183d0407baSopenharmony_ci gpu_has_csf: { 2193d0407baSopenharmony_ci srcs: [ 2203d0407baSopenharmony_ci "context/backend/*_csf.c", 2213d0407baSopenharmony_ci "csf/*.c", 2223d0407baSopenharmony_ci "csf/*.h", 2233d0407baSopenharmony_ci "csf/Kbuild", 2243d0407baSopenharmony_ci "csf/ipa_control/*.c", 2253d0407baSopenharmony_ci "csf/ipa_control/*.h", 2263d0407baSopenharmony_ci "csf/ipa_control/Kbuild", 2273d0407baSopenharmony_ci "debug/backend/*_csf.c", 2283d0407baSopenharmony_ci "debug/backend/*_csf.h", 2293d0407baSopenharmony_ci "device/backend/*_csf.c", 2303d0407baSopenharmony_ci "gpu/backend/*_csf.c", 2313d0407baSopenharmony_ci "gpu/backend/*_csf.h", 2323d0407baSopenharmony_ci "tl/backend/*_csf.c", 2333d0407baSopenharmony_ci "mmu/backend/*_csf.c", 2343d0407baSopenharmony_ci "ipa/backend/*_csf.c", 2353d0407baSopenharmony_ci "ipa/backend/*_csf.h", 2363d0407baSopenharmony_ci ], 2373d0407baSopenharmony_ci }, 2383d0407baSopenharmony_ci mali_arbiter_support: { 2393d0407baSopenharmony_ci srcs: [ 2403d0407baSopenharmony_ci "arbiter/*.c", 2413d0407baSopenharmony_ci "arbiter/*.h", 2423d0407baSopenharmony_ci "arbiter/Kbuild", 2433d0407baSopenharmony_ci ], 2443d0407baSopenharmony_ci }, 2453d0407baSopenharmony_ci kbuild_options: [ 2463d0407baSopenharmony_ci "CONFIG_MALI_BIFROST=m", 2473d0407baSopenharmony_ci "CONFIG_MALI_KUTF=n", 2483d0407baSopenharmony_ci ], 2493d0407baSopenharmony_ci buslog: { 2503d0407baSopenharmony_ci extra_symbols: [ 2513d0407baSopenharmony_ci "bus_logger", 2523d0407baSopenharmony_ci ], 2533d0407baSopenharmony_ci }, 2543d0407baSopenharmony_ci} 255