550.40.07

This commit is contained in:
Bernhard Stoeckner
2024-01-24 17:51:53 +01:00
parent bb2dac1f20
commit 91676d6628
1411 changed files with 261367 additions and 145959 deletions

View File

@@ -67,11 +67,16 @@ struct CLIENT_ENTRY
* Base-class for objects that are shared among multiple
* RsResources (including RsResources from other clients)
*/
// Private field names are wrapped in PRIVATE_FIELD, which does nothing for
// the matching C source file, but causes diagnostics to be issued if another
// source file references the field.
#ifdef NVOC_RS_SERVER_H_PRIVATE_ACCESS_ALLOWED
#define PRIVATE_FIELD(x) x
#else
#define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
#endif
struct RsShared {
const struct NVOC_RTTI *__nvoc_rtti;
struct Object __nvoc_base_Object;
@@ -125,11 +130,16 @@ MAKE_INTRUSIVE_MAP(RsSharedMap, RsShared, node);
* that occur on objects which reference an RsSession will
* need to acquire pLock first.
*/
// Private field names are wrapped in PRIVATE_FIELD, which does nothing for
// the matching C source file, but causes diagnostics to be issued if another
// source file references the field.
#ifdef NVOC_RS_SERVER_H_PRIVATE_ACCESS_ALLOWED
#define PRIVATE_FIELD(x) x
#else
#define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x)
#endif
struct RsSession {
const struct NVOC_RTTI *__nvoc_rtti;
struct RsShared __nvoc_base_RsShared;
@@ -663,10 +673,24 @@ extern NV_STATUS serverAllocApiCopyOut(RsServer *pServer, NV_STATUS status, API_
* Obtain a second client handle to lock if required for the allocation.
* @param[in] externalClassId External class ID of resource
* @param[in] pAllocParams Class-specific allocation parameters
* @param[out] phSecondClient Second client handle to lock on success
*
* @return Second client to lock, if any
* @return NV_OK on success
NV_ERR_INVALID_STATE if allocation is incorrectly configured with RS_FLAGS_DUAL_CLIENT_LOCK without having updated this function.
*/
extern NvHandle serverAllocLookupSecondClient(NvU32 externalClassId, void *pAllocParams);
extern NV_STATUS serverAllocLookupSecondClient(NvU32 externalClassId, void *pAllocParams, NvHandle *phSecondClient);
/**
* Obtain a second client handle to lock if required for the control (DISCOURAGED).
* @param[in] cmd Control call ID
* @param[in] pControlParams Control-specific parameters
* @param[in] pCookie Control call cookie to check flags for
* @param[out] phSecondClient Second client handle to lock on success
*
* @return NV_OK on success
NV_ERR_INVALID_STATE if allocation is incorrectly configured with RMCTRL_FLAGS_DUAL_CLIENT_LOCK without having updated this function.
*/
extern NV_STATUS serverControlLookupSecondClient(NvU32 cmd, void *pControlParams, RS_CONTROL_COOKIE *pCookie, NvHandle *phSecondClient);
/**
* Acquires a top-level lock. User-implemented.