Lines Matching refs:gpphTmlNfc_Context

48 phTmlNfc_Context_t* gpphTmlNfc_Context = NULL;  variable
85 if (NULL != gpphTmlNfc_Context) { in phTmlNfc_Init()
96 gpphTmlNfc_Context = in phTmlNfc_Init()
99 if (NULL == gpphTmlNfc_Context) { in phTmlNfc_Init()
113 memset(gpphTmlNfc_Context, PH_TMLNFC_RESET_VALUE, in phTmlNfc_Init()
116 gpphTmlNfc_Context->bThreadDone = 1; in phTmlNfc_Init()
119 pConfig, &(gpphTmlNfc_Context->pDevHandle)); in phTmlNfc_Init()
123 gpphTmlNfc_Context->pDevHandle = NULL; in phTmlNfc_Init()
126 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_Init()
127 gpphTmlNfc_Context->tWriteInfo.bEnable = 0; in phTmlNfc_Init()
128 gpphTmlNfc_Context->tReadInfo.bThreadBusy = false; in phTmlNfc_Init()
129 gpphTmlNfc_Context->tWriteInfo.bThreadBusy = false; in phTmlNfc_Init()
132 gpphTmlNfc_Context->fragment_len = pConfig->fragment_len; in phTmlNfc_Init()
134 if (0 != sem_init(&gpphTmlNfc_Context->rxSemaphore, 0, 0)) { in phTmlNfc_Init()
138 } else if (0 != sem_init(&gpphTmlNfc_Context->txSemaphore, 0, 0)) { in phTmlNfc_Init()
140 } else if (0 != sem_init(&gpphTmlNfc_Context->postMsgSemaphore, 0, 0)) { in phTmlNfc_Init()
143 sem_post(&gpphTmlNfc_Context->postMsgSemaphore); in phTmlNfc_Init()
149 gpphTmlNfc_Context->dwTimerId = phOsalNfc_Timer_Create(); in phTmlNfc_Init()
150 if (PH_OSALNFC_TIMER_ID_INVALID != gpphTmlNfc_Context->dwTimerId) { in phTmlNfc_Init()
152 gpphTmlNfc_Context->dwCallbackThreadId = in phTmlNfc_Init()
156 gpphTmlNfc_Context->eConfig = phTmlNfc_e_DisableRetrans; in phTmlNfc_Init()
159 gpphTmlNfc_Context->bRetryCount = in phTmlNfc_Init()
161 gpphTmlNfc_Context->bWriteCbInvoked = false; in phTmlNfc_Init()
224 gpphTmlNfc_Context->eConfig = eConfiguration; in phTmlNfc_ConfigNciPktReTx()
228 gpphTmlNfc_Context->bRetryCount = bRetryCounter; in phTmlNfc_ConfigNciPktReTx()
234 gpphTmlNfc_Context->bRetryCount = in phTmlNfc_ConfigNciPktReTx()
262 pthread_create(&gpphTmlNfc_Context->readerThread, NULL, in phTmlNfc_StartThread()
269 pthread_create(&gpphTmlNfc_Context->writerThread, NULL, in phTmlNfc_StartThread()
306 while (gpphTmlNfc_Context->bThreadDone) { in phTmlNfc_TmlThread()
310 if (-1 == sem_wait(&gpphTmlNfc_Context->rxSemaphore)) { in phTmlNfc_TmlThread()
315 if (1 == gpphTmlNfc_Context->tReadInfo.bEnable) { in phTmlNfc_TmlThread()
324 if (NULL != gpphTmlNfc_Context->pDevHandle) { in phTmlNfc_TmlThread()
327 gpTransportObj->Read(gpphTmlNfc_Context->pDevHandle, temp, 260); in phTmlNfc_TmlThread()
337 sem_post(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_TmlThread()
341 sem_post(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_TmlThread()
343 memcpy(gpphTmlNfc_Context->tReadInfo.pBuffer, temp, dwNoBytesWrRd); in phTmlNfc_TmlThread()
348 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_TmlThread()
349 if ((phTmlNfc_e_EnableRetrans == gpphTmlNfc_Context->eConfig) && in phTmlNfc_TmlThread()
350 (0x00 != (gpphTmlNfc_Context->tReadInfo.pBuffer[0] & 0xE0))) { in phTmlNfc_TmlThread()
354 phOsalNfc_Timer_Stop(gpphTmlNfc_Context->dwTimerId); in phTmlNfc_TmlThread()
358 gpphTmlNfc_Context->bWriteCbInvoked = false; in phTmlNfc_TmlThread()
362 gpphTmlNfc_Context->tReadInfo.wLength = (uint16_t)(dwNoBytesWrRd); in phTmlNfc_TmlThread()
364 gpphTmlNfc_Context->tReadInfo.pBuffer, in phTmlNfc_TmlThread()
365 gpphTmlNfc_Context->tReadInfo.wLength); in phTmlNfc_TmlThread()
372 tTransactionInfo.pBuff = gpphTmlNfc_Context->tReadInfo.pBuffer; in phTmlNfc_TmlThread()
374 tTransactionInfo.wLength = gpphTmlNfc_Context->tReadInfo.wLength; in phTmlNfc_TmlThread()
385 phTmlNfc_DeferredCall(gpphTmlNfc_Context->dwCallbackThreadId, &tMsg); in phTmlNfc_TmlThread()
426 while (gpphTmlNfc_Context->bThreadDone) { in phTmlNfc_TmlWriterThread()
428 if (-1 == sem_wait(&gpphTmlNfc_Context->txSemaphore)) { in phTmlNfc_TmlWriterThread()
432 if (1 == gpphTmlNfc_Context->tWriteInfo.bEnable) { in phTmlNfc_TmlWriterThread()
436 if (NULL != gpphTmlNfc_Context->pDevHandle) { in phTmlNfc_TmlWriterThread()
438 gpphTmlNfc_Context->tWriteInfo.bEnable = 0; in phTmlNfc_TmlWriterThread()
444 pthread_mutex_lock(&gpphTmlNfc_Context->wait_busy_lock); in phTmlNfc_TmlWriterThread()
445 gpphTmlNfc_Context->gWriterCbflag = false; in phTmlNfc_TmlWriterThread()
447 gpTransportObj->Write(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_TmlWriterThread()
448 gpphTmlNfc_Context->tWriteInfo.pBuffer, in phTmlNfc_TmlWriterThread()
449 gpphTmlNfc_Context->tWriteInfo.wLength); in phTmlNfc_TmlWriterThread()
451 pthread_mutex_unlock(&gpphTmlNfc_Context->wait_busy_lock); in phTmlNfc_TmlWriterThread()
468 gpphTmlNfc_Context->tWriteInfo.pBuffer, in phTmlNfc_TmlWriterThread()
469 gpphTmlNfc_Context->tWriteInfo.wLength); in phTmlNfc_TmlWriterThread()
479 tTransactionInfo.pBuff = gpphTmlNfc_Context->tWriteInfo.pBuffer; in phTmlNfc_TmlWriterThread()
498 if ((phTmlNfc_e_EnableRetrans == gpphTmlNfc_Context->eConfig) && in phTmlNfc_TmlWriterThread()
499 (0x00 != (gpphTmlNfc_Context->tWriteInfo.pBuffer[0] & 0xE0))) { in phTmlNfc_TmlWriterThread()
500 if (gpphTmlNfc_Context->bWriteCbInvoked == false) { in phTmlNfc_TmlWriterThread()
503 phTmlNfc_DeferredCall(gpphTmlNfc_Context->dwCallbackThreadId, in phTmlNfc_TmlWriterThread()
505 gpphTmlNfc_Context->bWriteCbInvoked = true; in phTmlNfc_TmlWriterThread()
510 phTmlNfc_DeferredCall(gpphTmlNfc_Context->dwCallbackThreadId, &tMsg); in phTmlNfc_TmlWriterThread()
513 pthread_mutex_lock(&gpphTmlNfc_Context->wait_busy_lock); in phTmlNfc_TmlWriterThread()
514 gpphTmlNfc_Context->gWriterCbflag = true; in phTmlNfc_TmlWriterThread()
517 pthread_mutex_unlock(&gpphTmlNfc_Context->wait_busy_lock); in phTmlNfc_TmlWriterThread()
545 if (NULL == gpphTmlNfc_Context) { in phTmlNfc_CleanUp()
548 sem_destroy(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_CleanUp()
549 sem_destroy(&gpphTmlNfc_Context->txSemaphore); in phTmlNfc_CleanUp()
550 sem_destroy(&gpphTmlNfc_Context->postMsgSemaphore); in phTmlNfc_CleanUp()
551 pthread_mutex_destroy(&gpphTmlNfc_Context->wait_busy_lock); in phTmlNfc_CleanUp()
552 pthread_cond_destroy(&gpphTmlNfc_Context->wait_busy_condition); in phTmlNfc_CleanUp()
555 free((void*)gpphTmlNfc_Context); in phTmlNfc_CleanUp()
557 gpphTmlNfc_Context = NULL; in phTmlNfc_CleanUp()
582 if (NULL != gpphTmlNfc_Context) { in phTmlNfc_Shutdown()
584 gpphTmlNfc_Context->bThreadDone = 0; in phTmlNfc_Shutdown()
587 sem_post(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_Shutdown()
589 sem_post(&gpphTmlNfc_Context->txSemaphore); in phTmlNfc_Shutdown()
591 sem_post(&gpphTmlNfc_Context->postMsgSemaphore); in phTmlNfc_Shutdown()
593 sem_post(&gpphTmlNfc_Context->postMsgSemaphore); in phTmlNfc_Shutdown()
597 (void)gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_Shutdown()
601 gpTransportObj->Close(gpphTmlNfc_Context->pDevHandle); in phTmlNfc_Shutdown()
602 gpphTmlNfc_Context->pDevHandle = NULL; in phTmlNfc_Shutdown()
603 if (0 != pthread_join(gpphTmlNfc_Context->readerThread, (void**)NULL)) { in phTmlNfc_Shutdown()
606 if (0 != pthread_join(gpphTmlNfc_Context->writerThread, (void**)NULL)) { in phTmlNfc_Shutdown()
656 if (NULL != gpphTmlNfc_Context) { in phTmlNfc_Write()
657 if ((NULL != gpphTmlNfc_Context->pDevHandle) && (NULL != pBuffer) && in phTmlNfc_Write()
659 if (!gpphTmlNfc_Context->tWriteInfo.bThreadBusy) { in phTmlNfc_Write()
661 gpphTmlNfc_Context->tWriteInfo.bThreadBusy = true; in phTmlNfc_Write()
665 gpphTmlNfc_Context->tWriteInfo.pBuffer = pBuffer; in phTmlNfc_Write()
666 gpphTmlNfc_Context->tWriteInfo.wLength = wLength; in phTmlNfc_Write()
667 gpphTmlNfc_Context->tWriteInfo.pThread_Callback = pTmlWriteComplete; in phTmlNfc_Write()
668 gpphTmlNfc_Context->tWriteInfo.pContext = pContext; in phTmlNfc_Write()
672 if (phTmlNfc_e_EnableRetrans == gpphTmlNfc_Context->eConfig) { in phTmlNfc_Write()
677 bCurrentRetryCount = gpphTmlNfc_Context->bRetryCount; in phTmlNfc_Write()
678 gpphTmlNfc_Context->bWriteCbInvoked = false; in phTmlNfc_Write()
681 gpphTmlNfc_Context->tWriteInfo.bEnable = 1; in phTmlNfc_Write()
682 sem_post(&gpphTmlNfc_Context->txSemaphore); in phTmlNfc_Write()
728 if (NULL != gpphTmlNfc_Context) { in phTmlNfc_Read()
729 if ((gpphTmlNfc_Context->pDevHandle != NULL) && (NULL != pBuffer) && in phTmlNfc_Read()
731 if (!gpphTmlNfc_Context->tReadInfo.bThreadBusy) { in phTmlNfc_Read()
733 gpphTmlNfc_Context->tReadInfo.bThreadBusy = true; in phTmlNfc_Read()
737 gpphTmlNfc_Context->tReadInfo.pBuffer = pBuffer; in phTmlNfc_Read()
738 gpphTmlNfc_Context->tReadInfo.wLength = wLength; in phTmlNfc_Read()
739 gpphTmlNfc_Context->tReadInfo.pThread_Callback = pTmlReadComplete; in phTmlNfc_Read()
740 gpphTmlNfc_Context->tReadInfo.pContext = pContext; in phTmlNfc_Read()
744 gpphTmlNfc_Context->tReadInfo.bEnable = 1; in phTmlNfc_Read()
745 ret = sem_getvalue(&gpphTmlNfc_Context->rxSemaphore, &rxSemVal); in phTmlNfc_Read()
749 sem_post(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_Read()
787 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_ReadAbort()
790 gpphTmlNfc_Context->tReadInfo.bThreadBusy = false; in phTmlNfc_ReadAbort()
816 gpphTmlNfc_Context->tWriteInfo.bEnable = 0; in phTmlNfc_WriteAbort()
821 gpphTmlNfc_Context->tWriteInfo.bThreadBusy = false; in phTmlNfc_WriteAbort()
848 if (NULL == gpphTmlNfc_Context) { in phTmlNfc_IoCtl()
851 uint8_t read_flag = (gpphTmlNfc_Context->tReadInfo.bEnable > 0); in phTmlNfc_IoCtl()
857 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
860 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
863 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
866 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
873 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
884 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
887 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
890 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
897 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_IoCtl()
901 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
904 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
908 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
914 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
917 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
925 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_IoCtl()
929 wStatus = gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
933 wStatus = gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
940 gpphTmlNfc_Context->tReadInfo.bEnable = 0; in phTmlNfc_IoCtl()
944 wStatus = gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
951 gpphTmlNfc_Context->fragment_len = PH_TMLNFC_FRGMENT_SIZE_SN300; in phTmlNfc_IoCtl()
953 gpphTmlNfc_Context->fragment_len = PH_TMLNFC_FRGMENT_SIZE_SNXXX; in phTmlNfc_IoCtl()
956 gpphTmlNfc_Context->fragment_len = PH_TMLNFC_FRGMENT_SIZE_SNXXX; in phTmlNfc_IoCtl()
958 gpphTmlNfc_Context->fragment_len = PH_TMLNFC_FRGMENT_SIZE_PN557; in phTmlNfc_IoCtl()
960 NXPLOG_TML_D("Set FragmentSize: %u", gpphTmlNfc_Context->fragment_len); in phTmlNfc_IoCtl()
964 gpTransportObj->UpdateReadPending(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
969 gpTransportObj->UpdateReadPending(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
974 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
979 gpTransportObj->NfccReset(gpphTmlNfc_Context->pDevHandle, in phTmlNfc_IoCtl()
988 if (read_flag && (gpphTmlNfc_Context->tReadInfo.bEnable == 0x00)) { in phTmlNfc_IoCtl()
989 gpphTmlNfc_Context->tReadInfo.bEnable = 1; in phTmlNfc_IoCtl()
990 sem_post(&gpphTmlNfc_Context->rxSemaphore); in phTmlNfc_IoCtl()
1014 if (-1 == sem_wait(&gpphTmlNfc_Context->postMsgSemaphore)) { in phTmlNfc_DeferredCall()
1017 phDal4Nfc_msgsnd(gpphTmlNfc_Context->dwCallbackThreadId, ptWorkerMsg, 0); in phTmlNfc_DeferredCall()
1018 sem_post(&gpphTmlNfc_Context->postMsgSemaphore); in phTmlNfc_DeferredCall()
1037 gpphTmlNfc_Context->tReadInfo.bThreadBusy = false; in phTmlNfc_ReadDeferredCb()
1038 gpphTmlNfc_Context->tReadInfo.pThread_Callback( in phTmlNfc_ReadDeferredCb()
1039 gpphTmlNfc_Context->tReadInfo.pContext, pTransactionInfo); in phTmlNfc_ReadDeferredCb()
1060 gpphTmlNfc_Context->tWriteInfo.bThreadBusy = false; in phTmlNfc_WriteDeferredCb()
1061 gpphTmlNfc_Context->tWriteInfo.pThread_Callback( in phTmlNfc_WriteDeferredCb()
1062 gpphTmlNfc_Context->tWriteInfo.pContext, pTransactionInfo); in phTmlNfc_WriteDeferredCb()
1084 if (gpphTmlNfc_Context->wait_busy_flag == true) { in phTmlNfc_SignalWriteComplete()
1086 gpphTmlNfc_Context->wait_busy_flag = false; in phTmlNfc_SignalWriteComplete()
1088 ret = pthread_cond_signal(&gpphTmlNfc_Context->wait_busy_condition); in phTmlNfc_SignalWriteComplete()
1112 memset(&gpphTmlNfc_Context->wait_busy_condition, 0, in phTmlNfc_WaitReadInit()
1113 sizeof(gpphTmlNfc_Context->wait_busy_condition)); in phTmlNfc_WaitReadInit()
1114 pthread_mutex_init(&gpphTmlNfc_Context->wait_busy_lock, NULL); in phTmlNfc_WaitReadInit()
1115 ret = pthread_cond_init(&gpphTmlNfc_Context->wait_busy_condition, &attr); in phTmlNfc_WaitReadInit()