Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 *
 * (C) COPYRIGHT 2017-2022 ARM Limited. All rights reserved.
 *
 * This program is free software and is provided to you under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation, and any use by you of this program is subject to the terms
 * of such GNU license.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, you can access it online at
 * http://www.gnu.org/licenses/gpl-2.0.html.
 *
 */

/* Kernel-side tests may include mali_kbase's headers. Therefore any config
 * options which affect the sizes of any structs (e.g. adding extra members)
 * must be included in these defaults, so that the structs are consistent in
 * both mali_kbase and the test modules. */
bob_defaults {
    name: "mali_kbase_shared_config_defaults",
    defaults: [
        "kernel_defaults",
    ],
    no_mali: {
        kbuild_options: [
            "CONFIG_MALI_BIFROST_NO_MALI=y",
            "CONFIG_MALI_NO_MALI_DEFAULT_GPU={{.gpu}}",
        ],
    },
    mali_platform_dt_pin_rst: {
        kbuild_options: ["CONFIG_MALI_PLATFORM_DT_PIN_RST=y"],
    },
    gpu_has_csf: {
        kbuild_options: ["CONFIG_MALI_CSF_SUPPORT=y"],
    },
    mali_devfreq: {
        kbuild_options: ["CONFIG_MALI_BIFROST_DEVFREQ=y"],
    },
    mali_midgard_dvfs: {
        kbuild_options: ["CONFIG_MALI_BIFROST_DVFS=y"],
    },
    mali_gator_support: {
        kbuild_options: ["CONFIG_MALI_BIFROST_GATOR_SUPPORT=y"],
    },
    mali_midgard_enable_trace: {
        kbuild_options: ["CONFIG_MALI_BIFROST_ENABLE_TRACE=y"],
    },
    mali_dma_fence: {
        kbuild_options: ["CONFIG_MALI_BIFROST_DMA_FENCE=y"],
    },
    mali_arbiter_support: {
        kbuild_options: ["CONFIG_MALI_ARBITER_SUPPORT=y"],
    },
    mali_dma_buf_map_on_demand: {
        kbuild_options: ["CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND=y"],
    },
    mali_dma_buf_legacy_compat: {
        kbuild_options: ["CONFIG_MALI_DMA_BUF_LEGACY_COMPAT=y"],
    },
    mali_2mb_alloc: {
        kbuild_options: ["CONFIG_MALI_2MB_ALLOC=y"],
    },
    mali_memory_fully_backed: {
        kbuild_options: ["CONFIG_MALI_MEMORY_FULLY_BACKED=y"],
    },
    mali_corestack: {
        kbuild_options: ["CONFIG_MALI_CORESTACK=y"],
    },
    mali_real_hw: {
        kbuild_options: ["CONFIG_MALI_REAL_HW=y"],
    },
    mali_error_inject_none: {
        kbuild_options: ["CONFIG_MALI_ERROR_INJECT_NONE=y"],
    },
    mali_error_inject_track_list: {
        kbuild_options: ["CONFIG_MALI_ERROR_INJECT_TRACK_LIST=y"],
    },
    mali_error_inject_random: {
        kbuild_options: ["CONFIG_MALI_ERROR_INJECT_RANDOM=y"],
    },
    mali_error_inject: {
        kbuild_options: ["CONFIG_MALI_BIFROST_ERROR_INJECT=y"],
    },
    mali_gem5_build: {
       kbuild_options: ["CONFIG_MALI_GEM5_BUILD=y"],
    },
    mali_debug: {
        kbuild_options: [
            "CONFIG_MALI_BIFROST_DEBUG=y",
            "MALI_KERNEL_TEST_API={{.debug}}",
        ],
    },
    mali_fence_debug: {
        kbuild_options: ["CONFIG_MALI_BIFROST_FENCE_DEBUG=y"],
    },
    mali_system_trace: {
        kbuild_options: ["CONFIG_MALI_BIFROST_SYSTEM_TRACE=y"],
    },
    buslog: {
        kbuild_options: ["CONFIG_MALI_BUSLOG=y"],
    },
    cinstr_vector_dump: {
        kbuild_options: ["CONFIG_MALI_VECTOR_DUMP=y"],
    },
    cinstr_gwt: {
        kbuild_options: ["CONFIG_MALI_CINSTR_GWT=y"],
    },
    cinstr_primary_hwc: {
        kbuild_options: ["CONFIG_MALI_PRFCNT_SET_PRIMARY=y"],
    },
    cinstr_secondary_hwc: {
        kbuild_options: ["CONFIG_MALI_BIFROST_PRFCNT_SET_SECONDARY=y"],
    },
    cinstr_tertiary_hwc: {
        kbuild_options: ["CONFIG_MALI_PRFCNT_SET_TERTIARY=y"],
    },
    cinstr_hwc_set_select_via_debug_fs: {
        kbuild_options: ["CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS=y"],
    },
    mali_job_dump: {
        kbuild_options: ["CONFIG_MALI_JOB_DUMP"],
    },
    mali_pwrsoft_765: {
        kbuild_options: ["CONFIG_MALI_PWRSOFT_765=y"],
    },
    mali_hw_errata_1485982_not_affected: {
        kbuild_options: ["CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED=y"],
    },
    mali_hw_errata_1485982_use_clock_alternative: {
        kbuild_options: ["CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE=y"],
    },
    platform_is_fpga: {
        kbuild_options: ["CONFIG_MALI_IS_FPGA=y"],
    },
    mali_fw_core_dump: {
        kbuild_options: ["CONFIG_MALI_FW_CORE_DUMP=y"],
    },
    kbuild_options: [
        "CONFIG_MALI_PLATFORM_NAME={{.mali_platform_name}}",
        "MALI_CUSTOMER_RELEASE={{.release}}",
        "MALI_UNIT_TEST={{.unit_test_code}}",
        "MALI_USE_CSF={{.gpu_has_csf}}",
        "MALI_JIT_PRESSURE_LIMIT_BASE={{.jit_pressure_limit_base}}",

        // Start of CS experimental features definitions.
        // If there is nothing below, definition should be added as follows:
        // "MALI_EXPERIMENTAL_FEATURE={{.experimental_feature}}"
        // experimental_feature above comes from Mconfig in
        // <ddk_root>/product/base/
        // However, in Mconfig, experimental_feature should be looked up (for
        // similar explanation to this one) as ALLCAPS, i.e.
        // EXPERIMENTAL_FEATURE.
        //
        // IMPORTANT: MALI_CS_EXPERIMENTAL should NEVER be defined below as it
        // is an umbrella feature that would be open for inappropriate use
        // (catch-all for experimental CS code without separating it into
        // different features).
        "MALI_INCREMENTAL_RENDERING_JM={{.incremental_rendering_jm}}",
        "MALI_GPU_TIMESTAMP_CORRECTION={{.gpu_timestamp_correction}}",
        "MALI_BASE_CSF_PERFORMANCE_TESTS={{.base_csf_performance_tests}}",
        "MALI_GPU_TIMESTAMP_INTERPOLATION={{.gpu_timestamp_interpolation}}",
    ],
}

