mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-06 16:19:58 +00:00
545.23.06
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2021-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
||||
@@ -317,6 +317,18 @@ NV_STATUS embeddedParamCopyOut(RMAPI_PARAM_COPY *pParamCopy, RmCtrlParams *pRmC
|
||||
// is enabled; see g_bRsAccessEnabled.
|
||||
//
|
||||
|
||||
|
||||
/*
|
||||
* On T234, RM is in kernel mode, so when RM is running in kernel mode it
|
||||
* does not allow usermode clients like MODs to call control calls that are
|
||||
* marked as KERNEL_PRIVILEGED.
|
||||
* So defining new macro DISPLAY_PRIVILEGED(i.e PRIVILEGED) for Tegra and mark
|
||||
* control calls needed by MODs with this so that MODs running as root can call
|
||||
* these control calls. However keeping same privilege level for DGPUs which
|
||||
* does not change the current behaviour.
|
||||
*/
|
||||
#define DISPLAY_PRIVILEGED KERNEL_PRIVILEGED
|
||||
|
||||
#endif // _CONTROL_H_
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2018-2020 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2018-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@@ -38,6 +38,7 @@ typedef struct CALL_CONTEXT CALL_CONTEXT;
|
||||
typedef struct MEMORY_DESCRIPTOR MEMORY_DESCRIPTOR;
|
||||
typedef struct RS_RES_FREE_PARAMS_INTERNAL RS_RES_FREE_PARAMS_INTERNAL;
|
||||
typedef struct RS_LOCK_INFO RS_LOCK_INFO;
|
||||
typedef struct NV0000_CTRL_SYSTEM_GET_LOCK_TIMES_PARAMS NV0000_CTRL_SYSTEM_GET_LOCK_TIMES_PARAMS;
|
||||
typedef NvU32 NV_ADDRESS_SPACE;
|
||||
|
||||
extern RsServer g_resServ;
|
||||
@@ -90,6 +91,15 @@ void rmapiLockRelease(void);
|
||||
*/
|
||||
NvBool rmapiLockIsOwner(void);
|
||||
|
||||
/**
|
||||
* Check if current thread owns the RW API lock
|
||||
*/
|
||||
NvBool rmapiLockIsWriteOwner(void);
|
||||
|
||||
/**
|
||||
* Retrieve total RM API lock wait and hold times
|
||||
*/
|
||||
void rmapiLockGetTimes(NV0000_CTRL_SYSTEM_GET_LOCK_TIMES_PARAMS *);
|
||||
|
||||
/**
|
||||
* Type of RM API client interface
|
||||
@@ -309,12 +319,13 @@ rmapiEpilogue
|
||||
RM_API_CONTEXT *pContext
|
||||
);
|
||||
|
||||
void
|
||||
NV_STATUS
|
||||
rmapiInitLockInfo
|
||||
(
|
||||
RM_API *pRmApi,
|
||||
NvHandle hClient,
|
||||
RS_LOCK_INFO *pLockInfo
|
||||
RM_API *pRmApi,
|
||||
NvHandle hClient,
|
||||
NvHandle hSecondClient,
|
||||
RS_LOCK_INFO *pLockInfo
|
||||
);
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user