Hi, On Mon, Jun 17, 2024 at 12:10 PM Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote: > > > > On 6/11/24 00:24, Douglas Anderson wrote: > > The fact that the Qualcomm GENI hardware interface is based around > > "packets" is really awkward to fit into Linux's UART design. > > Specifically, in order to send bytes you need to start up a new > > "command" saying how many bytes you want to send and then you need to > > send all those bytes. Once you've committed to sending that number of > > bytes it's very awkward to change your mind and send fewer, especially > > if you want to do so without dropping bytes on the ground. > > [...] > > > > +static void qcom_geni_serial_enable_cmd_done(struct uart_port *uport) > > +{ > > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > + > > + /* If we're not in FIFO mode we don't use CMD_DONE. */ > > + if (port->dev_data->mode != GENI_SE_FIFO) > > + return; > > + > > + writel(M_CMD_DONE_EN, uport->membase + SE_GENI_M_IRQ_EN_SET); > > +} > > IDK if this is worth of a separate function, instead of checking for the > FIFO in port_setup and writing it there, but generally this patch looks > good to me Sure. Somehow it felt weird to me to put it straight in there, but I could go either way. Do you think I should spin the series just for this, or just make this change if I happen to need to spin the series for something else? > Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> Thanks for your reviews, I appreciate it! -Doug