From: Rune Petersen <rune@megahurts.dk>
To: Sean Young <sean@mess.org>
Cc: linux-media@vger.kernel.org
Subject: Re: Some questions timeout in rc_dev
Date: Wed, 19 Feb 2014 00:44:35 +0100 [thread overview]
Message-ID: <5303F063.2070400@megahurts.dk> (raw)
In-Reply-To: <20140218140236.GA10790@pequod.mess.org>
On 18/02/14 15:02, Sean Young wrote:
> On Sun, Feb 16, 2014 at 10:54:01PM +0100, Rune Petersen wrote:
>> The intent of the timeout member in the rc_dev struct is a little unclear to me.
>> In rc-core.h it is described as:
>> @timeout: optional time after which device stops sending data.
>>
>> But if I look at the usage, it is used to detect idle in ir_raw.c
>> which again is used by the RC-6 decoder to detect end of RC-6 6A
>> transmissions.
>>
>> This leaves me with a few questions:
>> - Without the timeout (which is optional) the RC-6 decoder will not work
>> properly with RC-6 6A transmissions wouldn't that make it required?
>
> That sounds like a bug to me. The decoders shouldn't rely on the length
> of trailing space, probably it would be best to not rely on receiving the
> trailing space if possible.
I can find no specs on RC-6 6A, but the length is supposed to be variable 8-128
bits and there doesn't appear to be any bits for length in the transmission.
So the only way to detect the end is a space of 2667+us.
>
>> - Why are the timeout set in the individual drivers so varied, shouldn't it
>> depend on the encoding rather then the hardware used?
>> The timeout set in the drivers ranges from 2750us(redrat3)
>> to 1000000us(fintek_cir) and all the way to weird(streamzap)
>
> The various devices have different timeouts; they will stop sending IR data
> when there has been no activity for that amount of time.
Thought experiment:
Suppose the ir_raw_store_with_filter() code has a timeout _longer_ than this
device timeout, it will never enter the idle state.
Suppose the ir_raw_store_with_filter() code has a timeout _shorter_ than this
device timeout, it will enter the idle state, just faster.
Wouldn't this mean that the device timeout cannot be exceeded which I thought
was the purpose of max_timeout in dev_rc?
>
>> - Why is the timeout value controlled by the IR driver, when it us only
>> used by the rc-core.
>> Wouldn't it make sense to have the timeout initialized to a sane value
>> in a single place?
>
> I guess the rc_dev->timeout is used for different things:
>
> 1) So that the drivers can advertise what timeout the hardware uses
> 2) The ttusbir and iguanair are devices which never timeout, so they
> rely on ir_raw_store_with_filter() to do timeout handling for them.
>
> Some drivers have both hardware timeouts and use ir_raw_store_with_filter()
> so timeout handling is done both in hardware and software.
>
>> I would like to get rc to a state where it just works for me without
>> modifications, I "just" need to know which changes I can get away
>> without breaking it for everybody else =)
>>
>> As things are right now the RC input feel very sluggish and
>> unresponsive using a RC-6 6A remote and a ite-cir receiver.
>
>
> Sean
>
Rune
next prev parent reply other threads:[~2014-02-18 23:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-16 21:54 Some questions timeout in rc_dev Rune Petersen
2014-02-18 14:02 ` Sean Young
2014-02-18 23:44 ` Rune Petersen [this message]
2014-02-19 13:58 ` Mauro Carvalho Chehab
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=5303F063.2070400@megahurts.dk \
--to=rune@megahurts.dk \
--cc=linux-media@vger.kernel.org \
--cc=sean@mess.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.