> -----Original Message-----
> From: Peter Meerwald-Stadler [mailto:pme...@pmeerw.net]
> Sent: 28 March, 2016 13:09
> To: Jonathan Cameron
> Cc: Tirdea, Irina; linux-...@vger.kernel.org; linux-kernel@vger.kernel.org; 
> Hartmut Knaack; Lars-Peter Clausen; Purdila, Octavian;
> Markus Pargmann; Pandruvada, Srinivas
> Subject: Re: [PATCH 4/6] iio: accel: bmg160: optimize transfers in trigger 
> handler
> 
> 

Thanks for the review, Peter!

> > > Some i2c busses (e.g.: Synopsys DesignWare I2C adapter) need to
> > > enable/disable the bus at each i2c transfer and must wait for
> > > the enable/disable to happen before sending the data.
> > >
> > > When reading data in the trigger handler, the bmc150 accel driver does
> 
> should refer to bmg160
> 
> > > one bus transfer for each axis. This has an impact on the frequency
> > > of the accelerometer at high sample rates due to additional delays
> > > introduced by the bus at each transfer.
> > >
> > > Reading all axis values in one bus transfer reduces the delays
> > > introduced by the bus.
> > >
> > > Signed-off-by: Irina Tirdea <irina.tir...@intel.com>
> > I forgot to highlight on the earlier driver that there is also 'technically'
> > a bit of an ABI change here because we are now exporting as LE rather than 
> > CPU
> > order.  However, I 'hope' anyone actually accessing the buffered data is 
> > either
> > doing it through a nice library or hasn't hacked the endian unwinding out of
> > the generic_buffer example!
> 
> the patch takes away the possibility to do buffered reads on individual
> channels (not sure if this is useful per se)

We can still read individual channels, but the demux is now handled by the iio 
core
(through available_scan_masks, added in the previous patch).

As Jonathan mentioned in a previous patch, this will impact performance for 
reading
only a subset of the available channels  (since we will read all 3 axes 
regardless of
how many axes the user actually requested  and will receive).
> 
> this optimizes for the common case, ok;
> 
> wondering if adding
> .endianness = IIO_LE
> is actually an unrelated fix
> 

Thanks for catching this! 
I already covered this point in the reply to Jonathan.

Thanks,
Irina 

Reply via email to