From: Arnd Bergmann <arnd@arndb.de>
To: Waldemar.Rymarkiewicz@tieto.com
Cc: matti.j.aaltonen@nokia.com, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org, hthebaud@insidefr.com
Subject: Re: [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip
Date: Mon, 14 Mar 2011 16:34:10 +0100 [thread overview]
Message-ID: <201103141634.10865.arnd@arndb.de> (raw)
In-Reply-To: <99B09243E1A5DA4898CDD8B7001114481082FAE10A@EXMB04.eu.tieto.com>
On Monday 14 March 2011, Waldemar.Rymarkiewicz@tieto.com wrote:
> >Oh, I see you simply do
> >
> > ret = i2c_master_send(client, info->buf, len);
> > usleep_range(1000, 10000);
> >
> >and assume that the buffer can always be written within a
> >milisecond, so you just slow down output enough to never have
> >to worry about it, right?
> >
> >A nicer solution would be to have an interrupt driven output
> >so you know when the i2c buffers have been flushed.
>
> Well, I get the idea of interrupt driven output, but as I have
> little linux kernel experience I'm not sure how to implement this.
> Can you extend you thoughts or if you know piont me a driver which
> uses that concept?
Most serial drivers do this, see drivers/tty/serial for a number
of examples, or drivers/serial on older kernels.
> I'm not sure who should rise an interrupt when data has
> been flushed. I2c core or the chip itself?
That would depend on your hardware. The only important
part is that you make sure you can send out data at any
time. If i2c_master_send() causes accesses to your
buffer after returning, there has to be an i2c method
of making sure that it has completed.
If the usleep_range is trying to synchronize between the
NFC and the I2C chip, you must wait for a notication from
the NFC hardware that it's done.
> What's more, I guess the i2c_master_send is a synchronous
> call and when it returnes we know it flushed data. Right?
If i2c_master_send is synchronous, you might not
need the usleep_range() at all. Removing that call
would be entirely reasonable.
Arnd
next prev parent reply other threads:[~2011-03-14 15:34 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-10 14:20 [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip Waldemar Rymarkiewicz
2011-03-10 13:52 ` Arnd Bergmann
2011-03-10 14:45 ` Waldemar.Rymarkiewicz
2011-03-10 16:20 ` Arnd Bergmann
2011-03-14 14:59 ` Waldemar.Rymarkiewicz
2011-03-14 15:34 ` Arnd Bergmann [this message]
2011-03-14 15:45 ` Waldemar.Rymarkiewicz
2011-03-14 16:00 ` Arnd Bergmann
2011-03-14 16:15 ` Waldemar.Rymarkiewicz
2011-03-14 17:01 ` Arnd Bergmann
2011-03-15 8:37 ` Waldemar.Rymarkiewicz
2011-03-15 9:06 ` Arnd Bergmann
2011-03-17 12:58 ` Waldemar.Rymarkiewicz
2011-03-17 13:07 ` Arnd Bergmann
2011-03-17 13:38 ` Waldemar.Rymarkiewicz
2011-03-17 13:54 ` Arnd Bergmann
2011-03-17 13:58 ` Waldemar.Rymarkiewicz
-- strict thread matches above, loose matches on Subject: below --
2011-03-18 10:40 Waldemar Rymarkiewicz
2011-03-18 10:40 ` Waldemar Rymarkiewicz
2011-03-18 11:03 ` Alan Cox
2011-03-18 15:00 ` Waldemar.Rymarkiewicz
2011-03-18 15:05 ` Arnd Bergmann
2011-03-18 15:12 ` Alan Cox
2011-03-18 15:15 ` Waldemar.Rymarkiewicz
2011-03-18 11:49 ` Wolfram Sang
2011-03-18 15:08 ` Waldemar.Rymarkiewicz
2011-03-18 15:31 ` Mark Brown
2011-03-18 16:43 ` Waldemar.Rymarkiewicz
2011-03-18 12:19 ` Arnd Bergmann
2011-03-18 12:51 ` Mark Brown
2011-03-18 14:20 ` Arnd Bergmann
2011-03-25 14:26 ` Samuel Ortiz
2011-03-29 8:00 ` Waldemar.Rymarkiewicz
2011-03-29 11:05 ` Arnd Bergmann
2011-03-29 11:59 ` Alan Cox
2011-03-29 12:04 ` Arnd Bergmann
2011-03-29 12:23 ` Alan Cox
2011-03-29 13:22 ` Arnd Bergmann
2011-03-31 14:16 ` Samuel Ortiz
2011-03-31 14:42 ` Waldemar.Rymarkiewicz
2011-03-31 14:49 ` Arnd Bergmann
2011-03-31 15:09 ` Samuel Ortiz
2011-03-31 15:24 ` Waldemar.Rymarkiewicz
2011-03-31 15:30 ` Samuel Ortiz
2011-04-01 18:19 ` Aloisio Almeida
2011-04-01 19:43 ` Arnd Bergmann
2011-06-06 20:22 ` Pavan Savoy
2011-06-06 20:30 ` Pavan Savoy
2011-06-06 20:46 ` Aloisio Almeida
2011-06-06 20:50 ` Samuel Ortiz
2011-03-18 15:50 ` Randy Dunlap
2011-03-18 15:57 ` Waldemar.Rymarkiewicz
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=201103141634.10865.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=Waldemar.Rymarkiewicz@tieto.com \
--cc=hthebaud@insidefr.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matti.j.aaltonen@nokia.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