[PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)

Ilpo Järvinen posted 3 patches 3 years, 7 months ago
There is a newer version of this series
drivers/tty/serial/serial-tegra.c |  5 ++---
drivers/tty/serial/tegra-tcu.c    |  2 +-
include/linux/serial_core.h       | 17 +++++++++++++++++
3 files changed, 20 insertions(+), 4 deletions(-)
[PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Ilpo Järvinen 3 years, 7 months ago
Add uart_xmit_advance() helper to handle circular xmit buffer
advancement + accounting of Tx'ed bytes. Use it to fix a few drivers
that previously lacked to accounting for DMA Tx.

Greg,
I've a another series on top this which is tty-next material making the
rest of the drivers to use uart_xmit_advance(). That series obviously
depends on the patch 1/3 of this series so if you end up putting these
3 patches into tty-linus, I'll need it to be merged into tty-next at
some point (I'm not in a big hurry with this so if you choose to delay
the merge, it's not a big deal).

Ilpo Järvinen (3):
  serial: Create uart_xmit_advance()
  serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
  serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting

 drivers/tty/serial/serial-tegra.c |  5 ++---
 drivers/tty/serial/tegra-tcu.c    |  2 +-
 include/linux/serial_core.h       | 17 +++++++++++++++++
 3 files changed, 20 insertions(+), 4 deletions(-)

-- 
2.30.2

Re: [PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Jiri Slaby 3 years, 7 months ago
On 25. 08. 22, 11:17, Ilpo Järvinen wrote:
> Add uart_xmit_advance() helper to handle circular xmit buffer
> advancement + accounting of Tx'ed bytes. Use it to fix a few drivers
> that previously lacked to accounting for DMA Tx.
> 
> Greg,
> I've a another series on top this which is tty-next material making the
> rest of the drivers to use uart_xmit_advance(). That series obviously
> depends on the patch 1/3 of this series so if you end up putting these
> 3 patches into tty-linus, I'll need it to be merged into tty-next at
> some point (I'm not in a big hurry with this so if you choose to delay
> the merge, it's not a big deal).

Hi,
could you hold off with the latter series? I'll send a v2 of TX path 
cleanup shortly. You'd then need to update much less places (if my 
series is accepted):
https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=2d9ade0412f7e5edacc7f791ebbf773d6481b453
https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=fd55062d74a8c137d30388c6e25ebd5c06a04517
https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=a1df5129cc0cf174a8cd03e187c6a5e890d313e4

v1 was here (but was doing a call for every character):
https://lore.kernel.org/all/20220411105405.9519-1-jslaby@suse.cz/

> Ilpo Järvinen (3):
>    serial: Create uart_xmit_advance()
>    serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
>    serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
> 
>   drivers/tty/serial/serial-tegra.c |  5 ++---
>   drivers/tty/serial/tegra-tcu.c    |  2 +-
>   include/linux/serial_core.h       | 17 +++++++++++++++++
>   3 files changed, 20 insertions(+), 4 deletions(-)
> 

thanks,
-- 
js
suse labs

Re: [PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Ilpo Järvinen 3 years, 7 months ago
On Mon, 29 Aug 2022, Jiri Slaby wrote:

> On 25. 08. 22, 11:17, Ilpo Järvinen wrote:
> > Add uart_xmit_advance() helper to handle circular xmit buffer
> > advancement + accounting of Tx'ed bytes. Use it to fix a few drivers
> > that previously lacked to accounting for DMA Tx.
> > 
> > Greg,
> > I've a another series on top this which is tty-next material making the
> > rest of the drivers to use uart_xmit_advance(). That series obviously
> > depends on the patch 1/3 of this series so if you end up putting these
> > 3 patches into tty-linus, I'll need it to be merged into tty-next at
> > some point (I'm not in a big hurry with this so if you choose to delay
> > the merge, it's not a big deal).
> 
> Hi,
> could you hold off with the latter series? I'll send a v2 of TX path cleanup
> shortly. You'd then need to update much less places (if my series is
> accepted):
> https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=2d9ade0412f7e5edacc7f791ebbf773d6481b453
> https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=fd55062d74a8c137d30388c6e25ebd5c06a04517
> https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?h=devel&id=a1df5129cc0cf174a8cd03e187c6a5e890d313e4
> 
> v1 was here (but was doing a call for every character):
> https://lore.kernel.org/all/20220411105405.9519-1-jslaby@suse.cz/

Sure, I can hold off a while (as long as we're speaking of reasonable 
timescales :-)). Looking into your patches, they also seemed to lack that 
icount.tx++ thing.

-- 
 i.

> > Ilpo Järvinen (3):
> >    serial: Create uart_xmit_advance()
> >    serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
> >    serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
> > 
> >   drivers/tty/serial/serial-tegra.c |  5 ++---
> >   drivers/tty/serial/tegra-tcu.c    |  2 +-
> >   include/linux/serial_core.h       | 17 +++++++++++++++++
> >   3 files changed, 20 insertions(+), 4 deletions(-)
> > 
> 
> thanks,
> 
Re: [PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Jiri Slaby 3 years, 7 months ago
On 29. 08. 22, 9:41, Ilpo Järvinen wrote:> Looking into your patches, 
they also seemed to lack that> icount.tx++ thing.

Perhaps, you only overlooked it?

+	for (; (for_test) && (!tx_ready || tx_ready(port));
+			(for_post), port->icount.tx++) {		

thanks,
-- 
js
suse labs

Re: [PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Ilpo Järvinen 3 years, 7 months ago
On Mon, 29 Aug 2022, Jiri Slaby wrote:

> On 29. 08. 22, 9:41, Ilpo Järvinen wrote:> Looking into your patches, they
> also seemed to lack that> icount.tx++ thing.
> 
> Perhaps, you only overlooked it?
> 
> +	for (; (for_test) && (!tx_ready || tx_ready(port));
> +			(for_post), port->icount.tx++) {		

Ah, yes, I did (and its placement at the end of a multi-line for() didn't 
help that much either for pick it up :-)).

-- 
 i.
Re: [PATCH 0/3] serial: Add uart_xmit_advance() + fixes part (of a larger patch series)
Posted by Andy Shevchenko 3 years, 7 months ago
On Thu, Aug 25, 2022 at 12:19 PM Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> Add uart_xmit_advance() helper to handle circular xmit buffer
> advancement + accounting of Tx'ed bytes. Use it to fix a few drivers
> that previously lacked to accounting for DMA Tx.

For the whole series
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Thanks for fixing this issue.

> Greg,
> I've a another series on top this which is tty-next material making the
> rest of the drivers to use uart_xmit_advance(). That series obviously
> depends on the patch 1/3 of this series so if you end up putting these
> 3 patches into tty-linus, I'll need it to be merged into tty-next at
> some point (I'm not in a big hurry with this so if you choose to delay
> the merge, it's not a big deal).
>
> Ilpo Järvinen (3):
>   serial: Create uart_xmit_advance()
>   serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
>   serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
>
>  drivers/tty/serial/serial-tegra.c |  5 ++---
>  drivers/tty/serial/tegra-tcu.c    |  2 +-
>  include/linux/serial_core.h       | 17 +++++++++++++++++
>  3 files changed, 20 insertions(+), 4 deletions(-)
>
> --
> 2.30.2
>


-- 
With Best Regards,
Andy Shevchenko