NV services: Difference between revisions
(5 intermediate revisions by 3 users not shown) | |||
Line 64: | Line 64: | ||
Takes two input u32s '''Fd''' and '''EvtId'''. Returns an output u32 '''Err''' and an output Event handle. | Takes two input u32s '''Fd''' and '''EvtId'''. Returns an output u32 '''Err''' and an output Event handle. | ||
QueryEvent is only supported | QueryEvent is only supported by: | ||
* /dev/nvhost-gpu | * '''/dev/nvcec-ctrl''' | ||
** EvtId=1: | ** EvtId=0 | ||
** EvtId=2: | ** EvtId=1 | ||
** EvtId=2 | |||
** EvtId=3 | |||
** EvtId=4 | |||
** EvtId=5 | |||
** EvtId=6 | |||
** EvtId=7 | |||
** EvtId=8 | |||
** EvtId=9 | |||
* '''/dev/nvhdcp_up-ctrl''' | |||
** EvtId=0: DphdcpStateEvent | |||
* '''/dev/nvdisp-ctrl''' | |||
** EvtId=0: HpdInEvent | |||
** EvtId=1: HpdOutEvent | |||
** EvtId=2: VblankHead0Event | |||
* '''/dev/nvhost-gpu''' | |||
** EvtId=1: BptIntEvent | |||
** EvtId=2: BptPauseEvent | |||
** EvtId=3: ErrorNotifierEvent | ** EvtId=3: ErrorNotifierEvent | ||
* /dev/nvhost-ctrl | |||
** EvtId=( | * '''/dev/nvhost-ctrl''' | ||
** EvtId=( | ** EvtId=(EventSlot | ((SyncptId & 0xFFF) << 16) | (IsValid << 28)): New format used by [[#NVHOST_IOCTL_CTRL_SYNCPT_WAIT_EVENT|NVHOST_IOCTL_CTRL_SYNCPT_WAIT_EVENT]]/[[#NVHOST_IOCTL_CTRL_SYNCPT_WAIT_EVENT_EX|NVHOST_IOCTL_CTRL_SYNCPT_WAIT_EVENT_EX]]. | ||
* /dev/nvhost-ctrl-gpu | ** EvtId=(EventSlot | (SyncptId << 4)): Old format used by [[#NVHOST_IOCTL_CTRL_SYNCPT_WAITEX|NVHOST_IOCTL_CTRL_SYNCPT_WAITEX]]. | ||
** EvtId=1: | |||
** EvtId=2: | * '''/dev/nvhost-ctrl-gpu''' | ||
* /dev/nvhost-dbg-gpu | ** EvtId=1: ErrorEvent | ||
** | ** EvtId=2: SemaphoreEvent | ||
* '''/dev/nvhost-dbg-gpu''' | |||
** EvtId=Any: DbgEvents | |||
* '''/dev/nvsched-ctrl''' | |||
** EvtId=0: ApplicationAddedEvent | |||
** EvtId=1: ApplicationUpdatedEvent | |||
** EvtId=2: ApplicationMaxDebtUpdatedEvent | |||
** EvtId=3: ApplicationRemovedEvent | |||
** EvtId=4: ApplicationDetachedEvent | |||
** EvtId=5: RunlistAddedEvent | |||
** EvtId=6: RunlistUpdatedEvent | |||
** EvtId=7: RunlistMaxDebtUpdatedEvent | |||
** EvtId=8: RunlistLinkedEvent | |||
** EvtId=9: RunlistUnlinkedEvent | |||
** EvtId=10: RunlistRemovedEvent | |||
** EvtId=11: ConductorSwapintervalUpdatedEvent | |||
** EvtId=12: ChannelAcquiredEvent | |||
** EvtId=13: ChannelReleasedEvent | |||
== MapSharedMem == | == MapSharedMem == | ||
Line 609: | Line 648: | ||
| 0xC0040220 || Inout || 4 || NVDISP_CTRL_SUSPEND | | 0xC0040220 || Inout || 4 || NVDISP_CTRL_SUSPEND | ||
|- | |- | ||
| 0x80010224 || Out || 1 || [11.0.0+] NVDISP_CTRL_IS_DISPLAY_OLED | | 0x80010224 || Out || 1 || [11.0.0+] [[#NVDISP_CTRL_IS_DISPLAY_OLED]] | ||
|} | |} | ||
Line 616: | Line 655: | ||
struct { | struct { | ||
__out u32 num_outputs; | __out u32 num_outputs; | ||
}; | |||
=== NVDISP_CTRL_IS_DISPLAY_OLED === | |||
This sets a boolean value based on the values of the system configuration. | |||
Returns true if "nvservices!internal_display_vddpn_control" is set to false and "nvservices!external_display_full_dp_lanes" is set to true. | |||
struct { | |||
__out u8 is_display_oled; | |||
}; | }; | ||
Line 1,284: | Line 1,333: | ||
|- | |- | ||
| 0xC038410A || Inout || 56 || [[#NVGPU_AS_IOCTL_MAP_BUFFER_EX2]] | | 0xC038410A || Inout || 56 || [[#NVGPU_AS_IOCTL_MAP_BUFFER_EX2]] | ||
|- | |||
| 0x8010410B || Out || 16 || [S2] | |||
|- | |||
| 0xC020410C || Inout || 32 || [S2] | |||
|- | |||
| 0xC???410D || Inout || Variable || [S2] | |||
|- | |- | ||
| 0xC0??4114 || Inout || Variable || [[#NVGPU_AS_IOCTL_REMAP]] | | 0xC0??4114 || Inout || Variable || [[#NVGPU_AS_IOCTL_REMAP]] | ||
Line 1,508: | Line 1,563: | ||
|- | |- | ||
| 0xC020441E || Inout || 32 || [11.0.0+] NVGPU_DBG_GPU_IOCTL_GET_GPU_VA_RANGE_PAGES | | 0xC020441E || Inout || 32 || [11.0.0+] NVGPU_DBG_GPU_IOCTL_GET_GPU_VA_RANGE_PAGES | ||
|- | |||
| [S2] 0xC0184421 || || || | |||
|- | |- | ||
| [S2] 0x40084422 || || || | | [S2] 0x40084422 || || || |