uart: use proper interrupt decoding

This commit is contained in:
CTCaer committed 2021-03-17 08:51:49 +02:00
1 parent e8cf85bd65
commit 513f77a2ad
3 files changed
+18 -2

No files matched your search

+6 -1
View File
@@ -122,7 +122,12 @@ u32 uart_get_IIR(u32 idx)
{
uart_t *uart = (uart_t *)(UART_BASE + uart_baseoff[idx]);
return uart->UART_IIR_FCR;
u32 iir = uart->UART_IIR_FCR & UART_IIR_INT_MASK;
if (iir & UART_IIR_NO_INT)
return 0;
else
return ((iir >> 1) + 1); // Return encoded interrupt.
}
void uart_set_IIR(u32 idx)