On Mon, Mar 02, 2020 at 11:39:39AM -0500, Sinan Kaya wrote: > On 2/27/2020 9:18 PM, Raj, Ashok wrote: > >> If I remember right, there was no time mention about how long to > >> wait. Spec says device should send CRS as long as it is not ready. > > Not exactly.. there are some requirements to follow for rules after > > a conventional reset. > > Yes, but CRS happens after functional reset, D3hot etc. too not just > conventional reset. > > 1 second is too aggressive. We already have proof that several PCIe > cards take their time during FLR especially FPGA cards in the orders > of 10 seconds. Aren't the rules specified in 7.9.17 Rediness Time Reporting Extended Capability sufficient to cover this? If a device doesn't have them we could let the driver supply this value as a device specific value to override the default. > > Current code is waiting up to 60 seconds. If card shows up before that > we happily return. > But in 7.9.17.2 Readiness Time Reporting 1 Register, says devices can defer reporting by not setting the valid bit, but if it remains clear after 60s system software can assume no valid values will be reported. Maybe keep the system default to something more reasonable (after some testing in the community), and do this insane 60s for devices that support the optional reporting capability? Cheers, Ashok