linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Antti Palosaari <crope@iki.fi>
Cc: "Matthew Gyurgyik" <matthew@pyther.net>,
	"Frank Schäfer" <fschaefer.oss@googlemail.com>,
	"Devin Heitmueller" <dheitmueller@kernellabs.com>,
	"Linux Media Mailing List" <linux-media@vger.kernel.org>,
	"David Härdeman" <david@hardeman.nu>,
	"Jarod Wilson" <jwilson@redhat.com>
Subject: Re: em28xx: msi Digivox ATSC board id [0db0:8810]
Date: Mon, 17 Dec 2012 13:53:46 -0200	[thread overview]
Message-ID: <50CF400A.9020208@redhat.com> (raw)
In-Reply-To: <50CF104A.2010404@iki.fi>

Em 17-12-2012 10:30, Antti Palosaari escreveu:
> On 12/17/2012 01:17 PM, Matthew Gyurgyik wrote:
>> On 12/17/2012 06:08 AM, Antti Palosaari wrote:
>>> On 12/17/2012 11:33 AM, Antti Palosaari wrote:
>>>> On 12/17/2012 03:37 AM, Matthew Gyurgyik wrote:
>>>>> On 12/16/2012 08:26 PM, Antti Palosaari wrote:
>>>>>> On 12/17/2012 03:09 AM, Matthew Gyurgyik wrote:
>>>>>>> On 12/15/2012 06:21 PM, Frank Schäfer wrote:
>>>>>>>>> Matthew, could you please validate your test results and try Mauros
>>>>>>>>> patches ? If it doesn't work, please create another USB-log.
>>>>>>>>>
>>>>>>>
>>>>>>> Sorry it took me so long to test the patch, but the results look
>>>>>>> promising, I actually got various keycodes!
>>>>>>>
>>>>>>> dmesg: http://pyther.net/a/digivox_atsc/dec16/dmesg_remote.txt
>>>>>>>
>>>>>>> evtest was also generating output
>>>>>>>
>>>>>>> Event: time 1355705906.950551, type 4 (EV_MSC), code 4 (MSC_SCAN),
>>>>>>> value
>>>>>>> 61d618e7
>>>>>>> Event: time 1355705906.950551, -------------- SYN_REPORT ------------
>>>>>>>
>>>>>>> This is the current patch I'm using:
>>>>>>> http://pyther.net/a/digivox_atsc/dec16/dmesg_remote.txt
>>>>>>>
>>>>>>> What needs to be done to generate a keymap file?
>>>>>>>
>>>>>>> Is there anything I can collect or try to do, to get channel scanning
>>>>>>> working?
>>>>>>>
>>>>>>> Just let me know what you need me to do. I really appreciate all the
>>>>>>> help!
>>>>>>
>>>>>> You don't need to do nothing as that remote is already there. Just
>>>>>> ensure buttons are same and we are happy.
>>>>>> http://lxr.free-electrons.com/source/drivers/media/IR/keymaps/rc-msi-digivox-iii.c?v=2.6.37
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> RC_MAP_MSI_DIGIVOX_III should be added to your device profile in order
>>>>>> to load correct keytable by default. You could test it easily, just
>>>>>> add
>>>>>> following definition
>>>>>>
>>>>>> .ir_codes = RC_MAP_MSI_DIGIVOX_III,
>>>>>>
>>>>>> to em28xx-cards.c board config and it is all.
>>>>>>
>>>>>> regards
>>>>>> Antti
>>>>>>
>>>>> Maybe I'm missing something but these are different key codes and
>>>>> lengths.
>>>>>
>>>>> tux:~ $ echo 0x61d643bc | wc -c  # my dmesg dump
>>>>> 11
>>>>> tux:~ $ echo 0x61d601 | wc -c  # DIGIVOX mini III
>>>>> 9
>>>>
>>>> 0x61d643bc == 0x61d643
>>>> 0x61d601fe == 0x61d601
>>>>
>>>> Those are same codes, other (debug) is just 32bit full format. Last byte
>>>> in that case is dropped out as it is used for parity check - formula: DD
>>>> == ~DD
>>>>
>>>>> As I understand it, this was the whole reason for the patches that
>>>>> Mauros wrote.
>>>>
>>>> Nope, the reason was it didn't support 32bit at all.
>>>
>>> I looked the patch and it seems like it should store and print 24bit
>>> scancode for your remote. Maybe you didn't set default remote end it
>>> fall back to unknown remote protocol which stores all bytes. Or some
>>> other bug. Test it with default keytable (RC_MAP_MSI_DIGIVOX_III) and if
>>> it does not output numbers there must be a bug. I am too lazy to test it
>>> currently.
>>>
>>> regards
>>> Antti
>>>
>>>
>> I am using the RC_MAP_MSI_DIGIVOX_III mapping
>>
>> + .ir_codes     = RC_MAP_MSI_DIGIVOX_III,
>> http://pyther.net/a/digivox_atsc/dec16/msi_digivox_atsc.patch
>
> I tested Mauros patch with nanoStick T2 290e, using 24bit NEC remote - worked fine. Your patch is hard to read as it contains that remote patch too. But what I looked one difference which look suspicious - it is that:
> .xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
>
> could you remove and test?
>
> If it is really that one, then there is a bug in Mauros patches and it breaks all devices having NEC remote mapped currently.

