Daniel Golle <[email protected]> [2020-02-12 16:37:36]:
...
> ++static inline int ar933x_uart_is_half_duplex(struct ar933x_uart_port *up)
> ++{
That function name is quite confusing as it's checking for 485/HD.
> ++ return (up->port.rs485.flags & SER_RS485_ENABLED) &&
> ++ !(up->port.rs485.flags & SER_RS485_RX_DURING_TX);
> ++}
...
> +- if (!uart_circ_empty(xmit))
> ++ if (!uart_circ_empty(xmit)) {
> + ar933x_uart_start_tx_interrupt(up);
> ++ } else if (ar933x_uart_is_half_duplex(up)) {
> ++ ar933x_uart_wait_tx_complete(up);
> ++ ar933x_uart_rx_flush(up);
> ++ ar933x_uart_start_rx_interrupt(up);
> ++ }
This change looks strange, how are these two related? Where do you re-enable
the TX interrupts in that 485/HD case?
-- ynezz
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel