IOGraphicsSysPower.trace [plain text]
#!/usr/sbin/dtrace -s
enum IOStateFlags {
kIOFBDidWork = 0x00000001,
kIOFBWorking = 0x00000002,
kIOFBPaging = 0x00000004,
kIOFBWsWait = 0x00000008,
kIOFBDimmed = 0x00000010,
kIOFBServerSlept = 0x00000020,
kIOFBServerUp = 0x00000040,
kIOFBServerDown = 0x00000080,
kIOFBCaptured = 0x00000100,
kIOFBDimDisable = 0x00000200,
kIOFBDisplaysChanging = 0x00001000
};
enum IOFramebufferNotificationEvents {
kIOFBNotifyDisplayModeWillChange = 1,
kIOFBNotifyDisplayModeDidChange = 2,
kIOFBNotifyWillSleep = 3,
kIOFBNotifyDidWake = 4,
kIOFBNotifyDidPowerOff = 5, // aka kIOFBNotifyDidSleep
kIOFBNotifyWillPowerOn = 6, // aka kIOFBNotifyWillWake
kIOFBNotifyWillPowerOff = 7,
kIOFBNotifyDidPowerOn = 8,
kIOFBNotifyWillChangeSpeed = 9,
kIOFBNotifyDidChangeSpeed = 10,
kIOFBNotifyClamshellChange = 20,
kIOFBNotifyCaptureChange = 30,
kIOFBNotifyOnlineChange = 40,
kIOFBNotifyDisplayDimsChange = 50,
kIOFBNotifyProbed = 60,
kIOFBNotifyVRAMReady = 70,
kIOFBNotifyWillNotify = 80,
kIOFBNotifyDidNotify = 81,
kIOFBNotifyWSAAEnterDefer = 90,
kIOFBNotifyWSAAExitDefer = 91,
kIOFBNotifyTerminated = 100
};
dtrace:::BEGIN
{
self->chkPwr = 0;
self->chkCtrlPwr = 0;
self->sysWrk = 0;
self->hdlEvt = 0;
self->nxtIdle = 0;
self->setProps = 0;
self->setPwr = 0;
self->setFbPwr = 0;
self->fbNotify = 0;
self->didChngPwr = 0;
self->willChngPwr = 1;
self->sysPwr = 0;
self->setAttrExt = 0;
self->setAttr = 0;
self->setAttrConnExt = 0;
self->setAttrConn = 0;
}
/*
void IOFramebuffer::systemWork(OSObject * owner, IOInterruptEventSource * evtSrc, int intCount)
*/
fbt:*IOGraphics*:*systemWork*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nintCount: %#x (%u)\n", arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
ustack();
self->sysWrk = 1;
}
fbt:*IOGraphics*:*systemWork*:return
/self->sysWrk != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->sysWrk = 0;
}
/*
IOOptionBits IOFBController::checkPowerWork(IOOptionBits state)
*/
fbt:*IOGraphics*:*IOFBController*checkPowerWork*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\n\tstate: %#x (%u)\n", arg1, arg1 );
printf("\tDidWork : %c\n", arg1 & kIOFBDidWork ? 'X' : '-');
printf("\tWorking : %c\n", arg1 & kIOFBWorking ? 'X' : '-');
printf("\tPaging : %c\n", arg1 & kIOFBPaging ? 'X' : '-');
printf("\tWsWait : %c\n", arg1 & kIOFBWsWait ? 'X' : '-');
printf("\tDimmed : %c\n", arg1 & kIOFBDimmed ? 'X' : '-');
printf("\tServerSlept : %c\n", arg1 & kIOFBServerSlept ? 'X' : '-');
printf("\tServerUp : %c\n", arg1 & kIOFBServerUp ? 'X' : '-');
printf("\tServerDown : %c\n", arg1 & kIOFBServerDown ? 'X' : '-');
printf("\tCaptured : %c\n", arg1 & kIOFBCaptured ? 'X' : '-');
printf("\tDimDisable : %c\n", arg1 & kIOFBDimDisable ? 'X' : '-');
printf("\tDisplaysChanging : %c\n", arg1 & kIOFBDisplaysChanging ? 'X' : '-');
stack();
ustack();
self->chkCtrlPwr = 1;
}
fbt:*IOGraphics*:*IOFBController*checkPowerWork*:return
/self->chkCtrlPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->chkCtrlPwr = 0;
}
/*
IOOptionBits IOFramebuffer::checkPowerWork(IOOptionBits state)
*/
fbt:*IOGraphics*:*IOFramebuffer*checkPowerWork*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\n\tstate: %#x (%u)\n", arg1, arg1 );
printf("\tDidWork : %c\n", arg1 & kIOFBDidWork ? 'X' : '-');
printf("\tWorking : %c\n", arg1 & kIOFBWorking ? 'X' : '-');
printf("\tPaging : %c\n", arg1 & kIOFBPaging ? 'X' : '-');
printf("\tWsWait : %c\n", arg1 & kIOFBWsWait ? 'X' : '-');
printf("\tDimmed : %c\n", arg1 & kIOFBDimmed ? 'X' : '-');
printf("\tServerSlept : %c\n", arg1 & kIOFBServerSlept ? 'X' : '-');
printf("\tServerUp : %c\n", arg1 & kIOFBServerUp ? 'X' : '-');
printf("\tServerDown : %c\n", arg1 & kIOFBServerDown ? 'X' : '-');
printf("\tCaptured : %c\n", arg1 & kIOFBCaptured ? 'X' : '-');
printf("\tDimDisable : %c\n", arg1 & kIOFBDimDisable ? 'X' : '-');
printf("\tDisplaysChanging : %c\n", arg1 & kIOFBDisplaysChanging ? 'X' : '-');
stack();
ustack();
self->chkPwr = 1;
}
fbt:*IOGraphics*:*IOFramebuffer*checkPowerWork*:return
/self->chkPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->chkPwr = 0;
}
/*
IOReturn IOFramebuffer::setAttributeForConnectionExt( IOIndex connectIndex, IOSelect attribute, uintptr_t value )
*/
fbt:*IOGraphics*:*IOFramebuffer*setAttributeForConnectionExt*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nconnectIndex: %u, attribute: %#x, value: %#x (%u)\n", arg1, arg2, arg3, arg3 );
stack();
ustack();
self->setAttrConnExt = 1;
}
fbt:*IOGraphics*:*IOFramebuffer*setAttributeForConnectionExt*:return
/self->setAttrConnExt != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setAttrConnExt = 0;
}
/*
IOReturn IOFramebuffer::setAttributeForConnection( IOIndex connectIndex, IOSelect attribute, uintptr_t value )
*/
fbt:*IOGraphics*:*IOFramebuffer*setAttributeForConnection*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nconnectIndex: %u, attribute: %#x, value: %#x (%u)\n", arg1, arg2, arg3, arg3 );
stack();
ustack();
self->setAttrConn = 1;
}
fbt:*IOGraphics*:*IOFramebuffer*setAttributeForConnection*:return
/self->setAttrConn != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setAttrConn = 0;
}
/*
IOReturn IOFramebuffer::setAttributeExt( IOSelect attribute, uintptr_t value )
*/
fbt:*IOGraphics*:*setAttributeExt*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nattribute: %#x, value: %#x (%u)\n", arg1, arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
ustack();
self->setAttrExt = 1;
}
fbt:*IOGraphics*:*setAttributeExt*:return
/self->setAttrExt != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setAttrExt = 0;
}
/*
IOReturn IOFramebuffer::setAttribute( IOSelect attribute, uintptr_t value )
*/
fbt:*IOGraphics*:*setAttribute*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nattribute: %#x, value: %#x (%u)\n", arg1, arg2, arg2 );
stack();
ustack();
self->setAttr = 1;
}
fbt:*IOGraphics*:*setAttribute*:return
/self->setAttr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setAttr = 0;
}
/*
IOReturn IOFramebuffer::deliverFramebufferNotification( IOIndex event, void * info )
*/
fbt:*IOGraphics*:*deliverFramebufferNotification*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nevent: %#x (%s)\n", arg1,
arg1 == kIOFBNotifyDisplayModeWillChange ?
"kIOFBNotifyDisplayModeWillChange" :
arg1 == kIOFBNotifyDisplayModeDidChange ?
"kIOFBNotifyDisplayModeDidChange" :
arg1 == kIOFBNotifyWillSleep ?
"kIOFBNotifyWillSleep" :
arg1 == kIOFBNotifyDidWake ?
"kIOFBNotifyDidWake" :
arg1 == kIOFBNotifyDidPowerOff ?
"kIOFBNotifyDidPowerOff (aka kIOFBNotifyDidSleep)" :
arg1 == kIOFBNotifyWillPowerOn ?
"kIOFBNotifyWillPowerOn (aka kIOFBNotifyWillWake)" :
arg1 == kIOFBNotifyWillPowerOff ?
"kIOFBNotifyWillPowerOff" :
arg1 == kIOFBNotifyDidPowerOn ?
"kIOFBNotifyDidPowerOn" :
arg1 == kIOFBNotifyWillChangeSpeed ?
"kIOFBNotifyWillChangeSpeed" :
arg1 == kIOFBNotifyDidChangeSpeed ?
"kIOFBNotifyDidChangeSpeed" :
arg1 == kIOFBNotifyDisplayDimsChange ?
"kIOFBNotifyDisplayDimsChange" :
arg1 == kIOFBNotifyClamshellChange ?
"kIOFBNotifyClamshellChange" :
arg1 == kIOFBNotifyCaptureChange ?
"kIOFBNotifyCaptureChange" :
arg1 == kIOFBNotifyOnlineChange ?
"kIOFBNotifyOnlineChange" :
arg1 == kIOFBNotifyWSAAEnterDefer ?
"kIOFBNotifyWSAAEnterDefer" :
arg1 == kIOFBNotifyWSAAExitDefer ?
"kIOFBNotifyWSAAExitDefer" :
arg1 == kIOFBNotifyTerminated ?
"kIOFBNotifyTerminated" : "unknown");
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->fbNotify = 1;
}
fbt:*IOGraphics*:*deliverFramebufferNotification*:return
/self->fbNotify != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->fbNotify = 0;
}
/*
IOReturn IOFramebuffer::handleEvent( IOIndex event, void * info )
*/
fbt:*IOGraphics*:*handleEvent*:entry
{
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nevent: %#x (%s)\n", arg1,
arg1 == kIOFBNotifyDisplayModeWillChange ?
"kIOFBNotifyDisplayModeWillChange" :
arg1 == kIOFBNotifyDisplayModeDidChange ?
"kIOFBNotifyDisplayModeDidChange" :
arg1 == kIOFBNotifyWillSleep ?
"kIOFBNotifyWillSleep" :
arg1 == kIOFBNotifyDidWake ?
"kIOFBNotifyDidWake" :
arg1 == kIOFBNotifyDidPowerOff ?
"kIOFBNotifyDidPowerOff (aka kIOFBNotifyDidSleep)" :
arg1 == kIOFBNotifyWillPowerOn ?
"kIOFBNotifyWillPowerOn (aka kIOFBNotifyWillWake)" :
arg1 == kIOFBNotifyWillPowerOff ?
"kIOFBNotifyWillPowerOff" :
arg1 == kIOFBNotifyDidPowerOn ?
"kIOFBNotifyDidPowerOn" :
arg1 == kIOFBNotifyWillChangeSpeed ?
"kIOFBNotifyWillChangeSpeed" :
arg1 == kIOFBNotifyDidChangeSpeed ?
"kIOFBNotifyDidChangeSpeed" :
arg1 == kIOFBNotifyDisplayDimsChange ?
"kIOFBNotifyDisplayDimsChange" :
arg1 == kIOFBNotifyClamshellChange ?
"kIOFBNotifyClamshellChange" :
arg1 == kIOFBNotifyCaptureChange ?
"kIOFBNotifyCaptureChange" :
arg1 == kIOFBNotifyOnlineChange ?
"kIOFBNotifyOnlineChange" :
arg1 == kIOFBNotifyWSAAEnterDefer ?
"kIOFBNotifyWSAAEnterDefer" :
arg1 == kIOFBNotifyWSAAExitDefer ?
"kIOFBNotifyWSAAExitDefer" :
arg1 == kIOFBNotifyTerminated ?
"kIOFBNotifyTerminated" : "unknown");
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->hdlEvt = 1;
}
fbt:*IOGraphics*:*handleEvent*:return
/self->hdlEvt != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->hdlEvt = 0;
}
/*
IOService:
*/
/*
IOReturn IOFramebuffer::systemPowerChange( void * target, void * refCon, UInt32 messageType, IOService * service, void * messageArgument, vm_size_t argSize )
*/
fbt:*IOGraphics*:*systemPowerChange*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nmessageType: %#x (%u)\n", arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->sysPwr = 1;
}
fbt:*IOGraphics*:*systemPowerChange*:return
/self->sysPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->sysPwr = 0;
}
/*
IOReturn IOFramebuffer::powerStateWillChangeTo( IOPMPowerFlags flags, unsigned long state, IOService * whatDevice )
*/
fbt:*IOGraphics*:*powerStateWillChangeTo*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nflags: %#x (%u), state: %#x (%u)\n", arg1, arg1, arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->willChngPwr = 1;
}
fbt:*IOGraphics*:*powerStateWillChangeTo*:return
/self->willChngPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->willChngPwr = 0;
}
/*
IOReturn IOFramebuffer::powerStateDidChangeTo( IOPMPowerFlags flags, unsigned long, IOService* whatDevice )
*/
fbt:*IOGraphics*:*powerStateDidChangeTo*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nflags: %#x (%u), state: %#x (%u)\n", arg1, arg1, arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->didChngPwr = 1;
}
fbt:*IOGraphics*:*powerStateDidChangeTo*:return
/self->didChngPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->didChngPwr = 0;
}
/*
IOReturn IOFramebuffer::muxPowerMessage(UInt32 messageType)
NOTE: No return variant
*/
fbt:*IOGraphics*:*muxPowerMessage*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nmessageType: %#x (%u)\n", arg2, arg2 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
}
/*
IOReturn IOFramebuffer::setPowerState( unsigned long powerStateOrdinal, IOService * whichDevice )
*/
fbt:*IOGraphics*:*IOFramebuffer*setPowerState*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\npowerStateOrdinal: %#x (%u)\n", arg1, arg1 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->setFbPwr = 1;
}
fbt:*IOGraphics*:*IOFramebuffer*setPowerState*:return
/self->setFbPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setFbPwr = 0;
}
/*
IOReturn allowPowerChange( unsigned long refcon );
*/
fbt::*allowPowerChange*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
stack();
}
fbt::*allowPowerChange*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
IOReturn changePowerStateToPriv( unsigned long ordinal );
*/
fbt::*changePowerStateToPriv*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nordinal: %#x (%u)\n", arg1, arg1 );
stack();
}
fbt::*changePowerStateToPriv*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
UInt32 getPowerState( void );
*/
fbt::*getPowerState*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
stack();
}
fbt::*getPowerState*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
void start_PM_idle_timer( void );
*/
fbt::*start_PM_idle_timer*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
stack();
}
fbt::*start_PM_idle_timer*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
IOReturn setIdleTimerPeriod( unsigned long period );
*/
fbt::*setIdleTimerPeriod*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nperiod: %#x (%u)\n", arg1, arg1 );
stack();
}
fbt::*setIdleTimerPeriod*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
IOReturn temporaryPowerClampOn( void );
*/
fbt::*temporaryPowerClampOn*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
stack();
}
fbt::*temporaryPowerClampOn*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
IOReturn acknowledgeSetPowerState( void );
*/
fbt::*acknowledgeSetPowerState*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
stack();
}
fbt::*acknowledgeSetPowerState*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}
/*
PMRootDomain:
*/
/*
IOReturn IODisplayWrangler::setProperties( OSObject * properties )
*/
fbt:*IOGraphics*:*IODisplayWrangler*setProperties*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->setProps = 1;
}
fbt:*IOGraphics*:*IODisplayWrangler*setProperties*:return
/self->setProps != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setProps = 0;
}
/*
IOReturn IODisplayWrangler::setPowerState( unsigned long powerStateOrdinal, IOService * whatDevice )
*/
fbt:*IOGraphics*:*IODisplayWrangler*setPowerState*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\npowerStateOrdinal: %#x (%u)\n", arg1, arg1 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->setPwr = 1;
}
fbt:*IOGraphics*:*IODisplayWrangler*setPowerState*:return
/self->setPwr != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->setPwr = 0;
}
/*
SInt32 IODisplayWrangler::nextIdleTimeout( AbsoluteTime currentTime, AbsoluteTime lastActivity, unsigned int powerState)
*/
fbt:*IOGraphics*:*IODisplayWrangler*nextIdleTimeout*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\ncurrentTime: %#x, lastActivity: %#x, powerState: %#x (%u)\n", arg1, arg2, arg3, arg3 );
printf("\nPower Active Check: chkPwr: %#x, chkCtrlPwr: %#x, setAttr: %#x\n", self->chkPwr, self->chkCtrlPwr, self->sysWrk);
stack();
self->nxtIdle = 1;
}
fbt:*IOGraphics*:*IODisplayWrangler*nextIdleTimeout*:return
/self->nxtIdle != 0/
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
self->nxtIdle = 0;
}
/*
IOReturn receivePowerNotification( UInt32 msg );
*/
fbt::*receivePowerNotification*:entry
{
printf("\n(%#x)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", timestamp);
trace(execname);
self->inTime[probefunc] = timestamp;
printf("\nmsg: %#x (%u)\n", arg1, arg1 );
stack();
}
fbt::*receivePowerNotification*:return
{
printf(" %d ns tid: %d(%#x)\n", timestamp - self->inTime[probefunc], tid, tid );
self->inTime[probefunc] = 0;
}