#
b3132299 |
| 29-Dec-2024 |
Kyle Evans <kevans@FreeBSD.org> |
pci: avoid accidental clobbering of regs on some fdt platforms
Most pci controllers will just have a single reg for the config space, but others (e.g., on Apple Silicon) may have more following that
pci: avoid accidental clobbering of regs on some fdt platforms
Most pci controllers will just have a single reg for the config space, but others (e.g., on Apple Silicon) may have more following that to describe, e.g., controller port space. Bump the "ranges" rid space up to avoid overriding these other memory resources.
Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43921
show more ...
|
#
1f5c50a8 |
| 12-Dec-2024 |
Andrew Turner <andrew@FreeBSD.org> |
pci_host_generic:Add pcib_request_feature on ACPI
In the ACPI attachment add support for the pcib_request_feature method. This uses the common _OSC handling.
Reviewed by: imp, jhb Sponsored by: Arm
pci_host_generic:Add pcib_request_feature on ACPI
In the ACPI attachment add support for the pcib_request_feature method. This uses the common _OSC handling.
Reviewed by: imp, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D48048
show more ...
|
#
deb36d0c |
| 12-Dec-2024 |
Andrew Turner <andrew@FreeBSD.org> |
pci_host_generic: Support ACPI_IVAR_HANDLE
In the ACPI attachment support the ACPI_IVAR_HANDLE ivar. While here use the common ivar function to support the common ivars.
Reviewed by: imp, jhb Spons
pci_host_generic: Support ACPI_IVAR_HANDLE
In the ACPI attachment support the ACPI_IVAR_HANDLE ivar. While here use the common ivar function to support the common ivars.
Reviewed by: imp, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D48047
show more ...
|
#
18250ec6 |
| 06-Dec-2024 |
John Baldwin <jhb@FreeBSD.org> |
Replace calls to bus_generic_attach with bus_attach_children
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675
|
Revision tags: release/14.2.0, release/13.4.0 |
|
#
5b56413d |
| 25-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANY
Sponsored by: Netflix
|
Revision tags: release/14.1.0 |
|
#
f55e8664 |
| 22-May-2024 |
Andrew Turner <andrew@FreeBSD.org> |
pci: Fix pci_host_generic_acpi with gcc
In pci_host_generic_acpi.c we loop over pci_acpi_quirks to check if we need to handle any quirks. GCC doesn't like the terminatin as it sets a fixed width str
pci: Fix pci_host_generic_acpi with gcc
In pci_host_generic_acpi.c we loop over pci_acpi_quirks to check if we need to handle any quirks. GCC doesn't like the terminatin as it sets a fixed width string to 0.
As this the array is only ever used in this file change to use nitems to find when to stop the loop.
Reviewed by: brooks, imp, jhb, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45265
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
913d04de |
| 24-Apr-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add PCI_ID_OFW_IOMMU to the pci ecam ACPI driver
Teach the pci host generic ACPI attachment about PCI_ID_OFW_IOMMU. This will be used by the arm64 smmu IOMMU driver to read the xref and ID this inte
Add PCI_ID_OFW_IOMMU to the pci ecam ACPI driver
Teach the pci host generic ACPI attachment about PCI_ID_OFW_IOMMU. This will be used by the arm64 smmu IOMMU driver to read the xref and ID this interface provides in a bus-agnostic way.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39182
show more ...
|
Revision tags: release/13.2.0 |
|
#
896f5562 |
| 18-Jan-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add the fixed memory type to the pci ecam driver
Add ACPI_RESOURCE_TYPE_FIXED_MEMORY32 to the PCI ECAM driver. This is used on the Microsoft Dev Kit 2023 and reportedly the Lenovo x13s.
Reviewed by
Add the fixed memory type to the pci ecam driver
Add ACPI_RESOURCE_TYPE_FIXED_MEMORY32 to the PCI ECAM driver. This is used on the Microsoft Dev Kit 2023 and reportedly the Lenovo x13s.
Reviewed by: Robert Clausecker <fuz@fuz.su> (Earlier version) Tested by: Robert Clausecker <fuz@fuz.su> (Earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D38031
show more ...
|
Revision tags: release/12.4.0, release/13.1.0 |
|
#
97a41013 |
| 07-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
pci: Remove unused devclass arguments to DRIVER_MODULE.
|
#
6f1fe2a0 |
| 09-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
pci_host_generic_acpi: Remove unused variable.
|
Revision tags: release/12.3.0 |
|
#
e8a87253 |
| 16-Sep-2021 |
Marcin Wojtas <mw@FreeBSD.org> |
pci_host_generic: update Synopsys device description for ACPI
The recent addition of Synopsys ECAM quirk set the device description only for the DT variant. Do the same in ACPI case.
Reported by: j
pci_host_generic: update Synopsys device description for ACPI
The recent addition of Synopsys ECAM quirk set the device description only for the DT variant. Do the same in ACPI case.
Reported by: jrtc27
show more ...
|
#
2de4c7f6 |
| 13-Sep-2021 |
Pawel Anikiel <pan@semihalf.com> |
pci_host_generic: Add Synopsys Designware PCIe controller quirk
Due to the quirky nature of the Synopsys Designware PCIe IP, the type 0 configuration is broadcast and whatever device is plugged into
pci_host_generic: Add Synopsys Designware PCIe controller quirk
Due to the quirky nature of the Synopsys Designware PCIe IP, the type 0 configuration is broadcast and whatever device is plugged into slot, will appear at each 32 device positions of bus0. Mitigate the issue by filtering out duplicated devices on this bus for both DT and ACPI cases.
Reviewed by: mw Sponsored by: Semihalf MFC: after 3 weeks Differential revision: https://reviews.freebsd.org/D31887
show more ...
|
Revision tags: release/13.0.0 |
|
#
e0870cd4 |
| 29-Nov-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Only set the PCI bus end when we are reducing it
We read the bus end value from the _CRS method. On some systems we need to further limit it based on the MCFG table.
Support this by setting a defau
Only set the PCI bus end when we are reducing it
We read the bus end value from the _CRS method. On some systems we need to further limit it based on the MCFG table.
Support this by setting a default value, then update it if needed in the _CRS table, and finally reduce it if it is past the end of the MCFG tabel. This will allow for both systems that use either method to encode this value.
This partially reverts r347929, removing the error printf.
Reviewed by: philip Tested by: philip, Andrey Fesenko <f0andrey_gmail.com> MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D27274
show more ...
|
Revision tags: release/12.2.0 |
|
#
9a7053ce |
| 17-Jun-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Clean up the pci host generic driver
- Support Prefetchable Memory. - Use the correct rman when allocating memory and ioports. - Translate PCI addresses in bus_alloc_resource to allow physical
Clean up the pci host generic driver
- Support Prefetchable Memory. - Use the correct rman when allocating memory and ioports. - Translate PCI addresses in bus_alloc_resource to allow physical addresses that are different than pci addresses.
Reviewed by: Robert Crowston <crowston_protonmail.com> Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D25121
show more ...
|
Revision tags: release/11.4.0 |
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
667c3fc0 |
| 11-Feb-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Add PCI Express driver for the ARM Neoverse N1 System Development Platform (N1SDP).
Neoverse N1 is a high-performance ARM microarchitecture designed by the ARM Holdings for the server market.
The P
Add PCI Express driver for the ARM Neoverse N1 System Development Platform (N1SDP).
Neoverse N1 is a high-performance ARM microarchitecture designed by the ARM Holdings for the server market.
The PCI part on N1SDP was shipped untested and suffers from some integration issues.
For instance accessing to not existing BDFs causes System Error (SError) exception. To mitigate this, the firmware scans the bus, catches SErrors and creates a table with valid BDFs. That allows us to filter-out accesses to invalid BDFs in this driver.
Also the root complex config space (BDF == 0) has an unusual location in memory map, so remapping accesses to it is required.
Finally, the config space is restricted to 32-bit accesses only.
This was tested on the ARM boxes kindly provided by the ARM Ltd to the DARPA CHERI Project.
In collaboration with: andrew Reviewed by: andrew Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D23349
show more ...
|
#
051669e8 |
| 25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r356931 through r357118.
|
#
c344a951 |
| 24-Jan-2020 |
Ruslan Bukin <br@FreeBSD.org> |
o Move the software context struct to a header file. o Make the pci_host_generic_acpi_attach() globally visible. o Declare a new driver class.
These will be used by a new PCI root complex driver.
S
o Move the software context struct to a header file. o Make the pci_host_generic_acpi_attach() globally visible. o Declare a new driver class.
These will be used by a new PCI root complex driver.
Sponsored by: DARPA, AFRL
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
ec55b6c5 |
| 17-May-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
pci: ecam: Correctly parse memory and IO region
When activating a resource do not compare the resource id to the adress. Treat IO region as MEMORY region too.
Submitted by: Tuan Phan <tphan@amperec
pci: ecam: Correctly parse memory and IO region
When activating a resource do not compare the resource id to the adress. Treat IO region as MEMORY region too.
Submitted by: Tuan Phan <tphan@amperecomputing.com> (Original Version) Sponsored by: Ampere Computing, LLC Differential Revision: https://reviews.freebsd.org/D20214
show more ...
|
#
aa95512f |
| 17-May-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
pci: ecam: Do not warn on mismatch of bus_end
We cannot know the bus end number before parsing the MCFG table so don't set the bus_end before that. If the MCFG table doesn't exist we will set the co
pci: ecam: Do not warn on mismatch of bus_end
We cannot know the bus end number before parsing the MCFG table so don't set the bus_end before that. If the MCFG table doesn't exist we will set the configuration base address based on the _CBA value and set the bus_end to the maximal number allowed by PCI.
Sponsored by: Ampere Computing, LLC
Differential Revision: https://reviews.freebsd.org/D20213
show more ...
|
#
9e43c218 |
| 10-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343807 through r343955.
|
#
13607f6d |
| 07-Feb-2019 |
Jayachandran C. <jchandra@FreeBSD.org> |
pci_host_generic_acpi: use IORT data for MSI/MSI-X
Use the information from IORT parsing to translate the PCI RID to GIC ITS device ID. And similarly, use the information to find the PIC XREF identi
pci_host_generic_acpi: use IORT data for MSI/MSI-X
Use the information from IORT parsing to translate the PCI RID to GIC ITS device ID. And similarly, use the information to find the PIC XREF identifier to be used for PCI devices.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D18004
show more ...
|
Revision tags: release/12.0.0 |
|
#
3d5db455 |
| 24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|