RE: [PATCH v3 0/6] iio: Add output buffer support

From: Sa, Nuno
Date: Mon Mar 08 2021 - 05:08:17 EST



> -----Original Message-----
> From: Jonathan Cameron <jic23@xxxxxxxxxx>
> Sent: Saturday, March 6, 2021 6:35 PM
> To: Hennerich, Michael <Michael.Hennerich@xxxxxxxxxx>
> Cc: zzzzArdelean, zzzzAlexandru <alexandru.Ardelean@xxxxxxxxxx>;
> linux-kernel@xxxxxxxxxxxxxxx; linux-iio@xxxxxxxxxxxxxxx;
> lars@xxxxxxxxxx; Sa, Nuno <Nuno.Sa@xxxxxxxxxx>; Bogdan, Dragos
> <Dragos.Bogdan@xxxxxxxxxx>
> Subject: Re: [PATCH v3 0/6] iio: Add output buffer support
>
> On Fri, 5 Mar 2021 08:57:08 +0000
> "Hennerich, Michael" <Michael.Hennerich@xxxxxxxxxx> wrote:
>
> > Hi Jonathan and others,
> >
> > With output/dac buffer support the semantics of the scan_element
> type may change.
> >
> > Today the Format is [be|le]:[s|u]bits/storagebitsXrepeat[>>shift].
> >
> > While shift (if specified) is the shift that needs to be applied prior to
> masking out unused bits.
> >
> > So far so good and it sounds universal.
> >
> > However, we use the right shift (operator) for that, which makes
> sense for capture devices.
> > For output devices the more logical operator would be the left shift.
> >
> > I'm not proposing a new Format here. I just want to get some
> agreement that for an output device
> >
> > le:s12/16>>4
> >
> > is understood as a left shift of 4, since the unused bits are then on
> the LSB.
>
> Good question. Guess I wasn't thinking ahead when I came up with
> that :)
>
> I'm not sure I'd mind if we did decide to define a new format for
> output
> buffers. Feels like it should be easy to do.
>
> What do others think?
>

I guess the most straight forward thing would be just to add a 'shift_l' variable
to 'struct scan_type'' and make sure either 'shift_l' or 'shift' is defined and then
properly export either ">>" or "<<" to userspace?

- Nuno Sá