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
F102590603: D31887.diff
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
Unknown Object (File)
Oct 11 2024, 11:32 PM
Unknown Object (File)
Oct 11 2024, 11:14 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 Skipped
Unit
Tests Skipped

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