[PATCH linux dev-4.10] drivers/fsi: Remove scan from master registration
eajames at linux.vnet.ibm.com
Sat Jul 29 00:57:23 AEST 2017
On 07/27/2017 09:07 PM, Jeremy Kerr wrote:
> Hi Chris,
>> Scanning during master registration is problematic because the gpio fsi
>> master will be registered during boot if it is present in device-tree
>> (it's a platform device). That means that the whole fsi scan occurs
>> during boot, which can cause problems.
> What kind of problems?
Two main problems.
1) The SBEFIFO and it's client driver probes can hang if the SBE is not
initialized. Basically, we wait forever for a response from the SBE and
never get it. Not a problem with manual scan because a) it can be
interrupted and b) in scanning manually, the SBEFIFO client driver
probes are designed to fail during the scan. For some reason, the device
registration doesn't immediately probe the driver if the scan happens at
boot, so this workaround doesn't work. So the boot can hang.
2) FSI operations while the host is booting can cause FSI failures.
Since we don't know the state of the host while booting the BMC, it's
generally not safe to do FSI ops as we may disrupt the host.
> This sounds a bit awkward to me - it's fairly reasonable to expect the
> master to probe immediately. Requiring manual scan adds some unusual
> dependencies to the bus initialisation process.
More information about the openbmc