#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:
Blocking:

Description

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 Aug 7, 2014 at 10:53:54 AM.
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 Aug 7, 2014 at 1:15:18 PM.
Revised patch

Download all attachments as: .zip

Change History (6)

Changed on Aug 7, 2014 at 10:53:54 AM by Kolja Waschk

Patch for termios.c as described

comment:1 Changed on Aug 7, 2014 at 11:43:56 AM by Sebastian Huber

Cc: Sebastian Huber added

comment:2 Changed on Aug 7, 2014 at 1:15:18 PM by Kolja Waschk

attachments.isobsolete: 01

comment:3 Changed on Aug 19, 2014 at 3:56:26 PM 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 Nov 24, 2014 at 6:58:28 PM 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.