Re: [PATCH v3 0/6] iio: adc: ad_sigma_delta: Add sequencer support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Mar 2022 21:30:02 +0000
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote:

> On Tue, 22 Mar 2022 12:50:23 +0200
> <alexandru.tachici@xxxxxxxxxx> wrote:
> 
> > From: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>  
> 
> Hi Alexandru,
> 
> I just took another look at this and I'm happy with it.
> Will leave it on list for a few more days for others to
> take a look though before I queue it up.
> 
Applied to the togreg branch of iio.git though I won't push
that out, other than as testing, until I can rebase on rc1.

Thanks,

Jonathan
 
> Thanks,
> 
> Jonathan
> 
> > 
> > Some sigma-delta chips support sampling of multiple
> > channels in continuous mode.
> > 
> > When the operating with more than one channel enabled,
> > the channel sequencer cycles through the enabled channels
> > in sequential order, from first channel to the last one.
> > If a channel is disabled, it is skipped by the sequencer.
> > 
> > If more than one channel is used in continuous mode,
> > instruct the device to append the status to the SPI transfer
> > (1 extra byte) every time we receive a sample.
> > All sigma-delta chips possessing a sampling sequencer have
> > this ability. Inside the status register there will be
> > the number of the converted channel. In this way, even
> > if the CPU won't keep up with the sampling rate, it won't
> > send to userspace wrong channel samples.
> > 
> > 1. Removed the 1 byte .shift from channel spec in AD7124,
> > it confuses userspace apps (no need to shift right).
> > 
> > 2. Add update_scan_mode to AD7124, it is required in order
> > to enable/disable multiple channels at once
> > 
> > 3. Add update_scan_mode to AD7192, it is required in order
> > to enable/disable multiple channels at once
> > 
> > 4. Add sequencer support for sigma_delta library.
> > 
> > 5. Add sigma_delta_info values and callbacks for sequencer
> > support in AD7124.
> > 
> > 6. Add sigma_delta_info values and callbacks for sequencer
> > support in AD7192.
> > 
> > Alexandru Tachici (5):
> >   iio: adc: ad7124: Remove shift from scan_type
> >   iio: adc: ad7124: Add update_scan_mode
> >   iio: adc: ad7192: Add update_scan_mode
> >   iio: adc: ad7124: add sequencer support
> >   iio: adc: ad7192: add sequencer support
> > 
> > Lars-Peter Clausen (1):
> >   iio: adc: ad_sigma_delta: Add sequencer support
> > 
> > Changelog V2 -> V3:
> >   - ad_sd_buffer_postenable(), aligned (slot * storagebits) to 8 bytes
> >   - devm_krealloc instead of krealloc for samples_buf in ad_sd_buffer_postenable()
> >   - in ad_sigma_delta_append_status, check return value before setting .status_appended
> >   - iio: adc: ad_sigma_delta: Add sequencer support: added explanations on
> >   desynchronization checking and recovery
> >   - in ad7124_append_status() modify st->adc_control after write has taken place without errors
> >   - in ad7124_update_scan_mode() take cfg mutex only once instead of every time a
> >   set_channel happens
> >   - in ad7192_disable_all() modify st->conf after write taken place without errors
> >   - in ad7192_append_status() modify st->mode after write taken place without errors
> > 
> >  drivers/iio/adc/ad7124.c               |  86 ++++++++++++++-
> >  drivers/iio/adc/ad7192.c               |  64 ++++++++++-
> >  drivers/iio/adc/ad_sigma_delta.c       | 143 +++++++++++++++++++++++--
> >  include/linux/iio/adc/ad_sigma_delta.h |  38 +++++++
> >  4 files changed, 315 insertions(+), 16 deletions(-)
> > 
> > --
> > 2.25.1  
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux