#
5c961518 |
| 10-Aug-2024 |
kettenis <kettenis@openbsd.org> |
Some AMD Ryzen xHCI controllers need a bit more time to transition from D3 into D0. Fixes xhci(4) issues after resume.
ok deraadt@
|
#
e3d50907 |
| 18-Mar-2024 |
kettenis <kettenis@openbsd.org> |
Reduce dmesg spam and only print about resource conflicts for resources that are actually enabled.
ok dlg@, deraadt@
|
#
70806531 |
| 13-Apr-2023 |
miod <miod@openbsd.org> |
Grammar fixes in comments.
|
#
c7f2c3aa |
| 27-Nov-2022 |
kn <kn@openbsd.org> |
Remove last queue(3) *_END() usage from tree
queue(3) NOTES says they're deprecated and expand to NULL; indeed.
No object change. OK kettenis mvs
|
#
377b8a5e |
| 17-Jun-2022 |
kettenis <kettenis@openbsd.org> |
Only probe device 0 on PCI busses corresponding to a PCIe root port or a PCIe switch/bridge downstream port. This fixes an issue where a device would show up 32 times if the PCIe port does not termi
Only probe device 0 on PCI busses corresponding to a PCIe root port or a PCIe switch/bridge downstream port. This fixes an issue where a device would show up 32 times if the PCIe port does not terminate configuration requests targeted at device numbers 1-31 as required by the spec and the PCIe device does not filter requests based on its own device number. Linux, NetBSD and FreeBSD (to some extent) already do this.
This should fix an issue seen on Ampere Altra where the BMC's PCI bridge and USB controller would show up multiple times.
ok jsg@
show more ...
|
#
8d2c75e4 |
| 11-Mar-2022 |
mpi <mpi@openbsd.org> |
Constify struct cfattach.
|
#
22060bbf |
| 05-Jan-2022 |
deraadt <deraadt@openbsd.org> |
Compensate for i386 pcitag_t union ok jsg kettenis
|
#
fae5bdc0 |
| 04-Jan-2022 |
kettenis <kettenis@openbsd.org> |
Restrict the pci(4) ioctl interface to devices detected by the kernel. This fixes issues on the M1 Macs where the PCI probe done by Xorg breaks the WiFi chip.
ok patrick@
|
#
a7c97ccf |
| 02-Jan-2022 |
jsg <jsg@openbsd.org> |
addres -> address
|
#
bc8858ce |
| 23-Jul-2021 |
jmatthew <jmatthew@openbsd.org> |
pci_intr_msix_count() is the function that drivers using multiple MSI-X vectors use to decide whether to use MSI-X, so make it return 0 if MSI is not enabled for the device.
fixes problems with ix(4
pci_intr_msix_count() is the function that drivers using multiple MSI-X vectors use to decide whether to use MSI-X, so make it return 0 if MSI is not enabled for the device.
fixes problems with ix(4) on older amd64 hardware and current riscv64 ok kettenis@ dlg@
show more ...
|
#
2a0e15d2 |
| 08-Sep-2020 |
kettenis <kettenis@openbsd.org> |
Add a function to scan for PCI Express extended capabilities.
From jordan@, with a few more tweaks by myself.
|
#
d8c65c0d |
| 26-Jun-2020 |
dlg <dlg@openbsd.org> |
byteswap vpd data going out to userland.
makes pcidump output look more plausible on big endian boxes.
ok jmatthew@
|
#
530b71a3 |
| 22-Jun-2020 |
dlg <dlg@openbsd.org> |
let userland read vpd info from a pci device.
reading vpd stuff is useful when you're trying to get support information about a pci device, eg, if you want a serial number, or firmware versions, or
let userland read vpd info from a pci device.
reading vpd stuff is useful when you're trying to get support information about a pci device, eg, if you want a serial number, or firmware versions, or specific part name or number, it's likely available via vpd. also, im sick of having the diff in my tree.
the vpd info is not accessed as bytes read from a capability, but is read via a register in the capability. the same register also supports updating or writing vpd info, which sounds like a bad idea to let userland have raw access to.
this adds an ioctl so that userland can ask the kernel to read via the vpd register on its behalf. this ensures that the only access is read access, and it's sanity checked.
tested by hrvoje popovski on many devices. ok jmatthew@
show more ...
|
#
0647bbab |
| 17-Jun-2020 |
dlg <dlg@openbsd.org> |
add pci_intr_msix_count(), to get the msi-x table size for a device.
this basically tells us the number of interrupt vectors a pci device is able to support. it relies on the arch having __HAVE_PCI_
add pci_intr_msix_count(), to get the msi-x table size for a device.
this basically tells us the number of interrupt vectors a pci device is able to support. it relies on the arch having __HAVE_PCI_MSIX defined. without that define it always returns 0.
i think this originally came from haesbart via patrick@ as amd64 md code in the middle of a diff from 2018(!), but i've tweaked it to make it MI.
tested on sparc64 and amd64 with various drivers.
show more ...
|
#
c7616f37 |
| 15-Jan-2020 |
cheloha <cheloha@openbsd.org> |
pci(4): PCIOCSETVGA: tsleep(9) -> tsleep_nsec(9); ok mpi@
|
#
4211e504 |
| 25-Jun-2019 |
kettenis <kettenis@openbsd.org> |
Implement suspend/resume support for MSI-X interrupts. Loosely based on an earlier diff from sf@.
ok jmatthew@, also ok mlarkin@, sf@ for a slightly different earlier version
|
#
9864457b |
| 08-Jun-2019 |
dlg <dlg@openbsd.org> |
disambiguate memory extent conflicts for membars and rom addresses
there's some more work to do in this space, but this helps us start.
ok kettenis@
|
#
cf3c8ce0 |
| 28-Jul-2018 |
kettenis <kettenis@openbsd.org> |
Add function to convert a PCI device "tag" into a PCIe requester ID.
ok patrick@, mlarkin@, deraadt@
|
#
05dd25e5 |
| 27-Nov-2015 |
kettenis <kettenis@openbsd.org> |
Don't report a bus conflict for bridges that are left (partly) unconfigured by the system firmware.
|
#
5bebef64 |
| 10-Sep-2015 |
deraadt <deraadt@openbsd.org> |
simple size for free()
|
#
edb40e46 |
| 27-Nov-2014 |
kettenis <kettenis@openbsd.org> |
Previous change wasn't quite right and broke "classic' PCI sparc64 machines. Undo the code rearrangement in rev. 1.108 but keep the sparc64-specific code dealing with non-prefetchable 64-bit BARs.
F
Previous change wasn't quite right and broke "classic' PCI sparc64 machines. Undo the code rearrangement in rev. 1.108 but keep the sparc64-specific code dealing with non-prefetchable 64-bit BARs.
Found out the hard way by stsp@
show more ...
|
#
3251a194 |
| 26-Nov-2014 |
kettenis <kettenis@openbsd.org> |
Seems Sun^H^H^HOracle is doing something naughty and (deliberately) puts non-prefetchable BARs of the onboard mpii(4) behind a prefetchable memory range on the bridge it sists behind. Since we rely
Seems Sun^H^H^HOracle is doing something naughty and (deliberately) puts non-prefetchable BARs of the onboard mpii(4) behind a prefetchable memory range on the bridge it sists behind. Since we rely on the formware to program BARs for us on sparc64, add a workaround to avoid whacking these BARs and make the machine panic later when it tries to access the registers.
ok miod@, deraadt@
show more ...
|
#
30394c80 |
| 24-Nov-2014 |
kettenis <kettenis@openbsd.org> |
Fix some issues with 64-bit BARs behind PCI-PCI bridges. Actual BARs that have the upper 32-bits set seen in the wild now on a SPARC T5-2 system.
Tested by many.
|
#
03ad23dd |
| 26-Oct-2014 |
kettenis <kettenis@openbsd.org> |
Add resource tracking for PCI ROMs.
ok deraadt@
|
#
7f58a11f |
| 14-Sep-2014 |
jsg <jsg@openbsd.org> |
remove uneeded proc.h includes ok mpi@ kspillner@
|