OSDN Git Service

switchtec: Remove immediate status check after submitting MRPC command
authorKelvin Cao <kelvin.cao@microchip.com>
Mon, 10 Dec 2018 09:12:20 +0000 (17:12 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 12 Dec 2018 22:30:03 +0000 (16:30 -0600)
commit526180408b815aa7b96fd48bd23cdd33ef04e38e
tree35e3b8150d4ad8da5e6d9e41b030f02c3e96b896
parent651022382c7f8da46cb4872a545ee1da6d097d2a
switchtec: Remove immediate status check after submitting MRPC command

After submitting a Firmware Download MRPC command, Switchtec firmware will
delay Management EP BAR MemRd TLP responses by more than 10ms.  This is a
firmware limitation.  Delayed MemRd completions are a problem for systems
with a low Completion Timeout (CTO).

The current driver checks the MRPC status immediately after submitting an
MRPC command, which results in a delayed MemRd completion that may cause a
Completion Timeout.

Remove the immediate status check and rely on the check after receiving an
interrupt or timing out.

This is only a software workaround to the READ issue and a proper fix of
this should be done in firmware.

Fixes: 080b47def5e5 ("MicroSemi Switchtec management interface driver")
Signed-off-by: Kelvin Cao <kelvin.cao@microchip.com>
Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
drivers/pci/switch/switchtec.c