#2185 closed enhancement (fixed)

Enhance rtems_termios_puts to write more than one char at once

Reported by: Kolja Waschk Owned by: Joel Sherrill
Priority: normal Milestone: 4.11
Component: score Version: 4.11
Severity: minor Keywords:
Cc: sebastian.huber@… Blocked By:


The rtems_termios_puts(), as is, calls (*tty->handler.write)() once per char.

To minimize overhead e.g. with DMA setup in driver, it could send more at once.

The attached patch implements a quite simple loop for copying more than one char before calling (*tty->handler.write)().

Note that it does *not* enable interrupts while copying as suggested by the comment in the original source code.

The amount of chars copied however is guaranteed to be less than rawOutBuf size.

Attachments (2)

0001-rtems_termios_puts-Write-more-than-one-char-at-once.patch (2.6 KB) - added by Kolja Waschk on 08/07/14 at 10:53:54.
Patch for termios.c as described
0001-rtems_termios_puts-Write-more-than-one-char-at-once_v1.patch (2.9 KB) - added by Kolja Waschk on 08/07/14 at 13:15:18.
Revised patch

Download all attachments as: .zip

Change History (6)

Changed on 08/07/14 at 10:53:54 by Kolja Waschk

Patch for termios.c as described

comment:1 Changed on 08/07/14 at 11:43:56 by Sebastian Huber

Cc: Sebastian Huber added

comment:2 Changed on 08/07/14 at 13:15:18 by Kolja Waschk

attachments.isobsolete: 01

comment:3 Changed on 08/19/14 at 15:56:26 by Kolja Waschk

Resolution: fixed
Status: newclosed

This has now been resolved 2014-08-19 with another newer patch sent to devel@… and committed as http://git.rtems.org/rtems/commit/?id=3654667f77851c02b05bb3f964b8e56a5a529912

comment:4 Changed on 11/24/14 at 18:58:28 by Gedare Bloom

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Note: See TracTickets for help on using tickets.