path: root/sys/arm64/rockchip/rk_pcie.c
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-161-2/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-05-121-1/+1
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* Map arm64 pci config memory as non-postedAndrew Turner2023-03-051-2/+16
| | | | | | | | | | | On arm64 PCI config memory is expected to be mapped with a non-posted device type. To handle this use the new bus_map_resource support in arm64 to map memory with the new VM_MEMATTR_DEVICE_NP attribute. This memory has already been allocated and activated, it just needs to be mapped. Reviewed by: kevans, mmel Differential Revision: https://reviews.freebsd.org/D30079
* Add Rockchip PCIe cleanup on attach faulureAndrew Turner2022-07-041-8/+42
| | | | | | | | | We should clean up on failure as it may panic the kernel later, e.g. if we crate the rman, but fail to destroy it on attach faulure. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35682
* Support decoding mem32 memory in the rk pcie driverAndrew Turner2022-07-041-5/+5
| | | | | | | | | | | This is needed with some dtb files. While here use a switch statement as the two options are mutually exclusive in any iteration of the loop. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35680
* arm64 rockchip: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin2022-05-091-3/+1
* arm64 rk_pcie: Use __diagused for a variable only used in KASSERT().John Baldwin2022-04-131-1/+1
* Rename ofwpci.c to ofw_pcib.cMarcin Wojtas2021-05-201-2/+2
| | | | | | | | | | | | | | It's a class0 driver that implements some pcib methods and creates a pci bus as its children. The "ofw_pci" name will be used by a new driver that will be a subclass of the pci bus. No functional changes intended. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: andrew Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D30226
* Implement workaround for broken access to configuration space.Michal Meloun2020-09-191-34/+21
| | | | | | | | | Due to a HW bug in the RockChip PCIe implementation, attempting to access a non-existent register in the configuration space will throw an exception. Use new bus functions bus_peek() and bus_poke() to overcomme this limitation. Notes: svn path=/head/; revision=365900
* arm64: clean up empty lines in .c and .h filesMateusz Guzik2020-09-011-9/+0
| | | | Notes: svn path=/head/; revision=365069
* Add the missing brackets to the logical expression.Michal Meloun2020-03-091-2/+2
| | | | | | | | Reported by: clang10 via dim MFC with: r355755 Notes: svn path=/head/; revision=358807
* Add driver for Rockchip PCIe root complex found in RK3399 SOC.Michal Meloun2019-12-141-0/+1411
Unfortunately, there are some limitations: - memory aperture of his controller is only 16MiB, so it is nearly unusable for graphic cards - every attempt to generate type 1 config cycle always causes trap. These config cycles are disabled now and we don't support cards with PCIe switch. - in some cases, attempt to do config cycle to (probably) not-yet ready card also causes trap. This cannot be detected at runtime, but it seems like very rare issue. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D22724 Notes: svn path=/head/; revision=355755