From: timo.t.kokkonen@iki•fi (Timo Kokkonen)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 1/7] ir-rx51: Handle signals properly
Date: Fri, 14 Dec 2012 21:31:20 +0200 [thread overview]
Message-ID: <50CB7E88.9050207@iki.fi> (raw)
In-Reply-To: <20121214172616.GC9620@arwen.pp.htv.fi>
On 12/14/12 19:26, Felipe Balbi wrote:
> Hi,
>
> On Fri, Dec 14, 2012 at 09:28:09AM -0800, Tony Lindgren wrote:
>> * Tony Lindgren <tony@atomide•com> [121120 12:00]:
>>> Hi,
>>>
>>> * Timo Kokkonen <timo.t.kokkonen@iki•fi> [121118 07:15]:
>>>> --- a/drivers/media/rc/ir-rx51.c
>>>> +++ b/drivers/media/rc/ir-rx51.c
>>>> @@ -74,6 +74,19 @@ static void lirc_rx51_off(struct lirc_rx51 *lirc_rx51)
>>>> OMAP_TIMER_TRIGGER_NONE);
>>>> }
>>>>
>>>> +static void lirc_rx51_stop_tx(struct lirc_rx51 *lirc_rx51)
>>>> +{
>>>> + if (lirc_rx51->wbuf_index < 0)
>>>> + return;
>>>> +
>>>> + lirc_rx51_off(lirc_rx51);
>>>> + lirc_rx51->wbuf_index = -1;
>>>> + omap_dm_timer_stop(lirc_rx51->pwm_timer);
>>>> + omap_dm_timer_stop(lirc_rx51->pulse_timer);
>>>> + omap_dm_timer_set_int_enable(lirc_rx51->pulse_timer, 0);
>>>> + wake_up(&lirc_rx51->wqueue);
>>>> +}
>>>> +
>>>> static int init_timing_params(struct lirc_rx51 *lirc_rx51)
>>>> {
>>>> u32 load, match;
>>>
>>> Good fixes in general.. But you won't be able to access the
>>> omap_dm_timer functions after we enable ARM multiplatform support
>>> for omap2+. That's for v3.9 probably right after v3.8-rc1.
>>>
>>> We need to find some Linux generic API to use hardware timers
>>> like this, so I've added Thomas Gleixner and linux-arm-kernel
>>> mailing list to cc.
>>>
>>> If no such API is available, then maybe we can export some of
>>> the omap_dm_timer functions if Thomas is OK with that.
>>
>> Just to update the status on this.. It seems that we'll be moving
>> parts of plat/dmtimer into a minimal include/linux/timer-omap.h
>> unless people have better ideas on what to do with custom
>> hardware timers for PWM etc.
>
> if it's really for PWM, shouldn't we be using drivers/pwm/ ??
>
Now that Neil Brown posted the PWM driver for omap, I've been thinking
about whether converting the ir-rx51 into the PWM API would work. Maybe
controlling the PWM itself would be sufficient, but the ir-rx51 uses
also another dmtimer for creating accurate (enough) timing source for
the IR pulse edges.
I haven't tried whether the default 32kHz clock source is enough for
that. Now that I think about it, I don't see why it wouldn't be good
enough. I think it would even be possible to just use the PWM api alone
(plus hr-timers) in order to generate good enough IR pulses.
-Timo
> Meaning that $SUBJECT would just request a PWM device and use it. That
> doesn't solve the whole problem, however, as pwm-omap.c would still need
> access to timer-omap.h.
>
next prev parent reply other threads:[~2012-12-14 19:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1353251589-26143-1-git-send-email-timo.t.kokkonen@iki.fi>
[not found] ` <1353251589-26143-2-git-send-email-timo.t.kokkonen@iki.fi>
2012-11-20 19:57 ` [PATCH 1/7] ir-rx51: Handle signals properly Tony Lindgren
2012-12-14 17:28 ` Tony Lindgren
2012-12-14 17:26 ` Felipe Balbi
2012-12-14 17:46 ` Tony Lindgren
2012-12-14 17:49 ` Felipe Balbi
2012-12-14 18:06 ` Tony Lindgren
2012-12-14 18:08 ` Felipe Balbi
2012-12-14 19:31 ` Timo Kokkonen [this message]
2012-12-14 19:41 ` Tony Lindgren
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=50CB7E88.9050207@iki.fi \
--to=timo.t.kokkonen@iki$(echo .)fi \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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