[PATCH v2] iio: adc: xilinx-xadc: Fix sequencer mode in postdisable for dual mux

Christofer Jonason christofer.jonason at guidelinegeo.com
Wed Mar 25 01:04:06 PDT 2026


Gentle ping on this.

The fix aligns postdisable with preenable, which already uses
xadc_get_seq_mode() to select simultaneous mode for dual external
mux configurations.

Happy to answer any questions.

Thanks,
Christofer
________________________________________
From: Michal Simek <michal.simek at amd.com>
Sent: Tuesday, March 10, 2026 8:42 AM
To: Jonathan Cameron <jic23 at kernel.org>; Christofer Jonason <christofer.jonason at guidelinegeo.com>; Salih Erim <salih.erim at amd.com>; O'Griofa, Conall <conall.ogriofa at amd.com>
Cc: lars at metafoo.de <lars at metafoo.de>; dlechner at baylibre.com <dlechner at baylibre.com>; nuno.sa at analog.com <nuno.sa at analog.com>; andy at kernel.org <andy at kernel.org>; Victor Jonsson <victor.jonsson at guidelinegeo.com>; linux-iio at vger.kernel.org <linux-iio at vger.kernel.org>; linux-arm-kernel at lists.infradead.org <linux-arm-kernel at lists.infradead.org>; linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>; stable at vger.kernel.org <stable at vger.kernel.org>
Subject: Re: [PATCH v2] iio: adc: xilinx-xadc: Fix sequencer mode in postdisable for dual mux
 
+Salih, Conall,

On 3/7/26 13:41, Jonathan Cameron wrote:
> On Wed,  4 Mar 2026 10:07:27 +0100
> Christofer Jonason <christofer.jonason at guidelinegeo.com> wrote:
>
>> xadc_postdisable() unconditionally sets the sequencer to continuous
>> mode. For dual external multiplexer configurations this is incorrect:
>> simultaneous sampling mode is required so that ADC-A samples through
>> the mux on VAUX[0-7] while ADC-B simultaneously samples through the
>> mux on VAUX[8-15]. In continuous mode only ADC-A is active, so
>> VAUX[8-15] channels return incorrect data.
>>
>> Since postdisable is also called from xadc_probe() to set the initial
>> idle state, the wrong sequencer mode is active from the moment the
>> driver loads.
>>
>> The preenable path already uses xadc_get_seq_mode() which returns
>> SIMULTANEOUS for dual mux. Fix postdisable to do the same.
>>
>> Fixes: bdc8cda1d010 ("iio:adc: Add Xilinx XADC driver")
>> Cc: stable at vger.kernel.org
>> Signed-off-by: Christofer Jonason <christofer.jonason at guidelinegeo.com>
>
> I'll leave this on list for a little longer as I'd really like a confirmation
> of this one from the AMD Xilinx folk.

Salih/Conall: Please look at this patch and provide your comment or tag.

Thanks,
Michal


More information about the linux-arm-kernel mailing list