#
fafbaf79 |
| 30-Dec-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add MSIX rewrite table quirk for use with VMs.
This patch solves IRQ generation problems using the mlx5en(4) driver with xenserver v6.5.0 in SRIOV and PCI-passthrough modes.
Until further the hw.pc
Add MSIX rewrite table quirk for use with VMs.
This patch solves IRQ generation problems using the mlx5en(4) driver with xenserver v6.5.0 in SRIOV and PCI-passthrough modes.
Until further the hw.pci.msix_rewrite_table quirk must be set manually in /boot/loader.conf .
Reviewed by: jhb @ Sponsored by: Mellanox Technologies MFC after: 2 weeks
show more ...
|
#
5763f796 |
| 21-Oct-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r307383 through r307735.
|
#
a7a560be |
| 21-Oct-2016 |
Alexander Motin <mav@FreeBSD.org> |
Add names for some DASP devices.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
|
Revision tags: release/11.0.1 |
|
#
335bcabe |
| 28-Sep-2016 |
Ed Maste <emaste@FreeBSD.org> |
Merge ^/head r306303 through 306411.
|
#
4d6e19e4 |
| 27-Sep-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
pci: Clear the MEM/PORT_EN bit when updating PCI BAR
It's unsafe to update the BAR when the related EN bit is set.
Submitted by: Dexuan Cui <decui microsoft com> Reviewed by: jhb MFC after: 1 week
pci: Clear the MEM/PORT_EN bit when updating PCI BAR
It's unsafe to update the BAR when the related EN bit is set.
Submitted by: Dexuan Cui <decui microsoft com> Reviewed by: jhb MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7914
show more ...
|
#
8c4282b3 |
| 24-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305892 through r306302.
|
Revision tags: release/11.0.0 |
|
#
bd716692 |
| 21-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Fix invalid vendor ID constant (typo).
During a bus rescan the check for an invalid vendor ID of a subfunction used the wrong constant.
Submitted by: Dexuan Cui <decui@microsoft.com> MFC after: 3 d
Fix invalid vendor ID constant (typo).
During a bus rescan the check for an invalid vendor ID of a subfunction used the wrong constant.
Submitted by: Dexuan Cui <decui@microsoft.com> MFC after: 3 days
show more ...
|
#
d002f039 |
| 08-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305431 through r305622.
|
#
da0fc925 |
| 06-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Reset PCI pass through devices via PCI-e FLR during VM start and end.
Add routines to trigger a function level reset (FLR) of a PCI-express device via the PCI-express device control register. This
Reset PCI pass through devices via PCI-e FLR during VM start and end.
Add routines to trigger a function level reset (FLR) of a PCI-express device via the PCI-express device control register. This also includes support routines to wait for pending transactions to complete as well as calculating the maximum completion timeout permitted by a device.
Change the ppt(4) driver to reset pass through devices before attaching to a VM during startup and before detaching from a VM during shutdown.
Reviewed by: imp, wblock (earlier version) MFC after: 1 month Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7751
show more ...
|
#
64414cc0 |
| 06-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Update the I/O MMU in bhyve when PCI devices are added and removed.
When the I/O MMU is active in bhyve, all PCI devices need valid entries in the DMAR context tables. The I/O MMU code does a single
Update the I/O MMU in bhyve when PCI devices are added and removed.
When the I/O MMU is active in bhyve, all PCI devices need valid entries in the DMAR context tables. The I/O MMU code does a single enumeration of the available PCI devices during initialization to add all existing devices to a domain representing the host. The ppt(4) driver then moves pass through devices in and out of domains for virtual machines as needed. However, when new PCI devices were added at runtime either via SR-IOV or HotPlug, the I/O MMU tables were not updated.
This change adds a new set of EVENTHANDLERS that are invoked when PCI devices are added and deleted. The I/O MMU driver in bhyve installs handlers for these events which it uses to add and remove devices to the "host" domain.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7667
show more ...
|
#
ed04e0c3 |
| 25-Aug-2016 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead @ r304815
|
#
7d0ce7aa |
| 23-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r304537 through r304699.
|
#
477cba21 |
| 22-Aug-2016 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add Killer E2400 Gigabit Ethernet support. It seems Killer E2200/E2400 has a BIOS misconfiguration or silicon bug which triggers DMA write errors when driver uses advertised maximum payload size. Fo
Add Killer E2400 Gigabit Ethernet support. It seems Killer E2200/E2400 has a BIOS misconfiguration or silicon bug which triggers DMA write errors when driver uses advertised maximum payload size. Force the maximum payload size to 128 bytes in DMA configuration. This change should fix occasional DMA write errors reported on Killer E2200.
Tested by: <psy0nic@sys-tek.org>
show more ...
|
#
2ab0398d |
| 24-Jun-2016 |
John Baldwin <jhb@FreeBSD.org> |
Add pci_get_max_payload() to fetch the PCI-express maximum payload size.
Approved by: re (gjb) MFC after: 2 weeks Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.
Add pci_get_max_payload() to fetch the PCI-express maximum payload size.
Approved by: re (gjb) MFC after: 2 weeks Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D6951
show more ...
|
#
d7be980d |
| 16-May-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Re-commit r299467 having fixed the build:
Add a new get_id interface to pci and pcib. This will allow us to both detect failures, and get different PCI IDs.
For the former the interface returns an
Re-commit r299467 having fixed the build:
Add a new get_id interface to pci and pcib. This will allow us to both detect failures, and get different PCI IDs.
For the former the interface returns an int to signal an error. The ID is returned at a uintptr_t * argument.
For the latter there is a type argument that allows selecting the ID type. This only specifies a single type, however a MSI type will be added to handle the need to find the ID the hardware passes to the ARM GICv3 interrupt controller.
A follow up commit will be made to remove pci_get_rid.
Reviewed by: jhb, rstone (previous version) Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D6239
show more ...
|
#
f41be0f0 |
| 12-May-2016 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r299467 to fix the kernel build.
$ svn merge -c -299467 .
Approved by: build being broken for six hours
|
#
9a36a337 |
| 11-May-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Add a new get_id interface to pci and pcib. This will allow us to both detect failures, and get different PCI IDs.
For the former the interface returns an int to signal an error. The ID is returned
Add a new get_id interface to pci and pcib. This will allow us to both detect failures, and get different PCI IDs.
For the former the interface returns an int to signal an error. The ID is returned at a uintptr_t * argument.
For the latter there is a type argument that allows selecting the ID type. This only specifies a single type, however a MSI type will be added to handle the need to find the ID the hardware passes to the ARM GICv3 interrupt controller.
A follow up commit will be made to remove pci_get_rid.
Reviewed by: jhb, rstone Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D6239
show more ...
|
#
1963070c |
| 07-May-2016 |
John Baldwin <jhb@FreeBSD.org> |
Restore name=value format of PCI location strings.
When devctl was added, the location string for PCI devices was changed to use the PCI "selector" that pciconf and devctl accept. However, devd ass
Restore name=value format of PCI location strings.
When devctl was added, the location string for PCI devices was changed to use the PCI "selector" that pciconf and devctl accept. However, devd assumes that location strings are formatted as a list of name=value pairs. As a result, devd is no longer parsing any of the values out of PCI device events. Restore the previous format of the PCI location strings to restore the location and slot keywords in case any devd scripts are using this. Add the "selector" as a new 'dbsf' location variable.
Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D6253
show more ...
|
#
12b204a6 |
| 04-May-2016 |
Jung-uk Kim <jkim@FreeBSD.org> |
Fix build without "options PCI_IOV".
|
#
e402d55c |
| 03-May-2016 |
John Baldwin <jhb@FreeBSD.org> |
Save and restore SRIOV-related config registers.
Save the value of the IOV control and page size registers and restore them (along with the VF count) in pci_cfg_save/pci_cfg_restore. This ensures A
Save and restore SRIOV-related config registers.
Save the value of the IOV control and page size registers and restore them (along with the VF count) in pci_cfg_save/pci_cfg_restore. This ensures ARI remains enabled if a PF driver resets itself during the PCI_IOV_INIT callback. This might also properly restore SRIOV state across suspend/resume.
Reviewed by: rstone, vangyzen Differential Revision: https://reviews.freebsd.org/D6192
show more ...
|
#
453130d9 |
| 03-May-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/dev: minor spelling fixes.
Most affect comments, very few have user-visible effects.
|
#
a38f0daf |
| 03-May-2016 |
John Baldwin <jhb@FreeBSD.org> |
Fix an off by one error when remapping MSI-X vectors.
pci_remap_msix() can be used to alter the mapping of allocated MSI-X vectors to the MSI-X table. The code had an off by one error when adding t
Fix an off by one error when remapping MSI-X vectors.
pci_remap_msix() can be used to alter the mapping of allocated MSI-X vectors to the MSI-X table. The code had an off by one error when adding the IRQ resources after performing a remap. This was fatal for any vectors in the table that used the "last" valid IRQ as those vectors were assigned a garbage IRQ value.
MFC after: 3 days
show more ...
|
#
5e456636 |
| 27-Apr-2016 |
John Baldwin <jhb@FreeBSD.org> |
Fix build for systems without PCI_RES_BUS.
Submitted by: vangyzen
|
#
c91991a2 |
| 27-Apr-2016 |
John Baldwin <jhb@FreeBSD.org> |
Fix PCI bus detach to delete child devices.
Differential Revision: https://reviews.freebsd.org/D6020
|
#
3d0338a0 |
| 27-Apr-2016 |
John Baldwin <jhb@FreeBSD.org> |
Implement a PCI bus rescan method.
Rescanning a PCI bus uses the following steps: - Fetch the current set of child devices and save it in the 'devlist' array. - Allocate a parallel array 'unchange
Implement a PCI bus rescan method.
Rescanning a PCI bus uses the following steps: - Fetch the current set of child devices and save it in the 'devlist' array. - Allocate a parallel array 'unchanged' initalized with NULL pointers. - Scan the bus checking each slot (and each function on slots with a multifunction device). - If a valid function is found, look for a matching device in the 'devlist' array. If a device is found, save the pointer in the 'unchanged' array. If a device is not found, add a new device. - After the scan has finished, walk the 'devlist' array deleting any devices that do not have a matching pointer in the 'unchanged' array. - Finally, fetch an updated set of child devices and explicitly attach any devices that are not present in the 'unchanged' array.
This builds on the previous changes to move subclass data management into pci_alloc_devinfo(), pci_child_added(), and bus_child_deleted().
Subclasses of the PCI bus use custom rescan logic explicitly override the rescan method to disable rescans.
Differential Revision: https://reviews.freebsd.org/D6018
show more ...
|