Re: [PATCH v6 04/12] iio: dac: ad5686: fix powerdown control on dual-channel devices
From: Jonathan Cameron
Date: Wed May 06 2026 - 13:22:36 EST
On Tue, 05 May 2026 13:35:05 +0100
Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com@xxxxxxxxxx> wrote:
> From: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
>
> Fix powerdown control by using a proper bit shift for the powerdown mask
> values. During initialization, powerdown bits are initialized so that
> unused bits are set to 1 and the correct bit shift is used. Dual-channel
> devices use one-hot encoding in the address and that reflects on the
> position of the powerdown bits, which are not channel-index based
> for that case. Quad-channel devices also use one-hot encoding for the
> channel address but the result of log2(address) coincides with the channel
> index value. Mask as 0x3U is used rather than 0x3, because shift can reach
> value of 30 (last channel of a 16-channel device), which would mess with
> the sign bit. The issue was introduced when first adding support for
> dual-channel devices, which overlooked powerdown control differences.
>
> Fixes: 7dc8faeab3e3 ("iio: dac: ad5686: add support for AD5338R")
> Signed-off-by: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
Applied to the fixes-togreg branch of iio.git and marked for stable.
The rest of the series will have to wait for these to be upstream.
If I ever catch up with reviews and tests are fine I'll get a pull
request out in next few days for that.
Thanks,
Jonathan