media: rc: ir-rc6-decoder: enable toggle bit for Zotac remotes
authorMatthias Reichl <hias@horus.com>
Thu, 7 Feb 2019 09:29:12 +0000 (04:29 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 18 Feb 2019 20:40:32 +0000 (15:40 -0500)
The Zotac RC2604323/01G and RC2604329/02BG remotes use the 32-bit
rc6 protocol and toggle bit 15 (0x8000) on repeated button presses,
like MCE remotes.

Add the customer code 0x80340000 to the 32-bit rc6 toggle
handling code to get proper scancodes and toggle reports.

Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/rc/ir-rc6-decoder.c

index d96aed1..5cc302f 100644 (file)
@@ -40,6 +40,7 @@
 #define RC6_6A_MCE_TOGGLE_MASK 0x8000  /* for the body bits */
 #define RC6_6A_LCC_MASK                0xffff0000 /* RC6-6A-32 long customer code mask */
 #define RC6_6A_MCE_CC          0x800f0000 /* MCE customer code */
+#define RC6_6A_ZOTAC_CC                0x80340000 /* Zotac customer code */
 #define RC6_6A_KATHREIN_CC     0x80460000 /* Kathrein RCU-676 customer code */
 #ifndef CHAR_BIT
 #define CHAR_BIT 8     /* Normally in <limits.h> */
@@ -246,6 +247,7 @@ again:
                                switch (scancode & RC6_6A_LCC_MASK) {
                                case RC6_6A_MCE_CC:
                                case RC6_6A_KATHREIN_CC:
+                               case RC6_6A_ZOTAC_CC:
                                        protocol = RC_PROTO_RC6_MCE;
                                        toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
                                        scancode &= ~RC6_6A_MCE_TOGGLE_MASK;