Changeset 296 for trunk/hal/tsar_mips32/drivers
- Timestamp:
- Jul 31, 2017, 1:59:52 PM (7 years ago)
- Location:
- trunk/hal/tsar_mips32/drivers
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/hal/tsar_mips32/drivers/soclib_bdv.c
r279 r296 131 131 { 132 132 thread_block( CURRENT_THREAD , THREAD_BLOCKED_DEV_ISR ); 133 sched_yield( );133 sched_yield( NULL ); 134 134 } 135 135 -
trunk/hal/tsar_mips32/drivers/soclib_dma.c
r279 r296 91 91 // Block and deschedule server thread 92 92 thread_block( CURRENT_THREAD , THREAD_BLOCKED_DEV_ISR ); 93 sched_yield( );93 sched_yield( NULL ); 94 94 95 95 } // soclib_dma_cmd() -
trunk/hal/tsar_mips32/drivers/soclib_hba.c
r279 r296 197 197 else // retry if asynchronous access. 198 198 { 199 sched_yield( );199 sched_yield( NULL ); 200 200 } 201 201 } … … 240 240 { 241 241 thread_block( CURRENT_THREAD , THREAD_BLOCKED_DEV_ISR ); 242 sched_yield( );242 sched_yield( NULL ); 243 243 } 244 244 -
trunk/hal/tsar_mips32/drivers/soclib_pic.c
r279 r296 28 28 #include <string.h> 29 29 #include <vfs.h> 30 #include <rpc.h> 30 31 #include <cluster.h> 31 32 #include <printk.h> … … 125 126 &pti_status ); 126 127 127 irq_dmsg("\n[INFO] %s : enter / WTI_STS = %x / HWI_STS = %x / WTI_STS= %x\n",128 __FUNCTION__ , wti_status , hwi_status , pti_status );128 irq_dmsg("\n[INFO] %s : enter for core[%x,%d] / WTI = %x / HWI = %x / WTI = %x\n", 129 __FUNCTION__ , local_cxy , core->lid , wti_status , hwi_status , pti_status ); 129 130 130 131 // analyse status and handle up to 3 pending IRQ (one WTI, one HWI, one PTI) … … 142 143 ack = base[(XCU_WTI_REG << 5) | core->lid]; 143 144 144 // force scheduling 145 sched_yield(); 145 // check RPC FIFO, and activate or create a RPC thread 146 // it there is a pending RPC request 147 rpc_check(); 146 148 } 147 149 else // it is an external device -
trunk/hal/tsar_mips32/drivers/soclib_tty.c
r279 r296 82 82 // Block and deschedule server thread 83 83 thread_block( CURRENT_THREAD , THREAD_BLOCKED_DEV_ISR ); 84 sched_yield( );84 sched_yield( NULL ); 85 85 } 86 86 else if( type == TXT_WRITE ) // descheduling strategy for calling thread … … 94 94 // Block and deschedule server thread 95 95 thread_block( CURRENT_THREAD , THREAD_BLOCKED_DEV_ISR ); 96 sched_yield( );96 sched_yield( NULL ); 97 97 } 98 98 else if( type == TXT_SYNC_WRITE ) // busy waiting strategy for calling thread
Note: See TracChangeset
for help on using the changeset viewer.