From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from gofer.mess.org ([88.97.38.141]:55571 "EHLO gofer.mess.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752289AbeDHVTp (ORCPT ); Sun, 8 Apr 2018 17:19:45 -0400 From: Sean Young To: linux-media@vger.kernel.org, Matthias Reichl Cc: Carlo Caione , Kevin Hilman , Heiner Kallweit , Neil Armstrong , Alex Deryskyba , Jonas Karlman , linux-amlogic@lists.infradead.org Subject: [PATCH v2 0/7] Improve latency of IR decoding Date: Sun, 8 Apr 2018 22:19:35 +0100 Message-Id: Sender: linux-media-owner@vger.kernel.org List-ID: 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, buttons can feel slow to respond. The other issue is 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 makes buttons less "sticky"; the are released much quicker. With these patches in place, using IR with the builtin decoders is much improved and feels very snappy. Changes since v1: - lost more testing - fixed various issues with mce decoder - fixed mceusb so it can use better timeout too Sean Young (7): 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 media: rc: mce_kbd decoder: low timeout values cause double keydowns media: rc: mce_kbd protocol encodes two scancodes media: rc: mce_kbd decoder: fix stuck keys media: rc: mceusb: allow the timeout to be configurable 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 | 36 +++++++----- 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/mceusb.c | 22 +++++++ 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 ++ 19 files changed, 144 insertions(+), 55 deletions(-) -- 2.14.3