On Tue, Sep 18, 2018 at 11:31:57AM +0300, Mika Westerberg wrote: > > As you can see in the above example, when I export the pins and change > > the directions from "in" to "out" PADCFG get updated correctly for pin > > 18, but when writing the value, it is the PADCFG for pin 42 that gets > > updated which is incorrect. > > It looks like we are missing translation (call intel_gpio_to_pin()) in > intel_gpio_set(), intel_gpio_get() and intel_gpio_get_direction(). IIRC > gpiolib handles the translation but here it seems not. Strange. > > > So this looks like a driver issue to me. Please let me know if I need > > to file a bug on bugzilla for this. > > I agree, definitely driver issue. Please file bugzilla about this (add > me and Andy there as well) and we'll investigate. If you have not yet filed bugzilla about this then I don't think there is need anymore as I think I have a fix already. It turns out with the custom GPIO base (Ice Lake, Cannon Lake) the translation is missing completely in ->get(), ->set() and ->get_direction() operations. I'll send a proper patch shortly.