static P_OSAL_OP _stp_btm_get_op ( MTKSTP_BTM_T *stp_btm, P_OSAL_OP_Q pOpQ ) { P_OSAL_OP pOp; INT32 ret = 0; if (!pOpQ) { STP_BTM_WARN_FUNC("!pOpQ \n"); return NULL; } osal_lock_unsleepable_lock(&(stp_btm->wq_spinlock)); if (ret) { STP_BTM_WARN_FUNC("mutex_lock_interruptible (%d) \n", ret); return NULL; } /* acquire lock success */ RB_GET(pOpQ, pOp); osal_unlock_unsleepable_lock(&(stp_btm->wq_spinlock)); if (!pOp) { //STP_BTM_WARN_FUNC("RB_GET fail\n"); } return pOp; }
/* ========================================================================= */ void AFE_Manager( void ) { DelayCmd dc; if( afe.ext_op_delay != 0 ) { if( afe.ext_op_delay > 0 ) { if( --afe.ext_op_delay == 0 ) { AFE_SwitchExtAmplifier( true ); afe.ext_op_on = KAL_TRUE; } } else { /* afe.ext_op_delay < 0 */ if( ++afe.ext_op_delay == 0 ) { AFE_SwitchExtAmplifier( false ); afe.ext_op_on = KAL_FALSE; } } } if( !RB_EMPTY( afe.regq ) ) { RB_GET( afe.regq, dc ); *dc.addr = dc.val; } if( afe.refresh ) { afe.refresh = KAL_FALSE; L1Audio_LSetEvent(afe.aud_id, NULL); } /* if(afe.v8k_off_request) { *MD2GSYS_CG_SET2 = PDN_CON2_VAFE; *AFE_VMCU_CON &= ~0x0001; afe.v8k_off_request = KAL_FALSE; L1Audio_Msg_AFE_Switch( L1AUDIO_Str_onoff(0), AFE_Switch_Name(0) ); } if(afe.aClk_off_request) { *MD2GSYS_CG_SET2 = PDN_CON2_AAFE; *AFE_AMCU_CON0 &= ~0x0001; afe.aClk_off_request = KAL_FALSE; } */ }
static P_OSAL_OP _stp_btm_get_op(MTKSTP_BTM_T *stp_btm, P_OSAL_OP_Q pOpQ) { P_OSAL_OP pOp; /* INT32 ret = 0; */ if (!pOpQ) { STP_BTM_WARN_FUNC("!pOpQ\n"); return NULL; } osal_lock_unsleepable_lock(&(stp_btm->wq_spinlock)); /* acquire lock success */ RB_GET(pOpQ, pOp); osal_unlock_unsleepable_lock(&(stp_btm->wq_spinlock)); if (!pOp) STP_BTM_WARN_FUNC("RB_GET fail\n"); return pOp; }