mirror of
git://nv-tegra.nvidia.com/linux-hwpm.git
synced 2025-12-22 17:30:40 +03:00
tegra: hwpm: os: linux: update kernel vers. check
This is needed when building HWPM driver locally without
NVIDIA build system.
- driver.c: use kernel version check to select the correct
signature of class:devnode
- mem_mgmt_utils.c:
- use kernel version check to provide correct parameter
of MODULE_IMPORT_NS macro
- use kernel version check to select the correct signature
of get_user_pages function
- mem_mgmt_utils.h: use kernel version check to select
between iosys-map or dma-buf-map
Bug 5120925
Change-Id: Ib33afc4d99056d5b872f0d4362e0e6c25eb7b64a
Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-hwpm/+/3306471
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Yifei Wan <ywan@nvidia.com>
Reviewed-by: Vasuki Shankar <vasukis@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
47aa6ea0b9
commit
547508653d
@@ -1,4 +1,4 @@
|
||||
/* SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
/* SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: GPL-2.0-only
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/dma-buf.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/version.h>
|
||||
|
||||
#include <tegra_hwpm.h>
|
||||
#include <tegra_hwpm_ip.h>
|
||||
@@ -53,7 +54,8 @@ static const struct of_device_id tegra_soc_hwpm_of_match[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, tegra_soc_hwpm_of_match);
|
||||
|
||||
#if defined(NV_CLASS_STRUCT_DEVNODE_HAS_CONST_DEV_ARG)
|
||||
#if defined(NV_CLASS_STRUCT_DEVNODE_HAS_CONST_DEV_ARG) || \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(6, 2, 0)
|
||||
static char *tegra_hwpm_get_devnode(const struct device *dev, umode_t *mode)
|
||||
#else
|
||||
static char *tegra_hwpm_get_devnode(struct device *dev, umode_t *mode)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
// SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
// SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
|
||||
#include <nvidia/conftest.h>
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
|
||||
#include <os/linux/driver.h>
|
||||
|
||||
#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY)
|
||||
#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) || \
|
||||
LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
|
||||
MODULE_IMPORT_NS(DMA_BUF);
|
||||
#else
|
||||
MODULE_IMPORT_NS("DMA_BUF");
|
||||
@@ -460,7 +461,7 @@ int tegra_hwpm_map_update_allowlist(struct tegra_soc_hwpm *hwpm,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
#if defined(NV_GET_USER_PAGES_HAS_ARGS_FLAGS) /* Linux v6.5 */
|
||||
#if defined(NV_GET_USER_PAGES_HAS_ARGS_FLAGS) || LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
|
||||
pinned_pages = get_user_pages(user_va & PAGE_MASK,
|
||||
hwpm->alist_map->num_pages, 0, hwpm->alist_map->pages);
|
||||
#else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -23,8 +23,10 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/version.h>
|
||||
#if defined(NV_LINUX_IOSYS_MAP_H_PRESENT)
|
||||
#if defined(NV_LINUX_IOSYS_MAP_H_PRESENT) || \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
#include <linux/iosys-map.h>
|
||||
#define HWPM_IOSYS_MAP_PRESENT 1
|
||||
#else
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)
|
||||
#include <linux/dma-buf-map.h>
|
||||
@@ -53,13 +55,11 @@ struct tegra_hwpm_mem_mgmt {
|
||||
struct dma_buf *mem_bytes_dma_buf;
|
||||
struct dma_buf_attachment *mem_bytes_attach;
|
||||
void *mem_bytes_kernel;
|
||||
#if defined(NV_LINUX_IOSYS_MAP_H_PRESENT)
|
||||
#if defined(HWPM_IOSYS_MAP_PRESENT)
|
||||
struct iosys_map mem_bytes_map;
|
||||
#else
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)
|
||||
struct dma_buf_map mem_bytes_map;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
struct tegra_hwpm_allowlist_map {
|
||||
|
||||
Reference in New Issue
Block a user