bob_kernel_module {
    name: "mali_kbase",
    defaults: [
        "mali_kbase_shared_config_defaults",
    ],
    srcs: [
        "*.c",
        "*.h",
        "Kbuild",
        "backend/gpu/*.c",
        "backend/gpu/*.h",
        "backend/gpu/Kbuild",
        "context/*.c",
        "context/*.h",
        "context/Kbuild",
        "ipa/*.c",
        "ipa/*.h",
        "ipa/Kbuild",
        "platform/*.h",
        "platform/*/*.c",
        "platform/*/*.h",
        "platform/*/Kbuild",
        "thirdparty/*.c",
        "thirdparty/Kbuild",
        "debug/*.c",
        "debug/*.h",
        "debug/Kbuild",
        "device/*.c",
        "device/*.h",
        "device/Kbuild",
        "gpu/*.c",
        "gpu/*.h",
        "gpu/Kbuild",
        "tl/*.c",
        "tl/*.h",
        "tl/Kbuild",
        "mmu/*.c",
        "mmu/*.h",
        "mmu/Kbuild",
    ],
    gpu_has_job_manager: {
        srcs: [
            "context/backend/*_jm.c",
            "debug/backend/*_jm.c",
            "debug/backend/*_jm.h",
            "device/backend/*_jm.c",
            "gpu/backend/*_jm.c",
            "gpu/backend/*_jm.h",
            "jm/*.h",
            "tl/backend/*_jm.c",
            "mmu/backend/*_jm.c",
            "ipa/backend/*_jm.c",
            "ipa/backend/*_jm.h",
        ],
    },
    gpu_has_csf: {
        srcs: [
            "context/backend/*_csf.c",
            "csf/*.c",
            "csf/*.h",
            "csf/Kbuild",
            "csf/ipa_control/*.c",
            "csf/ipa_control/*.h",
            "csf/ipa_control/Kbuild",
            "debug/backend/*_csf.c",
            "debug/backend/*_csf.h",
            "device/backend/*_csf.c",
            "gpu/backend/*_csf.c",
            "gpu/backend/*_csf.h",
            "tl/backend/*_csf.c",
            "mmu/backend/*_csf.c",
            "ipa/backend/*_csf.c",
            "ipa/backend/*_csf.h",
        ],
    },
    mali_arbiter_support: {
        srcs: [
            "arbiter/*.c",
            "arbiter/*.h",
            "arbiter/Kbuild",
        ],
    },
    kbuild_options: [
        "CONFIG_MALI_BIFROST=m",
        "CONFIG_MALI_KUTF=n",
    ],
    buslog: {
        extra_symbols: [
            "bus_logger",
        ],
    },
}