From: Sean Young <sean@mess.org>
To: "David Härdeman" <david@hardeman.nu>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
Jarod Wilson <jarod@wilsonet.com>,
linux-media@vger.kernel.org
Subject: Re: [PATCH] [media] rc: do not sleep when the driver blocks on IR completion
Date: Sat, 25 Aug 2012 00:26:25 +0100 [thread overview]
Message-ID: <20120824232625.GA24562@pequod.mess.org> (raw)
In-Reply-To: <20120824220518.GA19354@hardeman.nu>
On Sat, Aug 25, 2012 at 12:05:18AM +0200, David Härdeman wrote:
> On Thu, Aug 23, 2012 at 10:18:35PM +0100, Sean Young wrote:
> >Some drivers wait for the IR device to complete sending before
> >returning, so sleeping should not be done.
>
> I'm not quite sure what the purpose is. Even if a driver waits for TX to
> finish, the lirc imposed sleep isn't harmful in any way.
Due to rounding errors, clock skew and different start times, the sleep
might be waiting for a different amount of time than the hardware took
to send it. The sleep is a bit of a kludge, let alone if the driver
can wait for the hardware to tell you when it's done.
Also, your change calculates the amount of us to sleep after transmission,
so if the transmission buffer was modified by the driver, the calculated
sleep might not make sense. Both winbond-cir and iguanair do this.
> As far as I can tell, the iguanair driver waits for the usb packet to be
> submitted, not for IR TX to finish.
The iguanair driver waits for the ack from the device (which is an urb
you receive from the device), which is sent once the IR has been
transmitted. The firmware source code is available.
> As for winbond-cir, it would be simple enough to change it so that it
> doesn't wait for TX to finish (which seems to be a better solution).
>
> Having the TX methods as asynchronous as possible is probably a better
> way to go...as I expect a future TX API to be asynchronous.
I agree that a future TX API should be asynchronous and I like your
ideas around that; however that won't be ready for v3.7.
Sean
next prev parent reply other threads:[~2012-08-24 23:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-23 21:18 [PATCH] [media] rc: do not sleep when the driver blocks on IR completion Sean Young
2012-08-24 22:05 ` David Härdeman
2012-08-24 23:26 ` Sean Young [this message]
2012-08-25 9:25 ` David Härdeman
2012-08-25 10:13 ` Sean Young
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=20120824232625.GA24562@pequod.mess.org \
--to=sean@mess.org \
--cc=david@hardeman.nu \
--cc=jarod@wilsonet.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
/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).