277 C_TRACE( ( _T( "DReqQueue::Add 0x%x %d %d %d %d ->" ), this, iSize, iCount, iInputIndex, iOutputIndex ) ); |
277 C_TRACE( ( _T( "DReqQueue::Add 0x%x %d %d %d %d ->" ), this, iSize, iCount, iInputIndex, iOutputIndex ) ); |
278 TBool ok( EFalse ); |
278 TBool ok( EFalse ); |
279 NKern::FMWait( iQueueMutex ); |
279 NKern::FMWait( iQueueMutex ); |
280 // If queue get's overfilled throw kernel fault. |
280 // If queue get's overfilled throw kernel fault. |
281 ASSERT_RESET_ALWAYS( ( iCount < iSize ), EIADQueueOutOfSync | EIADFaultIdentifier11 << KFaultIdentifierShift ); |
281 ASSERT_RESET_ALWAYS( ( iCount < iSize ), EIADQueueOutOfSync | EIADFaultIdentifier11 << KFaultIdentifierShift ); |
282 ASSERT_RESET_ALWAYS( EIADAsyncLast > aReq.iRequest, EIADOverTheLimits | EIADFaultIdentifier11 << KFaultIdentifierShift ); |
282 ASSERT_RESET_ALWAYS( EIADAsyncLast > aReq.iRequest, EIADOverTheLimits | EIADFaultIdentifier11 << KFaultIdentifierShift | (TUint8)aReq.iRequest << KExtraInfoShift); |
283 if( iReqList[ aReq.iRequest ] ) |
283 if( iReqList[ aReq.iRequest ] ) |
284 { |
284 { |
285 // Place the buffer into the queue. |
285 // Place the buffer into the queue. |
286 iReqRingBuffer[ iInputIndex ] = aReq; |
286 iReqRingBuffer[ iInputIndex ] = aReq; |
287 // Adjust input pointer. |
287 // Adjust input pointer. |
349 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x ->" ), this, aReqToSet, aStatus ) ); |
349 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x ->" ), this, aReqToSet, aStatus ) ); |
350 ASSERT_RESET_ALWAYS( aReqToSet < EIADAsyncLast, EIADWrongRequest | EIADFaultIdentifier13 << KFaultIdentifierShift ); |
350 ASSERT_RESET_ALWAYS( aReqToSet < EIADAsyncLast, EIADWrongRequest | EIADFaultIdentifier13 << KFaultIdentifierShift ); |
351 // If setting same request twice. |
351 // If setting same request twice. |
352 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x 0x%x TBR" ), this, aReqToSet, aStatus, iReqList[ aReqToSet ] ) ); |
352 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x 0x%x TBR" ), this, aReqToSet, aStatus, iReqList[ aReqToSet ] ) ); |
353 //jos !NULL ja !NULL fault |
353 //jos !NULL ja !NULL fault |
354 ASSERT_RESET_ALWAYS( !( !iReqList[ aReqToSet ] && aStatus == NULL ), EIADCommon ); |
354 ASSERT_RESET_ALWAYS( !( !iReqList[ aReqToSet ] && aStatus == NULL ), EIADCommon | (TUint8)aReqToSet << KExtraInfoShift ); |
355 iReqList[ aReqToSet ] = aStatus; |
355 iReqList[ aReqToSet ] = aStatus; |
356 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x <-" ), this, aReqToSet, aStatus ) ); |
356 C_TRACE( ( _T( "DReqQueue::SetReq 0x%x %d 0x%x <-" ), this, aReqToSet, aStatus ) ); |
357 |
357 |
358 OstTraceExt3( TRACE_NORMAL, DREQQUEUE_SETREQ_EXIT, "<DReqQueue::SetReq;aReqToSet=%x;aStatus=%x;this=%x", ( TUint )&( aReqToSet ), ( TUint )( aStatus ), (TUint)(this) ); |
358 OstTraceExt3( TRACE_NORMAL, DREQQUEUE_SETREQ_EXIT, "<DReqQueue::SetReq;aReqToSet=%x;aStatus=%x;this=%x", ( TUint )&( aReqToSet ), ( TUint )( aStatus ), (TUint)(this) ); |
359 } |
359 } |
363 */ |
363 */ |
364 EXPORT_C TRequestStatus* DReqQueue::GetReq( TIADAsyncRequest aReqToGet ) |
364 EXPORT_C TRequestStatus* DReqQueue::GetReq( TIADAsyncRequest aReqToGet ) |
365 { |
365 { |
366 OstTraceExt2( TRACE_NORMAL, DREQQUEUE_GETREQ_ENTRY, ">DReqQueue::GetReq;aReqToGet=%x;this=%x", (TUint)this, ( TUint )&( aReqToGet ) ); |
366 OstTraceExt2( TRACE_NORMAL, DREQQUEUE_GETREQ_ENTRY, ">DReqQueue::GetReq;aReqToGet=%x;this=%x", (TUint)this, ( TUint )&( aReqToGet ) ); |
367 |
367 |
368 ASSERT_RESET_ALWAYS( aReqToGet < EIADAsyncLast, EIADWrongRequest | EIADFaultIdentifier14 << KFaultIdentifierShift ); |
368 ASSERT_RESET_ALWAYS( aReqToGet < EIADAsyncLast, EIADWrongRequest | EIADFaultIdentifier14 << KFaultIdentifierShift | (TUint8)aReqToGet << KExtraInfoShift ); |
369 |
369 |
370 C_TRACE( ( _T( "DReqQueue::GetReq 0x%x 0x%x %d <->" ), this, iReqList[ aReqToGet ], aReqToGet ) ); |
370 C_TRACE( ( _T( "DReqQueue::GetReq 0x%x 0x%x %d <->" ), this, iReqList[ aReqToGet ], aReqToGet ) ); |
371 |
371 |
372 TRequestStatus* tmpStatus = iReqList[ aReqToGet ]; |
372 TRequestStatus* tmpStatus = iReqList[ aReqToGet ]; |
373 |
373 |