ETxnStatus sdioAdapt_TransactBytes (unsigned int uFuncId, unsigned int uHwAddr, void * pHostAddr, unsigned int uLength, unsigned int bDirection, unsigned int bMore) { int iStatus; #ifdef PROPRIETARY_SDIO if(bMore == 1) { sdioDrv_cancel_inact_timer(); sdioDrv_clk_enable(); } #endif /* Call read or write bytes Sync method */ if (bDirection) { // printk("[sdioDrv_ReadSyncBytes]uFuncId = %d, uHwAddr = %d, uLength = %d, bMore = %d\n", uFuncId, uHwAddr, uLength, bMore); iStatus = sdioDrv_ReadSyncBytes (uFuncId, uHwAddr, pHostAddr, uLength, bMore); } else { // printk("[sdioDrv_WriteSyncBytes]uFuncId = %d, uHwAddr = %d, uLength = %d, bMore = %d\n", uFuncId, uHwAddr, uLength, bMore); iStatus = sdioDrv_WriteSyncBytes (uFuncId, uHwAddr, pHostAddr, uLength, bMore); } #ifdef PROPRIETARY_SDIO if(bMore == 0) { sdioDrv_start_inact_timer(); } #endif /* If failed return ERROR, if succeeded return COMPLETE */ if (iStatus) { return TXN_STATUS_ERROR; } return TXN_STATUS_COMPLETE; }
ETxnStatus sdioAdapt_TransactBytes (unsigned int uFuncId, unsigned int uHwAddr, void * pHostAddr, unsigned int uLength, unsigned int bDirection, unsigned int bMore) { int iStatus; if(bMore == 1) { sdioDrv_cancel_inact_timer(); #ifdef PROPRIETARY_SDIO sdioDrv_clk_enable(); #else sdioDrv_ClaimHost(SDIO_WLAN_FUNC); #endif } /* Call read or write bytes Sync method */ if (bDirection) { iStatus = sdioDrv_ReadSyncBytes (uFuncId, uHwAddr, pHostAddr, uLength, bMore); } else { iStatus = sdioDrv_WriteSyncBytes (uFuncId, uHwAddr, pHostAddr, uLength, bMore); } if(bMore == 0) { sdioDrv_start_inact_timer(); } /* If failed return ERROR, if succeeded return COMPLETE */ if (iStatus) { return TXN_STATUS_ERROR; } return TXN_STATUS_COMPLETE; }