Lines Matching refs:ref
116 IOExclaveProxyState * ref; in exclaveStart() local
118 ref = NULL; in exclaveStart()
212 ref = IONewZero(IOExclaveProxyState, 1); in exclaveStart()
213 if (!ref) { in exclaveStart()
216 ref->service = this; in exclaveStart()
217 ref->mach_endpoint = mach_endpoint; in exclaveStart()
218 ref->tb_endpoint = tb_endpoint; in exclaveStart()
219 ref->client = client; in exclaveStart()
220 ref->edk_mach_endpoint = edk_mach_endpoint; in exclaveStart()
221 ref->edk_tb_endpoint = edk_tb_endpoint; in exclaveStart()
222 ref->edk_client = edk_client; in exclaveStart()
223 ref->exclave_interrupts = OSDictionary::withCapacity(1); in exclaveStart()
224 ref->exclave_interrupts_lock = IOLockAlloc(); in exclaveStart()
225 ref->exclave_timers = OSDictionary::withCapacity(1); in exclaveStart()
226 ref->exclave_timers_lock = IOLockAlloc(); in exclaveStart()
227 ref->exclaveAsyncNotificationEventSourcesLock = IOLockAlloc(); in exclaveStart()
235 ref->ewla = IONew(IOExclaveWorkLoopAperture, 1); in exclaveStart()
236 if (!ref->ewla) { in exclaveStart()
240 ref->ewla->workLoop = wl; in exclaveStart()
246 wrapper->proxyState = ref; in exclaveStart()
268 if (ref) { in exclaveStart()
269 OSSafeReleaseNULL(ref->exclave_interrupts); in exclaveStart()
270 if (ref->exclave_interrupts_lock) { in exclaveStart()
271 IOLockFree(ref->exclave_interrupts_lock); in exclaveStart()
272 ref->exclave_interrupts_lock = NULL; in exclaveStart()
274 OSSafeReleaseNULL(ref->exclave_timers); in exclaveStart()
275 if (ref->exclave_timers_lock) { in exclaveStart()
276 IOLockFree(ref->exclave_timers_lock); in exclaveStart()
277 ref->exclave_timers_lock = NULL; in exclaveStart()
279 if (ref->exclaveAsyncNotificationEventSourcesLock) { in exclaveStart()
280 IOLockFree(ref->exclaveAsyncNotificationEventSourcesLock); in exclaveStart()
281 ref->exclaveAsyncNotificationEventSourcesLock = NULL; in exclaveStart()
283 if (ref->ewla) { in exclaveStart()
284 IODelete(ref->ewla, IOExclaveWorkLoopAperture, 1); in exclaveStart()
285 ref->ewla = NULL; in exclaveStart()
287 IODelete(ref, IOExclaveProxyState, 1); in exclaveStart()
288 ref = NULL; in exclaveStart()
293 if (!ref) { in exclaveStart()
297 *pRef = ref; in exclaveStart()
355 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveInterruptUpcallHandler() local
356 if (!ref || !args) { in IOExclaveInterruptUpcallHandler()
359 ref->service->retain(); in IOExclaveInterruptUpcallHandler()
365 res = ref->service->exclaveRegisterInterrupt(ref, args->index, args->data.register_args.test_irq); in IOExclaveInterruptUpcallHandler()
369 res = ref->service->exclaveRemoveInterrupt(ref, args->index); in IOExclaveInterruptUpcallHandler()
373 res = ref->service->exclaveEnableInterrupt(ref, args->index, args->data.enable_args.enable); in IOExclaveInterruptUpcallHandler()
382 ref->service->release(); in IOExclaveInterruptUpcallHandler()
386 ref->service->release(); in IOExclaveInterruptUpcallHandler()
394 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveTimerUpcallHandler() local
395 if (!ref || !args) { in IOExclaveTimerUpcallHandler()
398 ref->service->retain(); in IOExclaveTimerUpcallHandler()
405 res = ref->service->exclaveRegisterTimer(ref, &args->timer_id); in IOExclaveTimerUpcallHandler()
409 res = ref->service->exclaveRemoveTimer(ref, timer_id); in IOExclaveTimerUpcallHandler()
415 res = ref->service->exclaveEnableTimer(ref, timer_id, enable); in IOExclaveTimerUpcallHandler()
424 res = ref->service->exclaveTimerSetTimeout(ref, timer_id, options, duration, 0, kr); in IOExclaveTimerUpcallHandler()
429 res = ref->service->exclaveTimerCancelTimeout(ref, timer_id); in IOExclaveTimerUpcallHandler()
438 ref->service->release(); in IOExclaveTimerUpcallHandler()
442 ref->service->release(); in IOExclaveTimerUpcallHandler()
449 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveLockWorkloop() local
450 if (!ref) { in IOExclaveLockWorkloop()
456 ref->ewla->closeGate(); in IOExclaveLockWorkloop()
459 ref->ewla->openGate(); in IOExclaveLockWorkloop()
512 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveTestSignalInterrupt() local
513 if (!ref) { in IOExclaveTestSignalInterrupt()
516 ref->service->retain(); in IOExclaveTestSignalInterrupt()
521 OSObject *obj2 = ref->exclave_interrupts->getObject(irqKey); in IOExclaveTestSignalInterrupt()
524 ref->service->release(); in IOExclaveTestSignalInterrupt()
531 ref->service->release(); in IOExclaveTestSignalInterrupt()
538 ref->service->release(); in IOExclaveTestSignalInterrupt()
544 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveAsyncNotificationUpcallHandler() local
546 if (!ref) { in IOExclaveAsyncNotificationUpcallHandler()
552 ret = ref->service->exclaveAsyncNotificationSignal(ref, args->notificationID) == kIOReturnSuccess; in IOExclaveAsyncNotificationUpcallHandler()
567 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveMapperOperationUpcallHandler() local
568 if (!ref) { in IOExclaveMapperOperationUpcallHandler()
571 provider = ref->service->getProvider(); in IOExclaveMapperOperationUpcallHandler()
596 IOService::IOExclaveProxyState *ref = getProxyStateFromRegistryID(id); in IOExclaveANEUpcallHandler() local
599 if (!ref || !args) { in IOExclaveANEUpcallHandler()
605 if (ref->aneSetPowerStateUpcallHandler) { in IOExclaveANEUpcallHandler()
606 _result = (ref->aneSetPowerStateUpcallHandler)( in IOExclaveANEUpcallHandler()
615 if (ref->aneWorkSubmitUpcallHandler) { in IOExclaveANEUpcallHandler()
616 _result = (ref->aneWorkSubmitUpcallHandler)( in IOExclaveANEUpcallHandler()
627 if (ref->aneWorkBeginUpcallHandler) { in IOExclaveANEUpcallHandler()
628 _result = (ref->aneWorkBeginUpcallHandler)( in IOExclaveANEUpcallHandler()
639 if (ref->aneWorkEndUpcallHandler) { in IOExclaveANEUpcallHandler()
640 _result = (ref->aneWorkEndUpcallHandler)( in IOExclaveANEUpcallHandler()
796 IOService::IOExclaveProxyState *ref; in exclaveInterruptOccurred() local
805 ref = getProxyStateFromRegistryID(getRegistryEntryID()); in exclaveInterruptOccurred()
806 if (!ref) { in exclaveInterruptOccurred()
811 …tberr = ioservice_ioserviceprivate_interruptoccurredprivate(&ref->edk_client, eventSource->getIntI… in exclaveInterruptOccurred()
1043 IOService::IOExclaveProxyState *ref; in exclaveTimerFired() local
1052 ref = getProxyStateFromRegistryID(getRegistryEntryID()); in exclaveTimerFired()
1053 if (!ref) { in exclaveTimerFired()
1059 IOLockLock(ref->exclave_timers_lock); in exclaveTimerFired()
1060 ref->exclave_timers->iterateObjects(^bool (const OSSymbol * id, OSObject * obj) in exclaveTimerFired()
1070 IOLockUnlock(ref->exclave_timers_lock); in exclaveTimerFired()
1078 tberr = ioservice_ioserviceprivate_timerfiredprivate(&ref->edk_client, timer_id); in exclaveTimerFired()