summaryrefslogtreecommitdiffstats
path: root/sys/dev/fdt/rkpcie.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement pci_intr_establish_cpu() on arm64 and armv7. The function pointerpatrick2020-07-141-7/+7
| | | | | | | | | | | | in the chipset tag for establishing interrupts now takes a struct cpu_info *. The normal pci_intr_establish() macro passes NULL as ci, which indicates that the primary CPU is to be used. The PCI controller drivers can then simply pass the ci on to our arm64/armv7 interrupt establish "framework". Prompted by dlg@ ok kettenis@
* Add a delay after link training to work-around a panic when firstkurt2020-02-201-1/+8
| | | | accessing PCI config space on some cards. okay kettenis@
* rkpcie: Add support for gen2 negotiationkurt2019-12-141-13/+80
| | | | | | | | | | | * Enable gen2 link training when the dtb is configured with max-link-speed = <2>; * Workaround a rockchip bug where Target Link Speed is not set when PCIE_CLIENT_PCIE_GEN_SEL_2 is configured * Wait for LTSSM L0 state after initial link training to ensure gen2 link training does not start too early okay kettenis@
* Change pci_intr_handle_t into a struct and replace duplicated code thatkettenis2019-06-031-84/+18
| | | | | | | | implements mapping of MSI and MSI-X interrupts with new generic functions. Fixes a use-after-free in sone PCI device drivers that call pci_intr_string(9) after pci_intr_establish(9). ok deraadt@
* Add MSI-X support.kettenis2019-05-311-28/+39
| | | | ok patrick@
* avoid uninitialised variable use in an error pathjsg2018-08-281-2/+2
| | | | ok kettenis@
* Give the FDT interrupt API a more generic naming by replacing thepatrick2018-08-061-3/+3
| | | | | | arm_intr_* prefix with fdt_intr_*. ok kettenis@
* Add support for the GIC v3 ITS and use it to implement MSI support forkettenis2018-07-301-12/+69
| | | | | | rkpcie(4). ok patrick@
* Make things work when using the official device tree bindings used by thekettenis2018-01-131-7/+10
| | | | Linux kernel.
* Don't advertise L0s if the "aspm-no-l0s" property is present. Base availablekettenis2018-01-061-37/+127
| | | | | bus numbers on the "bus-range" property. Create outbound translations based on the "ranges" property.
* Initial stab at a driver for the PCIe interface on the Rockhip RK3399. Forkettenis2018-01-021-0/+577
now it cheats when setting up an interrupt handler. This cheat only works because it currently effectively only supports a single device. But the cheat works well enough to support the Firefly SATA adapter board.