NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvrm_gpu.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  */
10 
11 #ifndef INCLUDED_nvrm_gpu_H
12 #define INCLUDED_nvrm_gpu_H
13 
14 #include <stdbool.h>
15 #include <stdint.h>
16 #include <stddef.h>
17 
18 #include "nvcommon.h"
19 #include "nverror.h"
20 
21 #if defined(__cplusplus)
22 extern "C"
23 {
24 #endif
25 
26 #if defined(NVRM_GPU_BUILD_VARIANT)
27 namespace nvrm_gpu
28 {
29 #endif
30 
300 
301 // -------------------------------------------------
302 // --------------- API Groups ----------------------
303 // -------------------------------------------------
304 
306 
311 
315 
320 
324 
325 // -------------------------------------------------
326 // --------------- Handles -------------------------
327 // -------------------------------------------------
328 
336 typedef struct NvRmGpuLibRec NvRmGpuLib;
337 
345 typedef struct NvRmGpuDeviceRec NvRmGpuDevice;
346 
352 typedef struct NvRmGpuDeviceEventSessionRec NvRmGpuDeviceEventSession;
353 
354 
355 // -------------------------------------------------
356 // --------------- Library functions ---------------
357 // -------------------------------------------------
358 
365 {
369  uint32_t major;
370 
374  uint32_t minor;
375 
379  uint32_t patch;
380 
391  const char *suffix;
392 
394 
424 
442 typedef struct NvRmGpuLibOpenAttrRec
443 {
445  uint32_t reserved;
446 
448 
455 #define NVRM_GPU_DEFINE_LIB_OPEN_ATTR(x) NvRmGpuLibOpenAttr x = { 0U }
456 
534 
575 
582 typedef enum
583 {
586 
589 
593 
595 
596 
603 {
606 
611 
621  const char *name;
623 
662 const NvRmGpuLibDeviceListEntry *NvRmGpuLibListDevices(NvRmGpuLib *hLib, size_t *pNumDevices);
663 
664 
665 
675 #define NVRM_GPU_DEVICE_INDEX_DEFAULT (-1)
676 
715 typedef enum
716 {
725 
728 
732 
733 
743 {
757 
770 
779 #define NVRM_GPU_DEFINE_DEVICE_OPEN_ATTR(x) \
780  NvRmGpuDeviceOpenAttr x = { NvRmGpuSyncType_Default, false }
781 
782 
827 NvError NvRmGpuDeviceOpen(NvRmGpuLib *hLib, int deviceIndex, const NvRmGpuDeviceOpenAttr *attr,
828  NvRmGpuDevice **phDevice);
829 
871 
872 
873 #if NVOS_IS_LINUX || NVOS_IS_QNX
874 
879 #define NVRM_GPU_CLOCK_ASYNC_REQ_HANDLE_PRIFMT "d"
880 
885 #define NVRM_GPU_CLOCK_ASYNC_REQ_INVALID_HANDLE (-1)
886 
898 typedef int NvRmGpuClockAsyncReqHandle;
899 #else
900 
905 #define NVRM_GPU_CLOCK_ASYNC_REQ_HANDLE_PRIFMT "p"
906 
911 #define NVRM_GPU_CLOCK_ASYNC_REQ_INVALID_HANDLE (NULL)
912 
934 #endif
935 
943 typedef enum
944 {
947 
950 
954 
959 typedef enum NvRmGpuClockType
960 {
966 
972 
976 
977 
983 {
989 
995 
1000  uint64_t freqHz;
1001 
1003 
1009 {
1012 
1014  uint64_t freqHz;
1016 
1021 typedef struct NvRmGpuClockRangeRec
1022 {
1023  uint64_t minHz;
1024  uint64_t maxHz;
1026 
1031 typedef struct NvRmGpuClockPointRec
1032 {
1033  uint64_t freqHz;
1035 
1041 {
1044 
1047 
1050  size_t maxVfPoints;
1051 
1053 
1099  const NvRmGpuClockDomainInfo **infos,
1100  size_t *pNumDomains);
1101 
1147  NvRmGpuClockDomain domain,
1148  NvRmGpuClockPoint *pClkPoints,
1149  size_t *pNumPoints);
1150 
1269  const NvRmGpuClockSetEntry *pClkSetEntries,
1270  size_t numEntries,
1272 
1318  const NvRmGpuClockAsyncReqHandle *phReqs,
1319  size_t numEntries,
1320  uint32_t timeoutMs);
1321 
1322 
1360 
1361 
1381  uint32_t timeoutMs);
1382 
1383 
1435  NvRmGpuClockGetEntry *pClkGetEntries,
1436  size_t numEntries);
1437 
1440 typedef enum
1441 {
1444 
1447 
1451 
1486  const NvRmGpuDeviceVoltage **pSensors,
1487  size_t *pNumSensors);
1488 
1489 
1527  NvRmGpuDeviceVoltage which,
1528  uint64_t *pVoltageMicroVolt);
1529 
1532 typedef enum
1533 {
1537 
1538 
1574  const NvRmGpuDeviceCurrent **pSensors,
1575  size_t *pNumSensors);
1576 
1613  NvRmGpuDeviceCurrent which,
1614  uint64_t *pCurrentMicroAmpere);
1615 
1618 typedef enum
1619 {
1623 
1658  const NvRmGpuDevicePower **pSensors,
1659  size_t *pNumSensors);
1660 
1697  NvRmGpuDevicePower which,
1698  uint64_t *pPowerMicroWatt);
1699 
1700 
1703 typedef enum
1704 {
1708 
1744  const NvRmGpuDeviceTemperature **pSensors,
1745  size_t *pNumSensors);
1746 
1786  int32_t *pTemperatureMilliCelsius);
1787 
1821  int32_t temperature_mC);
1822 
1823 
1828 typedef enum
1829 {
1830  // @brief Frequency change event
1839 
1845 
1852 
1858 
1866 
1875 
1882 
1893 
1896 
1898 
1909 {
1915 
1918 
1920 
1928 #define NVRM_GPU_DEFINE_DEVICE_EVENT_SESSION_ATTR(x) \
1929  NvRmGpuDeviceEventSessionOpenAttr x = { NULL, 0 }
1930 
1955 {
1956  static const NvRmGpuDeviceEventId allEvents[] =
1957  {
1966  };
1967  attr->filterList = allEvents;
1968  attr->filterListSize = NV_ARRAY_SIZE(allEvents);
1969 }
1970 
2007  NvRmGpuDeviceEventSession **phSession);
2008 
2018 {
2021 
2032  uint64_t timeNs;
2033 
2035 
2077  NvRmGpuDeviceEventInfo *pEventInfo,
2078  uint32_t timeoutMs);
2079 
2111 
2112 #if defined(NVRM_GPU_BUILD_VARIANT)
2113 } // namespace nvrm_gpu
2114 #endif
2115 
2116 #if defined(__cplusplus)
2117 }
2118 #endif
2119 
2120 #if !defined(NV_SDK_BUILD)
2121 #include "nvrm_gpu_priv.h"
2122 #endif
2123 
2124 #endif
NvRmGpuClockSetEntryRec::freqHz
uint64_t freqHz
Frequency for clock request.
Definition: nvrm_gpu.h:1014
NvRmGpuLibOpen
NvRmGpuLib * NvRmGpuLibOpen(const NvRmGpuLibOpenAttr *attr)
Opens a new instance of the nvrm_gpu library.
NvRmGpuClockDomainInfoRec::maxVfPoints
size_t maxVfPoints
Maximum number of voltage/frequency points returned by NvRmGpuClockGetPoints()
Definition: nvrm_gpu.h:1050
NvRmGpuLibOpenAttrRec
Extensible attribute structure for NvRmGpuLibOpen()
Definition: nvrm_gpu.h:442
NvRmGpuClockDomain_Count
@ NvRmGpuClockDomain_Count
Number of clock domains.
Definition: nvrm_gpu.h:952
NvRmGpuLibDeviceListEntryRec::deviceState
NvRmGpuLibDeviceState deviceState
Device attachment state.
Definition: nvrm_gpu.h:610
NvRmGpuDeviceGetVoltage
NvError NvRmGpuDeviceGetVoltage(NvRmGpuDevice *hDevice, NvRmGpuDeviceVoltage which, uint64_t *pVoltageMicroVolt)
Retrieves the voltage sensor reading.
NvRmGpuLibVersionInfoRec
The version information structure returned by NvRmGpuLibGetVersionInfo().
Definition: nvrm_gpu.h:364
NvRmGpuDeviceListVoltageSensors
NvError NvRmGpuDeviceListVoltageSensors(NvRmGpuDevice *hDevice, const NvRmGpuDeviceVoltage **pSensors, size_t *pNumSensors)
Returns the list of available voltage sensors for the device.
NvRmGpuDeviceEventId_AlarmVfTableUpdateFailed
@ NvRmGpuDeviceEventId_AlarmVfTableUpdateFailed
VF table update failed.
Definition: nvrm_gpu.h:1865
NvRmGpuLibDeviceState_Attached
@ NvRmGpuLibDeviceState_Attached
Device is attached and may be opened with NvRmGpuDeviceOpen()
Definition: nvrm_gpu.h:585
NvRmGpuClockWaitAsyncReq
NvError NvRmGpuClockWaitAsyncReq(NvRmGpuDevice *hDevice, const NvRmGpuClockAsyncReqHandle *phReqs, size_t numEntries, uint32_t timeoutMs)
Waits for the completion of one or more asynchronous clock requests.
NvRmGpuDeviceEventSessionOpenAttrRec::filterList
const NvRmGpuDeviceEventId * filterList
List of events to listen.
Definition: nvrm_gpu.h:1914
NvRmGpuDeviceEventSession
struct NvRmGpuDeviceEventSessionRec NvRmGpuDeviceEventSession
Device event session handle.
Definition: nvrm_gpu.h:352
NvError
NvError
The NvError enumeration contains ALL return / error codes.
Definition: nverror.h:33
NvRmGpuDeviceEventId
NvRmGpuDeviceEventId
Definition: nvrm_gpu.h:1828
NvRmGpuDeviceEventId_Count
@ NvRmGpuDeviceEventId_Count
Number of events.
Definition: nvrm_gpu.h:1895
NvRmGpuDeviceEventId_AlarmLocalTargetVfNotPossible
@ NvRmGpuDeviceEventId_AlarmLocalTargetVfNotPossible
A clock domain frequency is below local target frequency requested by a session.
Definition: nvrm_gpu.h:1851
NvRmGpuDeviceVoltage_SRAM
@ NvRmGpuDeviceVoltage_SRAM
SRAM voltage.
Definition: nvrm_gpu.h:1446
NvRmGpuDeviceEventId_AlarmTargetVfNotPossible
@ NvRmGpuDeviceEventId_AlarmTargetVfNotPossible
A clock domain frequency is below target.
Definition: nvrm_gpu.h:1844
NvRmGpuLibVersionInfoRec::patch
uint32_t patch
The library patch level.
Definition: nvrm_gpu.h:379
NvRmGpuLib
struct NvRmGpuLibRec NvRmGpuLib
Library handle.
Definition: nvrm_gpu.h:336
NvRmGpuClockDomainInfoRec::range
NvRmGpuClockRange range
Frequency range of the clock domain.
Definition: nvrm_gpu.h:1046
NvRmGpuClockAsyncNotImplemented
OS-specific type of asynchronous clock request handle (unimplemented).
NvRmGpuClockDomainInfo
struct NvRmGpuClockDomainInfoRec NvRmGpuClockDomainInfo
Clock domain info.
nverror.h
NvRmGpuDeviceEventId_VfUpdate
@ NvRmGpuDeviceEventId_VfUpdate
Voltage/frequency update occurred for a clock domain.
Definition: nvrm_gpu.h:1838
NvRmGpuDeviceVoltage
NvRmGpuDeviceVoltage
Voltage sensors.
Definition: nvrm_gpu.h:1440
NvRmGpuClockCloseAsyncReq
NvError NvRmGpuClockCloseAsyncReq(NvRmGpuDevice *hDevice, NvRmGpuClockAsyncReqHandle hReq)
Closes an asynchronous clock request handle.
NvRmGpuDeviceEventSessionOpenAttrSetAllEvents
static void NvRmGpuDeviceEventSessionOpenAttrSetAllEvents(NvRmGpuDeviceEventSessionOpenAttr *attr)
Assigns device events attribute structure with a list of all events to listen to.
Definition: nvrm_gpu.h:1954
NvRmGpuClockDomain_GPCCLK
@ NvRmGpuClockDomain_GPCCLK
Main graphics core clock.
Definition: nvrm_gpu.h:949
NvRmGpuLibDeviceListEntryRec::deviceIndex
int deviceIndex
Internal device index. Used in NvRmGpuDeviceOpen()
Definition: nvrm_gpu.h:605
NvRmGpuDeviceListPowerSensors
NvError NvRmGpuDeviceListPowerSensors(NvRmGpuDevice *hDevice, const NvRmGpuDevicePower **pSensors, size_t *pNumSensors)
Returns the list of available power sensors for the device.
NvRmGpuLibDeviceListEntryRec
Device list entry.
Definition: nvrm_gpu.h:602
NvRmGpuClockGetPoints
NvError NvRmGpuClockGetPoints(NvRmGpuDevice *hDevice, NvRmGpuClockDomain domain, NvRmGpuClockPoint *pClkPoints, size_t *pNumPoints)
Retrieves voltage/frequency (VF) points for a given clock domain. For information about VF points,...
NvRmGpuDeviceEventInfoRec
GPU device event.
Definition: nvrm_gpu.h:2017
NvRmGpuDeviceEventInfo
struct NvRmGpuDeviceEventInfoRec NvRmGpuDeviceEventInfo
GPU device event.
NvRmGpuClockSetEntry
struct NvRmGpuClockSetEntryRec NvRmGpuClockSetEntry
Entry for clock set request.
nvcommon.h
NvRmGpuClockSetEntryRec::domain
NvRmGpuClockDomain domain
Domain for clock request.
Definition: nvrm_gpu.h:1011
NvRmGpuClockDomainInfoRec
Clock domain info.
Definition: nvrm_gpu.h:1040
NvRmGpuLibVersionInfoRec::major
uint32_t major
The library major version.
Definition: nvrm_gpu.h:369
NvRmGpuSyncType_Syncpoint
@ NvRmGpuSyncType_Syncpoint
Synchronization type is Tegra HOST1X syncpoint.
Definition: nvrm_gpu.h:730
NvRmGpuLibClose
NvError NvRmGpuLibClose(NvRmGpuLib *hLib)
Closes the library and releases all resources.
NvRmGpuClockGetDomains
NvError NvRmGpuClockGetDomains(NvRmGpuDevice *hDevice, const NvRmGpuClockDomainInfo **infos, size_t *pNumDomains)
Returns available GPU clock domains for the device.
NvRmGpuClockSetEntryRec
Entry for clock set request.
Definition: nvrm_gpu.h:1008
NvRmGpuClockDomain_MCLK
@ NvRmGpuClockDomain_MCLK
Memory clock.
Definition: nvrm_gpu.h:946
NvRmGpuClockPointRec::freqHz
uint64_t freqHz
Definition: nvrm_gpu.h:1033
NvRmGpuClockGetEntryRec
Entry for clock get request.
Definition: nvrm_gpu.h:982
NvRmGpuDeviceVoltage_Core
@ NvRmGpuDeviceVoltage_Core
Core GPU voltage.
Definition: nvrm_gpu.h:1443
NvRmGpuClockWaitAnyEvent
NvError NvRmGpuClockWaitAnyEvent(NvRmGpuDevice *hDevice, uint32_t timeoutMs)
This function is not implemented and it should be deleted.
NvRmGpuDeviceGetCurrent
NvError NvRmGpuDeviceGetCurrent(NvRmGpuDevice *hDevice, NvRmGpuDeviceCurrent which, uint64_t *pCurrentMicroAmpere)
Retrieves the electric current reading.
NvRmGpuLibListDevices
const NvRmGpuLibDeviceListEntry * NvRmGpuLibListDevices(NvRmGpuLib *hLib, size_t *pNumDevices)
Returns the list of probed GPUs.
NvRmGpuDeviceEventId_AlarmThermalAboveThreshold
@ NvRmGpuDeviceEventId_AlarmThermalAboveThreshold
Temperature above threshold.
Definition: nvrm_gpu.h:1874
NvRmGpuDevicePower
NvRmGpuDevicePower
Electric power sensors.
Definition: nvrm_gpu.h:1618
NvRmGpuDeviceEventId_AlarmGpuLost
@ NvRmGpuDeviceEventId_AlarmGpuLost
Device lost.
Definition: nvrm_gpu.h:1892
NvRmGpuDeviceVoltage_Bus
@ NvRmGpuDeviceVoltage_Bus
Bus voltage.
Definition: nvrm_gpu.h:1449
NvRmGpuDeviceEventSessionOpenAttrRec::filterListSize
size_t filterListSize
Number of entries in the event list.
Definition: nvrm_gpu.h:1917
NvRmGpuClockGetEntryRec::type
NvRmGpuClockType type
(IN) Request type
Definition: nvrm_gpu.h:994
NvRmGpuClockAsyncReqHandle
struct NvRmGpuClockAsyncNotImplemented * NvRmGpuClockAsyncReqHandle
OS-specific type of asynchronous clock request handle.
Definition: nvrm_gpu.h:933
NvRmGpuDeviceEventSessionOpenAttr
struct NvRmGpuDeviceEventSessionOpenAttrRec NvRmGpuDeviceEventSessionOpenAttr
Extensible attribute structure for NvRmGpuDeviceEventSessionOpen().
NvRmGpuSyncType_SyncFd
@ NvRmGpuSyncType_SyncFd
Synchronization type is Android/Linux sync fd.
Definition: nvrm_gpu.h:727
NvRmGpuDeviceTemperature
NvRmGpuDeviceTemperature
Temperature sensors.
Definition: nvrm_gpu.h:1703
NvRmGpuClockGetEntryRec::domain
NvRmGpuClockDomain domain
(IN) Domain for the clock request
Definition: nvrm_gpu.h:988
NvRmGpuDeviceListCurrentSensors
NvError NvRmGpuDeviceListCurrentSensors(NvRmGpuDevice *hDevice, const NvRmGpuDeviceCurrent **pSensors, size_t *pNumSensors)
Returns the list of available electric current sensors for the device.
NvRmGpuDeviceOpen
NvError NvRmGpuDeviceOpen(NvRmGpuLib *hLib, int deviceIndex, const NvRmGpuDeviceOpenAttr *attr, NvRmGpuDevice **phDevice)
Opens a GPU device.
NvRmGpuDeviceClose
NvError NvRmGpuDeviceClose(NvRmGpuDevice *hDevice)
Closes the GPU device.
NvRmGpuSyncType
NvRmGpuSyncType
Inter-engine synchronization type for GPU jobs.
Definition: nvrm_gpu.h:715
NvRmGpuDeviceEventSessionClose
NvError NvRmGpuDeviceEventSessionClose(NvRmGpuDeviceEventSession *hSession)
Closes the device event session.
NvRmGpuDeviceEventSessionRead
NvError NvRmGpuDeviceEventSessionRead(NvRmGpuDeviceEventSession *hSession, NvRmGpuDeviceEventInfo *pEventInfo, uint32_t timeoutMs)
Read next device event.
NvRmGpuDeviceEventInfoRec::timeNs
uint64_t timeNs
GPU time (in nanoseconds)
Definition: nvrm_gpu.h:2032
NvRmGpuDeviceEventId_AlarmPowerAboveThreshold
@ NvRmGpuDeviceEventId_AlarmPowerAboveThreshold
Power above threshold.
Definition: nvrm_gpu.h:1881
NvRmGpuLibVersionInfoRec::suffix
const char * suffix
Version string suffix (always non-NULL)
Definition: nvrm_gpu.h:391
NvRmGpuClockDomainInfoRec::domain
NvRmGpuClockDomain domain
Clock domain.
Definition: nvrm_gpu.h:1043
NvRmGpuDeviceOpenAttrRec::sandboxFriendlyChannels
bool sandboxFriendlyChannels
Ignored field.
Definition: nvrm_gpu.h:768
NvRmGpuClockGetEntryRec::freqHz
uint64_t freqHz
(OUT) Frequency in Hz
Definition: nvrm_gpu.h:1000
NvRmGpuLibVersionInfoRec::minor
uint32_t minor
The library minor version.
Definition: nvrm_gpu.h:374
NvRmGpuClockType_Effective
@ NvRmGpuClockType_Effective
Effective clock as measured from hardware.
Definition: nvrm_gpu.h:974
NvRmGpuClockGetEntry
struct NvRmGpuClockGetEntryRec NvRmGpuClockGetEntry
Entry for clock get request.
NvRmGpuLibDeviceState_Unknown
@ NvRmGpuLibDeviceState_Unknown
Device state is not known.
Definition: nvrm_gpu.h:592
NvRmGpuClockRangeRec::maxHz
uint64_t maxHz
Definition: nvrm_gpu.h:1024
NvRmGpuDeviceThermalAlertSetLimit
NvError NvRmGpuDeviceThermalAlertSetLimit(NvRmGpuDevice *hDevice, int32_t temperature_mC)
Sets the thermal alert limit.
NvRmGpuClockDomain
NvRmGpuClockDomain
Clock domains.
Definition: nvrm_gpu.h:943
NvRmGpuLibOpenAttrRec::reserved
uint32_t reserved
Dummy field for C/C++ ABI compatibility.
Definition: nvrm_gpu.h:445
NvRmGpuClockPointRec
Clock voltage/frequency point.
Definition: nvrm_gpu.h:1031
NvRmGpuLibDeviceState_InsufficientPrivileges
@ NvRmGpuLibDeviceState_InsufficientPrivileges
Device exists, but not enough privileges to access.
Definition: nvrm_gpu.h:588
NvRmGpuDeviceCurrent
NvRmGpuDeviceCurrent
Electric current sensors.
Definition: nvrm_gpu.h:1532
NvRmGpuLibDeviceState
NvRmGpuLibDeviceState
Device attachment state.
Definition: nvrm_gpu.h:582
NvRmGpuClockRangeRec::minHz
uint64_t minHz
Definition: nvrm_gpu.h:1023
NvRmGpuDeviceOpenAttrRec
Extensible attribute structure for NvRmGpuDeviceOpen()
Definition: nvrm_gpu.h:742
NvRmGpuClockGet
NvError NvRmGpuClockGet(NvRmGpuDevice *hDevice, NvRmGpuClockGetEntry *pClkGetEntries, size_t numEntries)
Request one or more clock domain frequency state.
NvRmGpuClockType_Actual
@ NvRmGpuClockType_Actual
Clock frequency programmed to the HW (including PLL constraints).
Definition: nvrm_gpu.h:971
NvRmGpuClockPoint
struct NvRmGpuClockPointRec NvRmGpuClockPoint
Clock voltage/frequency point.
NvRmGpuClockType
NvRmGpuClockType
Request type for clock get.
Definition: nvrm_gpu.h:959
NvRmGpuDeviceGetTemperature
NvError NvRmGpuDeviceGetTemperature(NvRmGpuDevice *hDevice, NvRmGpuDeviceTemperature which, int32_t *pTemperatureMilliCelsius)
Retrieves the temperature sensor reading.
NvRmGpuDeviceEventId_AlarmClockArbiterFailed
@ NvRmGpuDeviceEventId_AlarmClockArbiterFailed
The clock arbiter has failed.
Definition: nvrm_gpu.h:1857
NvRmGpuDeviceCurrent_Bus
@ NvRmGpuDeviceCurrent_Bus
Bus current.
Definition: nvrm_gpu.h:1535
NvRmGpuClockSet
NvError NvRmGpuClockSet(NvRmGpuDevice *hDevice, const NvRmGpuClockSetEntry *pClkSetEntries, size_t numEntries, NvRmGpuClockAsyncReqHandle *phReq)
Requests minimum clocks for one or more clock domains.
NvRmGpuDevice
struct NvRmGpuDeviceRec NvRmGpuDevice
Device handle.
Definition: nvrm_gpu.h:345
NvRmGpuClockRange
struct NvRmGpuClockRangeRec NvRmGpuClockRange
Frequency range for clock domain.
NvRmGpuDeviceTemperature_InternalSensor
@ NvRmGpuDeviceTemperature_InternalSensor
The internal GPU temperature sensor.
Definition: nvrm_gpu.h:1706
NvRmGpuDeviceOpenAttrRec::syncType
NvRmGpuSyncType syncType
The default sync type for this device.
Definition: nvrm_gpu.h:756
NvRmGpuLibVersionInfo
struct NvRmGpuLibVersionInfoRec NvRmGpuLibVersionInfo
The version information structure returned by NvRmGpuLibGetVersionInfo().
NvRmGpuDeviceEventSessionOpen
NvError NvRmGpuDeviceEventSessionOpen(NvRmGpuDevice *hDevice, const NvRmGpuDeviceEventSessionOpenAttr *attr, NvRmGpuDeviceEventSession **phSession)
Opens a session to monitor device events.
NvRmGpuSyncType_Default
@ NvRmGpuSyncType_Default
Default sync type.
Definition: nvrm_gpu.h:724
NV_ARRAY_SIZE
#define NV_ARRAY_SIZE(x)
Macro for determining the size of an array.
Definition: nvcommon.h:146
NvRmGpuDeviceGetPower
NvError NvRmGpuDeviceGetPower(NvRmGpuDevice *hDevice, NvRmGpuDevicePower which, uint64_t *pPowerMicroWatt)
Retrieves the power sensor reading.
NvRmGpuLibDeviceListEntry
struct NvRmGpuLibDeviceListEntryRec NvRmGpuLibDeviceListEntry
Device list entry.
NvRmGpuDeviceEventInfoRec::eventId
NvRmGpuDeviceEventId eventId
Event type.
Definition: nvrm_gpu.h:2020
NvRmGpuDeviceEventSessionOpenAttrRec
Extensible attribute structure for NvRmGpuDeviceEventSessionOpen().
Definition: nvrm_gpu.h:1908
NvRmGpuClockRangeRec
Frequency range for clock domain.
Definition: nvrm_gpu.h:1021
NvRmGpuDevicePower_Bus
@ NvRmGpuDevicePower_Bus
Power consumed at the regulator.
Definition: nvrm_gpu.h:1621
NvRmGpuClockType_Target
@ NvRmGpuClockType_Target
Target clock frequency requested by the user.
Definition: nvrm_gpu.h:965
NvRmGpuLibGetVersionInfo
const NvRmGpuLibVersionInfo * NvRmGpuLibGetVersionInfo(void)
Returns the library version information.
NvRmGpuDeviceOpenAttr
struct NvRmGpuDeviceOpenAttrRec NvRmGpuDeviceOpenAttr
Extensible attribute structure for NvRmGpuDeviceOpen()
NvRmGpuLibDeviceListEntryRec::name
const char * name
Informative device name.
Definition: nvrm_gpu.h:621
NvRmGpuDeviceListTemperatureSensors
NvError NvRmGpuDeviceListTemperatureSensors(NvRmGpuDevice *hDevice, const NvRmGpuDeviceTemperature **pSensors, size_t *pNumSensors)
Returns the list of available temperature sensors for the device.
NvRmGpuLibOpenAttr
struct NvRmGpuLibOpenAttrRec NvRmGpuLibOpenAttr
Extensible attribute structure for NvRmGpuLibOpen()