[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6f4bdb5e-56d7-432e-bc5f-cea97c37ac77@nutanix.com>
Date: Mon, 13 Oct 2025 11:32:51 +0100
From: Mark Cave-Ayland <mark.caveayland@...anix.com>
To: William Breathitt Gray <wbg@...nel.org>
Cc: linus.walleij@...aro.org, brgl@...ev.pl, andriy.shevchenko@...ux.intel.com,
mwalle@...nel.org, broonie@...nel.org, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: gpio: gpio-pci-idio-16 regression after LTS upgrade
On 12/10/2025 15:22, William Breathitt Gray wrote:
> On Mon, Oct 06, 2025 at 09:37:14AM +0100, Mark Cave-Ayland wrote:
>> After some more debugging I was able to determine that the failure was
>> due to the regmap cache failing initialisation in
>> drivers/base/regmap/regcache-flat.c::regcache_flat_init() because
>> max_register wasn't set on the regmap. I was able to fix that fairly
>> easily with this:
>>
>>
>> diff --git a/drivers/gpio/gpio-pci-idio-16.c
>> b/drivers/gpio/gpio-pci-idio-16.c
>> index 44c0a21b1d1d..55be571b5cca 100644
>> --- a/drivers/gpio/gpio-pci-idio-16.c
>> +++ b/drivers/gpio/gpio-pci-idio-16.c
>> @@ -41,6 +41,7 @@ static const struct regmap_config
>> idio_16_regmap_config = {
>> .reg_stride = 1,
>> .val_bits = 8,
>> .io_port = true,
>> + .max_register = 0x7,
>> .wr_table = &idio_16_wr_table,
>> .rd_table = &idio_16_rd_table,
>> .volatile_table = &idio_16_rd_table,
>
> This particular failure is separate from the get_direction issue
> discovered after. It would be good to have this fix as its own patch so
> we can keep each solution dedicated to their respective failures and
> streamline any necessary backports to the stable trees.
Agreed.
> I have some travel scheduled in the next couple days, but I can
> probably get a patch series addressing both issues ready by the end of
> the week. I'll also CC the stable mailing list so we can get the fixes
> picked up for the LTS kernel they are affecting.
That would be fantastic! I was hoping to try and look at this over the
past week, but it got delayed due to other work. Regardless of this I've
still got access to the debugging environment to test any patches if you
add me on CC.
If it helps the implementation we're using is part of the libvfio-user
test suite (see https://github.com/nutanix/libvfio-user and
samples/gpio-pci-idio-16.c). Internally we run a script that launches a
QEMU VM, reads and writes a few sample gpios and then checks the logging
to ensure that the basic vfio-user protocol is working as expected.
ATB,
Mark.
Powered by blists - more mailing lists