]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: sharp: fix sharp encoding
authorSean Young <sean@mess.org>
Fri, 6 Oct 2023 11:54:25 +0000 (12:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 16:45:45 +0000 (16:45 +0000)
commit 4f7efc71891462ab7606da7039f480d7c1584a13 upstream.

The Sharp protocol[1] encoding has incorrect timings for bit space.

[1] https://www.sbprojects.net/knowledge/ir/sharp.php

Fixes: d35afc5fe097 ("[media] rc: ir-sharp-decoder: Add encode capability")
Cc: stable@vger.kernel.org
Reported-by: Joe Ferner <joe.m.ferner@gmail.com>
Closes: https://sourceforge.net/p/lirc/mailman/message/38604507/
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/rc/ir-sharp-decoder.c

index 129b558acc9214abda6ce249eb3d8e2095591196..61d313be5bbfd75f43907a56f44a7ffd674209bf 100644 (file)
@@ -23,7 +23,9 @@
 #define SHARP_UNIT             40000  /* ns */
 #define SHARP_BIT_PULSE                (8    * SHARP_UNIT) /* 320us */
 #define SHARP_BIT_0_PERIOD     (25   * SHARP_UNIT) /* 1ms (680us space) */
-#define SHARP_BIT_1_PERIOD     (50   * SHARP_UNIT) /* 2ms (1680ms space) */
+#define SHARP_BIT_1_PERIOD     (50   * SHARP_UNIT) /* 2ms (1680us space) */
+#define SHARP_BIT_0_SPACE      (17   * SHARP_UNIT) /* 680us space */
+#define SHARP_BIT_1_SPACE      (42   * SHARP_UNIT) /* 1680us space */
 #define SHARP_ECHO_SPACE       (1000 * SHARP_UNIT) /* 40 ms */
 #define SHARP_TRAILER_SPACE    (125  * SHARP_UNIT) /* 5 ms (even longer) */
 
@@ -177,8 +179,8 @@ static const struct ir_raw_timings_pd ir_sharp_timings = {
        .header_pulse  = 0,
        .header_space  = 0,
        .bit_pulse     = SHARP_BIT_PULSE,
-       .bit_space[0]  = SHARP_BIT_0_PERIOD,
-       .bit_space[1]  = SHARP_BIT_1_PERIOD,
+       .bit_space[0]  = SHARP_BIT_0_SPACE,
+       .bit_space[1]  = SHARP_BIT_1_SPACE,
        .trailer_pulse = SHARP_BIT_PULSE,
        .trailer_space = SHARP_ECHO_SPACE,
        .msb_first     = 1,