Page MenuHomeFreeBSD

pci: Add Synopsys Designware PCIe controller quirk
ClosedPublic

Authored by pan_semihalf.com on Sep 9 2021, 7:26 AM.
Tags
Referenced Files
F103094263: D31887.diff
Wed, Nov 20, 9:43 PM
Unknown Object (File)
Thu, Nov 14, 8:24 PM
Unknown Object (File)
Thu, Nov 14, 12:10 PM
Unknown Object (File)
Sat, Nov 9, 4:46 PM
Unknown Object (File)
Sat, Nov 9, 3:11 PM
Unknown Object (File)
Oct 11 2024, 11:32 PM
Unknown Object (File)
Oct 11 2024, 11:32 PM
Unknown Object (File)
Oct 11 2024, 11:32 PM

Details

Summary

The Synopsys Designware PCIe controller causes devices on bus 0 to
appear twice. This is mitigated by manually blocking slots 1 and
higher on bus 0.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

pan_semihalf.com created this revision.
val_packett.cool added inline comments.
sys/dev/pci/pci_host_generic.h
92

maybe name it PCIE_ECAM_DESIGNWARE_QUIRK? Armada8k is not the only SoC with this quirk…

sys/dev/pci/pci_host_generic_acpi.c
104

I guess we won't need any more entries here unlike the FDT case because

sys/dev/pci/pci_host_generic_fdt.c
154

Linux also applies it for socionext,synquacer-pcie-ecam and the SoC-vendor-neutral snps,dw-pcie-ecam

  • Rename quirk to PCIE_ECAM_DESIGNWARE_QUIRK
  • Add socionext,synquacer-pcie-ecam and snps,dw-pcie-ecam compats

LGTM + tested with ACPI and DT on MacchiatoBin.

sys/dev/pci/pci_host_generic_acpi.c
104

Fortunately Marvell version of this IP does not have the necessity of the root port hiding, so it's much simpler. WRT the Amazon version,

This revision is now accepted and ready to land.Sep 15 2021, 10:18 AM