The em28xx-input should not be touching on xclk frequency changes. Some devices
require specific settings there in order to work, and mangling it is a very
bad idea.

Btw, I don't think that are there any bugs with regards to that, as we use
em28xx_write_reg_bits():

/*
  * em28xx_write_reg_bits()
  * sets only some bits (specified by bitmask) of a register, by first reading
  * the actual value
  */
int em28xx_write_reg_bits(struct em28xx *dev, u16 reg, u8 val,
				 u8 bitmask)
{
...
	newval = (((u8) oldval) & ~bitmask) | (val & bitmask);

	return em28xx_write_regs(dev, reg, &newval, 1);
}

 From patch 2/2:

+	if (*rc_type & RC_BIT_RC5) {
+		dev->board.xclk |= EM28XX_XCLK_IR_RC5_MODE;
+		ir->full_code = 1;
+		*rc_type = RC_BIT_RC5;
+	} else if (*rc_type & RC_BIT_NEC) {
+		dev->board.xclk &= ~EM28XX_XCLK_IR_RC5_MODE;
+		ir->full_code = 1;
+		*rc_type = RC_BIT_NEC;
+	} else if (*rc_type & RC_BIT_UNKNOWN) {
+		*rc_type = RC_BIT_UNKNOWN;
+	} else {
+		*rc_type = ir->rc_type;
+		return -EINVAL;
+	}
+	ir->get_key = default_polling_getkey;
+	em28xx_write_reg_bits(dev, EM28XX_R0F_XCLK, dev->board.xclk,
+			      EM28XX_XCLK_IR_RC5_MODE);

(this is for em2860 code, but em2874_ir_change_protocol() has a similar
logic - the only exception is the support for RC6_0 as well)

This line:
  	em28xx_write_reg_bits(dev, EM28XX_R0F_XCLK, dev->board.xclk,
  			      EM28XX_XCLK_IR_RC5_MODE);

Warrants that only the EM28XX_XCLK_IR_RC5_MODE bit is affected.

So, except if I'm missing something, the implementation looks correct
on my eyes.

