Skip to content

Improve latency of IR decoding

Sean Young linux-amlogic linux-media 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3media: rc: set timeout to smallest value required by enabled protocolsdrivers/media/rc/ir-imon-decoder.c drivers/media/rc/ir-jvc-decoder.c drivers/media/rc/ir-mce_kbd-decoder.c +10 more+47 -70 replies
2/3media: rc: add ioctl to get the current timeoutDocumentation/media/uapi/rc/lirc-func.rst Documentation/media/uapi/rc/lirc-set-rec-timeout.rst drivers/media/rc/lirc_dev.c +1 more+23 -50 replies
3/3media: rc: per-protocol repeat period and minimum keyup timerdrivers/media/cec/cec-core.c drivers/media/rc/lirc_dev.c drivers/media/rc/rc-main.c+31 -290 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] Improve latency of IR decoding

The current IR decoding is much too slow. Many IR protocols rely on a trailing space for decoding (e.g. rc-6 needs to know when the bits end). The trailing space is generated by the IR timeout, and if this is longer than required, keys can be perceived as sticky and slugish.

The other issue the keyup timer. IR has no concept of a keyup message, this is implied by the absence of IR. So, minimising the timeout for this further improves the handling.

With these patches in place, using IR with the builtin decoders is much improved and feels very snappy.

Sean Young (3):
media: rc: set timeout to smallest value required by enabled protocols
media: rc: add ioctl to get the current timeout
media: rc: per-protocol repeat period and minimum keyup timer

 Documentation/media/uapi/rc/lirc-func.rst          |  1 +
 .../media/uapi/rc/lirc-set-rec-timeout.rst         | 14 +++--
 drivers/media/cec/cec-core.c                       |  2 +-
 drivers/media/rc/ir-imon-decoder.c                 |  1 +
 drivers/media/rc/ir-jvc-decoder.c                  |  1 +
 drivers/media/rc/ir-mce_kbd-decoder.c              |  1 +
 drivers/media/rc/ir-nec-decoder.c                  |  1 +
 drivers/media/rc/ir-rc5-decoder.c                  |  1 +
 drivers/media/rc/ir-rc6-decoder.c                  |  1 +
 drivers/media/rc/ir-sanyo-decoder.c                |  1 +
 drivers/media/rc/ir-sharp-decoder.c                |  1 +
 drivers/media/rc/ir-sony-decoder.c                 |  1 +
 drivers/media/rc/ir-xmp-decoder.c                  |  1 +
 drivers/media/rc/lirc_dev.c                        |  9 ++-
 drivers/media/rc/rc-core-priv.h                    |  1 +
 drivers/media/rc/rc-ir-raw.c                       | 31 +++++++++-
 drivers/media/rc/rc-main.c                         | 68 +++++++++++-----------
 include/uapi/linux/lirc.h                          |  6 ++
 18 files changed, 101 insertions(+), 41 deletions(-)
Signature · 1 line
2.14.3