On Thu, Mar 12, 2026 at 11:32:00AM +0800, [email protected] wrote:
> From: Frank Chang <[email protected]>
> 
> When rxctl is updated, we also need to check whether the IRQ should be
> raised, as the user may activate the Rx channel or change the Rx FIFO
> watermark level.
> 
> Signed-off-by: Frank Chang <[email protected]>
> ---
>  hw/char/sifive_uart.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c
> index ae71a15a2a4..f255cca960d 100644
> --- a/hw/char/sifive_uart.c
> +++ b/hw/char/sifive_uart.c
> @@ -216,6 +216,7 @@ sifive_uart_write(void *opaque, hwaddr addr,
>          return;
>      case SIFIVE_UART_RXCTRL:
>          s->rxctrl = val64;
> +        sifive_uart_update_irq(s);
This is correct. As noted in the 1/4 review, the same treatment
should be applied to the SIFIVE_UART_TXCTRL case for consistency
-- the user may also change the Tx watermark level or toggle txen,
which affects the txwm pending state.

Reviewed-by: Chao Liu <[email protected]>

Thanks,
Chao
>          return;
>      case SIFIVE_UART_DIV:
>          s->div = val64;
> -- 
> 2.43.0
> 
> 

Reply via email to