72 | | 1. When the driver implements private software TX_FIFO, and RX_FIDO, the '''txt_driver_cmd()''' function move character(s) between the kernel buffer and the FIFO. TXT driver FIFO. If the TX_FIFO is full (for a WRITE), or if the TX_FIFO is empty (for a READ), the server thread blocks on the THREAD_BLOCKED_ISR condition, and deschedules. It is re-activated by the '''txt_driver_isr()''' function, when the state of the blocking FIFO is modified. |
73 | | 1. The '''txt_driver_isr()''' function is in charge of moving the characters between the (TX or RX) FIFO and the (TX or RX) buffer in TXT terminal. It is called by the TXT_IRQ each time the TX buffer is empty, or each time the RX is FULL. ISR stand for Interrupt Service Routine. the '''txt_driver_isr()''' function re-activates the server thread when the state of a blocking FIFO has been modified. |
| 72 | 1. As most drivers implements, for each channel, two private software TX_FIFO and RX_FIDO, the '''txt_driver_cmd()''' function moves character(s) between the kernel buffer and the (TX or RX) FIFO. If the TX_FIFO is full (for a WRITE), or if the TX_FIFO is empty (for a READ), the server thread blocks on the THREAD_BLOCKED_ISR condition, and deschedules. It is re-activated by the '''txt_driver_isr()''' function, when the state of the blocking FIFO is modified. |
| 73 | 1. The '''txt_driver_isr()''' function is in charge of moving the characters between the (TX or RX) FIFO and the (TX or RX) buffer in the TXT terminal. It is called by the TXT_IRQ each time the TX buffer is empty, or each time the RX is FULL. ISR stand for Interrupt Service Routine. The '''txt_driver_isr()''' function re-activates the relevant server thread when the state of a blocking FIFO has been modified. |