NV services: Difference between revisions

No edit summary
 
(2 intermediate revisions by 2 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 on (and implemented differently on):
QueryEvent is only supported by:
* /dev/nvhost-gpu
* '''/dev/nvcec-ctrl'''
** EvtId=1: SmException_BptIntReport
** EvtId=0
** EvtId=2: SmException_BptPauseReport
** 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: Used to get events for syncpts.
 
** EvtId=(event_slot | ((syncpt_id & 0xFFF) << 16) | (is_valid << 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'''
** EvtId=(event_slot | (syncpt_id << 4)): Old format used by [[#NVHOST_IOCTL_CTRL_SYNCPT_WAITEX|NVHOST_IOCTL_CTRL_SYNCPT_WAITEX]].
** 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: Returns error_event_handle.
 
** EvtId=2: Returns unknown event.
* '''/dev/nvhost-ctrl-gpu'''
* /dev/nvhost-dbg-gpu
** EvtId=1: ErrorEvent
** Ignores EvtId.
** 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 625: Line 664:


   struct {
   struct {
     __out u8 isOLED;
     __out u8 is_display_oled;
   };
   };