On Wednesday 13 May 2020 12:33:14 Lorenzo Pieralisi wrote: > On Wed, May 13, 2020 at 01:16:51PM +0200, Pali Rohár wrote: > > On Thursday 30 April 2020 10:06:13 Pali Rohár wrote: > > > Hello, > > > > > > this is the fourth version of the patch series for Armada 3720 PCIe > > > controller (aardvark). It's main purpose is to fix some bugs regarding > > > buggy ath10k cards, but we also found out some suspicious stuff about > > > the driver and the SOC itself, which we try to address. > > > > > > Patches are available also in my git branch pci-aardvark: > > > https://git.kernel.org/pub/scm/linux/kernel/git/pali/linux.git/log/?h=pci-aardvark > > > > Hello! Thanks everybody for review and testing of this patch series. > > > > I would like to ask, is there something needed to fix / modify in this > > patch series? If everything is OK, would you Bjorn or Lorenzo take this > > patch series into your tree? > > We need Thomas' ACK on the series. We don't have this HW and > we comment on the generic code, Thomas owns it and must check that > what you are changing is sound. Ok, we will wait for Thomas ACK/review. > On patch 5 I share Rob's concerns - it does not make much sense > to have something driver specific there, need to look further. I fully understand yours concerns. I wanted to solve it. Problem is that I really do not know which timeout is there applicable. I read information about PERST# more times but I was not able to clearly deduce that minimal timeout/delay needed for this reset scenario. So what I was able to do are just experiments. I found out what is the minimal needed time to correctly initialize wifi cars which I used for testing. You can look into my previous email [1] where I wrote which timeouts are used by which drivers. Basically every driver is using its own custom timeout and this is something which should be fixed / improved. In my opinion authors tested their own (wifi) cards and measured minimal timeout needed for initializing them. So somebody with deeper PCI knowledge should look at this PERST# problem and try to address it. After it happens I see there two scenarios: 1) Timeout according to specification/authority is lower than what we currently use. In this case it would mean that we have buggy wifi cards (and we already know that people reported issues with Compex cards) and we would have to stay with higher timeout. Probably we can define common macro with timeout value and use it. 2) Timeout according to specification/authority is bigger then what we currently use. In this case there is no problem to increase it, card would be just longer in reset state. What could be problematic for somebody is that this increase boot / initialization time. [1] - https://lore.kernel.org/linux-pci/20200424092546.25p3hdtkehohe3xw@pali/