From: Jonathan Cameron <jic23@cam.ac.uk>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "Hans J. Koch" <hjk@linutronix.de>,
mgross@linux.intel.com, hmh@hmh.eng.br,
Dmitry Torokhov <dtor@mail.ru>,
LKML <linux-kernel@vger.kernel.org>,
LM Sensors <lm-sensors@lm-sensors.org>,
David Brownell <david-b@pacbell.net>,
Jonathan Cameron <Jonathan.Cameron@gmail.com>,
Ben Dooks <ben-linux@fluff.org>,
Jean Delvare <khali@linux-fr.org>,
spi-devel-general@lists.sourceforge.net,
Ben Nizette <bn@niasdigital.com>
Subject: Re: [spi-devel-general] [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc)
Date: Thu, 24 Jul 2008 13:28:38 +0100 [thread overview]
Message-ID: <48887576.1040901@cam.ac.uk> (raw)
In-Reply-To: <20080724101957.75bf03e0@lxorguk.ukuu.org.uk>
Alan Cox wrote:
>> hwmon is designed for slow I/O. It won't handle an ADC that does a few
>> megasamples/sec.
>
> At that rate I would assume you want a memory mapped ring buffer or
> similar not a sysfs style interface ?
Agreed, this isn't going to do megsamps per second either (at least not
without a fair bit faster processor / memory than available in embedded
architectures). If you want to go at those rates you'll need something
with a hardware ring buffer or an intermediate chip to provide said
buffering whilst not trying to run a general purpose os at the same time.
I am considering adding a 'burst' mode which would use up any available
i2c / spi hardware buffers to get somewhere nearer to those sort of speeds.
One of the most important elements of this subsystem is indeed a ring
buffer architecture, currently not mmapped. I'm still trying to work out
how to make that work without blocking the ring filling on interrupts.
Currently I can only seem to get around this by doing copies of ring
to mmapped locations and having some dirty bit type marking of regions
that don't contain valid data. I guess suitable userspace libraries
could hide this mess though.
For the few ksps range the current chrdev interface is adequate if not
ideal.
The ring achitecture is one of the areas that probably needs most work.
Thanks,
--
Jonathan Cameron
next prev parent reply other threads:[~2008-07-24 12:28 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-23 17:00 [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Jonathan Cameron
2008-07-23 17:08 ` [Patch 1/4] Industrialio Core Jonathan Cameron
2008-07-23 18:31 ` Anton Vorontsov
2008-07-24 10:12 ` [spi-devel-general] " Jonathan Cameron
2008-07-23 19:42 ` Ben Dooks
2008-07-24 10:33 ` Jonathan Cameron
2008-07-24 9:01 ` Eric Piel
2008-07-24 11:56 ` [spi-devel-general] " Jonathan Cameron
2008-07-23 17:11 ` [Patch 2/4] Max1363 (and similar) ADCs Jonathan Cameron
2008-07-23 17:14 ` [Patch 3/4] ST LIS3L02DQ accelerometer Jonathan Cameron
2008-07-23 17:07 ` Alan Cox
2008-07-23 17:44 ` Jonathan Cameron
2008-07-23 17:17 ` [Patch 4/4] VTI SCA3000 Series accelerometer driver Jonathan Cameron
2008-07-23 17:48 ` [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Henrique de Moraes Holschuh
2008-07-24 9:44 ` Eric Piel
2008-07-24 10:08 ` Ben Dooks
2008-07-24 12:20 ` [spi-devel-general] " Jonathan Cameron
2008-07-24 12:13 ` Jonathan Cameron
2008-07-24 12:37 ` Eric Piel
2008-07-24 12:45 ` Jonathan Cameron
2008-07-24 13:26 ` Dmitry Torokhov
2008-07-24 13:39 ` Jonathan Cameron
2008-07-23 18:36 ` David Brownell
2008-07-23 19:19 ` [spi-devel-general] " Ben Dooks
2008-07-24 7:41 ` Hans J. Koch
2008-07-24 9:19 ` Alan Cox
2008-07-24 12:28 ` Jonathan Cameron [this message]
2008-07-24 10:01 ` Ben Dooks
2008-07-24 15:38 ` Hans J. Koch
2008-07-24 16:11 ` Jonathan Cameron
2008-07-24 12:32 ` Jonathan Cameron
2008-07-23 19:33 ` Ben Dooks
2008-07-24 17:57 ` [Patch 5/4] IndustrialIO subsystem very early cut of documentation + userspace demo Jonathan Cameron
2008-07-24 22:25 ` [Patch 0/4] IndustrialIO subsystem (ADCs, accelerometers etc) Jan Engelhardt
2008-07-25 11:12 ` Jonathan Cameron
2008-07-25 11:28 ` Anton Vorontsov
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=48887576.1040901@cam.ac.uk \
--to=jic23@cam.ac.uk \
--cc=Jonathan.Cameron@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=ben-linux@fluff.org \
--cc=bn@niasdigital.com \
--cc=david-b@pacbell.net \
--cc=dtor@mail.ru \
--cc=hjk@linutronix.de \
--cc=hmh@hmh.eng.br \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=mgross@linux.intel.com \
--cc=spi-devel-general@lists.sourceforge.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