Page MenuHomeFreeBSD

Enable L1SS handling on RPI4 pcib
AbandonedPublic

Authored by hp_tmm.cx on Wed, Apr 17, 12:03 PM.
Tags
Referenced Files
Unknown Object (File)
Wed, May 8, 2:46 PM
Unknown Object (File)
Sun, May 5, 1:35 PM
Unknown Object (File)
Wed, May 1, 7:21 PM
Unknown Object (File)
Sat, Apr 27, 5:17 AM
Unknown Object (File)
Fri, Apr 26, 5:16 AM
Unknown Object (File)
Sun, Apr 21, 6:01 PM
Unknown Object (File)
Sat, Apr 20, 8:51 PM
Unknown Object (File)
Thu, Apr 18, 8:32 PM
Subscribers

Details

Reviewers
andrew
karels
crowston_protonmail.com
Group Reviewers
arm64
Summary

Thanks to @kevans91 for pointing me in the right direction. FreeBSD had the same bug as Linux (see https://bugzilla.kernel.org/show_bug.cgi?id=217276) where the ultimate solution was to honor the brcm,enable-l1ss FDT property.

In current versions of the dtb files this property has been added by default.

Without this on many, many pcie addin cards the pcib will Serror when trying to assert the clreq# pin on the pcie bus. Many cards do not have these hooked up.

Test Plan

I have done the following

  1. Without the patch applied, attach non-RPI specific PCIe devices to the PCIe bus. Observe the Serror
  2. Apply the patch, observe that the Serror goes away, and the PCIe device works

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

emaste added inline comments.
sys/arm/broadcom/bcm2835/bcm2838_pci.c
746–747

how did you arrive at the need for this additional delay, out of curiosity?

Let's put all the reviews in the PR for this. It's usually a bad idea to do both and wastes my time having to deal with both unless there's a good reason.

sys/arm/broadcom/bcm2835/bcm2838_pci.c
729–730

No need to read the node here, just use ofw_bus_has_prop

I put all of the suggested changes in https://github.com/freebsd/freebsd-src/pull/1179 sorry for doubling up on phab and gb. I'm new here :)

hp_tmm.cx marked an inline comment as done.

Moved to github.