Re: [PATCH 13/15] iio: adc: ad4030: Enable dual data rate
From: Andy Shevchenko
Date: Sat Aug 30 2025 - 03:47:03 EST
On Sat, Aug 30, 2025 at 3:45 AM Marcelo Schmitt
<marcelo.schmitt@xxxxxxxxxx> wrote:
>
> Set AD4030 series device to do two data bit transitions per clock cycle per
> active lane when specified by firmware. The dual data rate (DDR) feature is
> available only for host clock mode and echo clock mode.
...
> struct ad4030_state {
> enum ad4030_out_mode mode;
> enum ad4030_lane_mode lane_mode;
> enum ad4030_clock_mode clock_mode;
> + bool ddr;
I believe you run `pahole` each time you modify the data type like this.
> /* offload sampling spi message */
> struct spi_transfer offload_xfer;
> struct spi_message offload_msg;
...
> else
> offload_bpw = data_width / (1 << st->lane_mode);
With the previous comment WRT right shift...
> + if (st->ddr)
> + offload_bpw /= 2;
...this also can use right shift, but I understand that 2 is more
explicit to show the point of DDR (as "double").
...
> + /* DDR is only valid for echo clock and host clock modes */
> + if (ret == AD4030_ECHO_CLOCK_MODE || ret == AD4030_CLOCK_HOST_MODE) {
> + st->ddr = device_property_read_bool(dev, "adi,dual-data-rate");
> + reg_modes |= FIELD_PREP(AD4030_REG_MODES_MASK_DDR_MODE, st->ddr);
FIELD_MODIFY()?
> + }
--
With Best Regards,
Andy Shevchenko