Skip to content
  • Bjorn Helgaas's avatar
    PCI: Add pcie_downstream_port() (true for Root and Switch Downstream Ports) · ffb4d602
    Bjorn Helgaas authored
    
    
    As used in the PCIe spec, "Downstream Port" includes both Root Ports and
    Switch Downstream Ports.  We sometimes checked for PCI_EXP_TYPE_DOWNSTREAM
    when we should have checked for PCI_EXP_TYPE_ROOT_PORT or
    PCI_EXP_TYPE_DOWNSTREAM.
    
    For a Root Port without a slot, the effect of this was that using
    pcie_capability_read_word() to read PCI_EXP_SLTSTA returned zero instead of
    showing the Presence Detect State bit hardwired to one as the PCIe Spec,
    r3.0, sec 7.8, requires.  (This read is completed in software because
    previous PCIe spec versions didn't require PCI_EXP_SLTSTA to exist at all.)
    
    Nothing in the kernel currently depends on this (pciehp only reads
    PCI_EXP_SLTSTA on ports with slots), so this is a cleanup and not a
    functional change.
    
    Add a pcie_downstream_port() helper function and use it.
    
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    ffb4d602