Regards,
Mauro

  reply	other threads:[~2012-12-17 15:54 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-28  2:31 em28xx: msi Digivox ATSC board id [0db0:8810] Matthew Gyurgyik
2012-11-28 20:47 ` Frank Schäfer
2012-11-28 22:29   ` Matthew Gyurgyik
2012-11-28 22:55     ` Antti Palosaari
2012-11-29  2:05       ` Matthew Gyurgyik
2012-11-29  2:15         ` Antti Palosaari
2012-11-29 19:28           ` Frank Schäfer
2012-11-29 19:46             ` Antti Palosaari
2012-11-30  1:45             ` Matthew Gyurgyik
2012-12-02 11:44               ` Frank Schäfer
2012-12-02 14:23                 ` Antti Palosaari
2012-12-02 17:18                   ` Frank Schäfer
2012-12-03 18:16                     ` Frank Schäfer
2012-12-04  2:15                       ` Matthew Gyurgyik
2012-12-04  2:29                         ` Devin Heitmueller
2012-12-04  2:42                           ` Matthew Gyurgyik
2012-12-04  2:58                             ` Devin Heitmueller
2012-12-04 21:06                               ` Frank Schäfer
2012-12-05  3:41                                 ` Matthew Gyurgyik
2012-12-05 12:35                                   ` Antti Palosaari
2012-12-05 21:35                                     ` Matthew Gyurgyik
2012-12-05 22:01                                       ` Antti Palosaari
2012-12-05 22:33                                         ` Matthew Gyurgyik
2012-12-06  0:55                                           ` Antti Palosaari
2012-12-06  2:16                                             ` Matthew Gyurgyik
2012-12-06 21:49                                               ` Frank Schäfer
2012-12-06 21:57                                                 ` Devin Heitmueller
2012-12-06 22:01                                                   ` Frank Schäfer
2012-12-06 22:03                                                     ` Devin Heitmueller
2012-12-06 22:12                                                       ` Frank Schäfer
2012-12-06 22:41                                                 ` Matthew Gyurgyik
2012-12-06 22:58                                                 ` Matthew Gyurgyik
2012-12-07  1:40                                                   ` Matthew Gyurgyik
2012-12-07  3:21                                                     ` Devin Heitmueller
2012-12-07 11:49                                                       ` Matthew Gyurgyik
2012-12-08 13:52                                                   ` Frank Schäfer
2012-12-08 14:10                                                     ` Matthew Gyurgyik
2012-12-08 15:20                                                       ` Frank Schäfer
     [not found]                                                         ` <50C3701D.9000700@pyther .net>
     [not found]                                                           ` <50C37DA8.4080608@googlemai l.com>
     [not found]                                                             ` <50C3B3EB.40606@pyther .net>
     [not found]                                                               ` <50C3B567.3070300@i ki.fi>
2012-12-08 16:51                                                         ` Matthew Gyurgyik
2012-12-08 17:49                                                           ` Frank Schäfer
2012-12-08 21:40                                                             ` Matthew Gyurgyik
2012-12-08 21:47                                                               ` Antti Palosaari
2012-12-08 22:04                                                                 ` Matthew Gyurgyik
2012-12-09 12:48                                                                   ` Frank Schäfer
2012-12-09 14:50                                                                     ` Matthew Gyurgyik
2012-12-09 15:46                                                                       ` Devin Heitmueller
2012-12-09 16:19                                                                         ` Frank Schäfer
2012-12-09 16:23                                                                           ` Frank Schäfer
2012-12-09 17:06                                                                             ` Frank Schäfer
2012-12-09 17:53                                                                               ` Matthew Gyurgyik
2012-12-10 15:39                                                                                 ` Frank Schäfer
2012-12-10 15:46                                                                                   ` Devin Heitmueller
2012-12-10 16:01                                                                                     ` Frank Schäfer
2012-12-10 16:13                                                                                       ` Devin Heitmueller
2012-12-10 17:57                                                                                         ` Antti Palosaari
2012-12-10 19:24                                                                                           ` Frank Schäfer
2012-12-10 20:48                                                                                             ` Antti Palosaari
2012-12-11 20:51                                                                                               ` Frank Schäfer
2012-12-11 20:59                                                                                                 ` Antti Palosaari
2012-12-12 21:25                                                                                                   ` Frank Schäfer
2012-12-12 21:34                                                                                                     ` Frank Schäfer
2012-12-13 15:09                                                                                                       ` Antti Palosaari
2012-12-13 16:02                                                                                                         ` Frank Schäfer
2012-12-13 20:23                                                                                                   ` Mauro Carvalho Chehab
2012-12-14 15:33                                                                                                     ` Frank Schäfer
2012-12-14 16:32                                                                                                       ` Antti Palosaari
2012-12-14 16:40                                                                                                         ` Antti Palosaari
2012-12-14 19:39                                                                                                       ` Mauro Carvalho Chehab
2012-12-15  0:26                                                                                                         ` Mauro Carvalho Chehab
2012-12-15  0:34                                                                                                           ` Mauro Carvalho Chehab
2012-12-15  0:56                                                                                                           ` Antti Palosaari
2012-12-15  1:03                                                                                                             ` Mauro Carvalho Chehab
2012-12-15  1:12                                                                                                               ` Antti Palosaari
2012-12-15  1:39                                                                                                                 ` Mauro Carvalho Chehab
2012-12-15  1:54                                                                                                             ` Mauro Carvalho Chehab
2012-12-15 13:11                                                                                                               ` Frank Schäfer
2012-12-15 13:34                                                                                                                 ` Mauro Carvalho Chehab
2012-12-15 13:38                                                                                                                 ` Antti Palosaari
2012-12-15 16:21                                                                                                                   ` Frank Schäfer
2012-12-15 16:51                                                                                                                     ` Antti Palosaari
2012-12-16 18:15                                                                                                                       ` Frank Schäfer
2012-12-17  1:09                                                                                                                       ` Matthew Gyurgyik
2012-12-17  1:26                                                                                                                         ` Antti Palosaari
2012-12-17  1:37                                                                                                                           ` Matthew Gyurgyik
2012-12-17  9:33                                                                                                                             ` Antti Palosaari
2012-12-17 11:08                                                                                                                               ` Antti Palosaari
2012-12-17 11:17                                                                                                                                 ` Matthew Gyurgyik
2012-12-17 12:30                                                                                                                                   ` Antti Palosaari
2012-12-17 15:53                                                                                                                                     ` Mauro Carvalho Chehab [this message]
2012-12-17 16:14                                                                                                                                   ` Mauro Carvalho Chehab
2012-12-18  2:27                                                                                                                                     ` Matthew Gyurgyik
2012-12-18  3:08                                                                                                                                     ` Matthew Gyurgyik
2013-01-02 20:59                                                                                                                                       ` Antti Palosaari
2013-01-03  2:53                                                                                                                                         ` Matthew Gyurgyik
2013-01-20 14:40                                                                                                                                           ` Matthew Gyurgyik
2013-01-20 17:46                                                                                                                                             ` Antti Palosaari
2013-02-16 23:38                                                                                                                                               ` Matthew Gyurgyik
2013-02-24 22:23                                                                                                                                                 ` Antti Palosaari
2013-02-25  1:58                                                                                                                                                   ` Matthew Gyurgyik
2013-01-03  0:18                                                                                                   ` David Härdeman
2012-12-13 20:07                                                                                                 ` Mauro Carvalho Chehab
2012-12-13 20:36                                                                                                   ` Mauro Carvalho Chehab
2012-12-13 19:57                                                                                             ` Mauro Carvalho Chehab
2012-12-13 20:04                                                                                         ` Mauro Carvalho Chehab
2012-12-10 16:01                                                                                   ` Matthew Gyurgyik
2012-12-06  2:32                                 ` Matthew Gyurgyik
2012-12-06 21:52                                   ` Frank Schäfer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50CF400A.9020208@redhat.com \
    --to=mchehab@redhat.com \
    --cc=crope@iki.fi \
    --cc=david@hardeman.nu \
    --cc=dheitmueller@kernellabs.com \
    --cc=fschaefer.oss@googlemail.com \
    --cc=jwilson@redhat.com \
    --cc=linux-media@vger.kernel.org \
    --cc=matthew@pyther.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).