Skip to content
Commit f09f8735 authored by Duc Dang's avatar Duc Dang Committed by Bjorn Helgaas
Browse files

PCI: xgene: Disable Configuration Request Retry Status for v1 silicon



When a CPU reads the Vendor and Device ID of a non-existent device, the
controller should fabricate return data of 0xFFFFFFFF.  Configuration
Request Retry Status (CRS) is not applicable in this case because the
device doesn't exist at all.

The X-Gene v1 PCIe controller has a bug in the CRS logic such that when CRS
is enabled, it fabricates return data of 0xFFFF0001 for this case, which
means "the device exists but is not ready."  That causes the PCI core to
retry the read until it times out after 60 seconds.

Disable CRS capability advertisement by clearing the CRS Software
Visibility bit in the Root Capabilities Register.

[bhelgaas: changelog and comment]
Tested-by: default avatarIan Campbell <ian.campbell@citrix.com>
Tested-by: default avatarMarcin Juszkiewicz <mjuszkiewicz@redhat.com>
Signed-off-by: default avatarDuc Dang <dhdang@apm.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Acked-by: default avatarTanmay Inamdar <tinamdar@apm.com>
parent e1e6e5c4
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment