[Adding Linus for GPIO discussion, thread: https://lore.kernel.org/linux-pci/20210531090540.2663171-1-luca@xxxxxxxxxxxxxxxx] On Tue, Jun 22, 2021 at 01:06:27PM +0200, Pali Rohár wrote: > Hello! > > On Tuesday 22 June 2021 12:57:22 Luca Ceresoli wrote: > > Nothing happened after a few weeks... I understand that knowing the > > correct reset timings is relevant, but unfortunately I cannot help much > > in finding out the correct values. > > > > However I'm wondering what should happen to this patch. It *does* fix a > > real bug, but potentially with an incorrect or non-optimal usleep range. > > Do we really want to ignore a bugfix because we are not sure about how > > long this delay should be? > > As there is no better solution right now, I'm fine with your patch. But > patch needs to be approved by Lorenzo, so please wait for his final > answer. I am not a GPIO expert and I have a feeling this is platform specific beyond what the PCI specification can actually define architecturally. There are two things I'd like to see: 1) If Linus can have a look at the GPIO bits in this thread that would definitely help clarify any pending controversy 2) Kishon to test on *existing* platforms and confirm there are no regressions triggered > I would suggest to add a comment for call "usleep_range(1000, 2000);" > that you have chosen some "random" values which worked fine on your > setup and that they fix mentioned bug. Comment just to mark this sleep > code that is suboptimal / not-so-correct and to prevent other people to > copy+paste this code into other (new) drivers... Yes a comment would help but as I say above I am afraid this is a platform specific set-up, ie that delay is somewhat tied to a platform, not sure there is anything we can do. If Linus and Kishon are happy with the approach we can merge this patch. Lorenzo