This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository linux.
from cd99b9eb4b70 Merge tag 'docs-6.6' of git://git.lwn.net/linux new 69b264df8a41 PCI/AER: Drop unused pci_disable_pcie_error_reporting() new 7ec4b34be423 PCI/AER: Unexport pci_enable_pcie_error_reporting() new 3e2a87a0cffe Merge branch 'pci/aer' new 5810ab218605 PCI: ibmphp: Make read-only arrays static new 6ab23de2759a Merge branch 'pci/hotplug' new f768c75d6158 PCI: Make quirk using inw() depend on HAS_IOPORT new 5da1b58868a6 PCI/sysfs: Make I/O resource depend on HAS_IOPORT new d4a0f52c962f Merge branch 'pci/ioport' new 5e70d0acf082 PCI: Add locking to RMW PCI Express Capability Register accessors new fb0171a4c01b PCI: Make link retraining use RMW accessors for changing LNKCTL new 5f75f96c6103 PCI: pciehp: Use RMW accessors for changing LNKCTL new e09060b3b6b4 PCI/ASPM: Use RMW accessors for changing LNKCTL new ce7d88110b9e drm/amdgpu: Use RMW accessors for changing LNKCTL new 7189576e8a82 drm/radeon: Use RMW accessors for changing LNKCTL new 30de872537bd net/mlx5: Use RMW accessors for changing LNKCTL new 6c1b6bdb34aa wifi: ath11k: Use RMW accessors for changing LNKCTL new f5a7ac118faf wifi: ath12k: Use RMW accessors for changing LNKCTL new f139492a09f1 wifi: ath10k: Use RMW accessors for changing LNKCTL new 7cd23f6c7252 PCI: Document the Capability accessor RMW improvements new da54556695b9 net/mlx5: Convert PCI error values to generic errnos new 294c1e4fa73f PCI: Simplify pcie_capability_clear_and_set_word() control flow new 8b524514e496 Merge branch 'pci/pcie-rmw' new 5694ba13b004 PCI/PM: Only read PCI_PM_CTRL register when available new 95cddeae54b0 Merge branch 'pci/pm' new d5af729dc207 PCI: Mark NVIDIA T4 GPUs to avoid bus reset new 9ad56b7c89d2 Merge branch 'pci/virtualization' new 04c1c3c4e62a PCI/VGA: Correct vga_str_to_iostate() io_state parameter type new 60b4925d1aea PCI/VGA: Correct vga_update_device_decodes() parameter type new b421364a905e PCI/VGA: Simplify vga_arbiter_notify_clients() new 4582db1d0a41 PCI/VGA: Simplify vga_client_register() new 0215845348fd PCI/VGA: Replace full MIT license text with SPDX identifier new cc64ca4b62f5 PCI/VGA: Fix typos new 93a3241d615e Merge branch 'pci/vga' new 5cd903bce9dd PCI/VPD: Add runtime power management to sysfs interface new d3fcd7360338 PCI: Fix runtime PM race with PME polling new 3c298b840c19 Merge branch 'pci/vpd' new d8650c0c2aa2 PCI: apple: Initialize pcie->nvecs before use new 98072e31aeee Merge branch 'pci/controller/apple' new 8eb8c2735306 PCI: brcmstb: Assert PERST# on BCM2711 new 6dac1507a654 PCI: brcmstb: Remove stale comment new 4b3f481c7af8 Merge branch 'pci/controller/brcmstb' new fc8b24c28bec PCI: dwc: Provide deinit callback for i.MX new e78bd50b4078 PCI: Add PCIE_PME_TO_L2_TIMEOUT_US L2 ready timeout value new 4774faf854f5 PCI: dwc: Implement generic suspend/resume functionality new 9fda4d09905d PCI: layerscape: Add power management support for ls1028a new f38176d62bce Merge branch 'pci/controller/dwc' new 551a60e1225e PCI: fu740: Set the number of MSI vectors new 9190819c89b9 Merge branch 'pci/controller/fu740' new 04bbe863241a PCI: hv: Fix a crash in hv_pci_restore_msi_msg() during hi [...] new 59a2b16dd5c3 Merge branch 'pci/controller/hv' new 8f1c517ccd37 PCI: iproc: Use of_property_read_bool() for boolean properties new d4218e2a0733 Merge branch 'pci/controller/iproc' new d28c0d84ca40 PCI: layerscape: Add support for link-down notification new 17cf8661ee0f PCI: layerscape: Add workaround for lost link capabilities [...] new aa5a239c5fcd Merge branch 'pci/controller/layerscape' new 6d473a5a2613 PCI: microchip: Correct the DED and SEC interrupt bit offsets new 2e245bc8a2ab PCI: microchip: Enable building driver as a module new 4d6bf4c49578 PCI: microchip: Align register, offset, and mask names wit [...] new d1d6a0c9e79c PCI: microchip: Enable event handlers to access bridge and [...] new 4f0b91247f78 PCI: microchip: Clean up initialisation of interrupts new 1abb722888fd PCI: microchip: Gather MSI information from hardware confi [...] new bac406c34fbc PCI: microchip: Re-partition code between probe() and init() new 26d749261862 Merge branch 'pci/controller/microchip' new b9cbc06049cb PCI: qcom-ep: Switch MHI bus master clock off during L1SS new 9169e03946b9 dt-bindings: PCI: qcom: Add sa8775p compatible new d60379d65d2b PCI: qcom: Add support for sa8775p SoC new 15d63a897f79 dt-bindings: PCI: qcom: Fix SDX65 compatible new fa8805ad67fa Merge branch 'pci/controller/qcom' new 8cd2b8ce48e5 PCI: qcom-ep: Pass alignment restriction to the EPF core new d9d9f26f1666 PCI: epf-mhi: Make use of the alignment restriction from EPF core new ff8d92038cf9 PCI: qcom-ep: Add eDMA support new 7b99aaaddabb PCI: epf-mhi: Add eDMA support new 8ab8a31645b8 PCI: epf-mhi: Add support for SM8450 new 127c66c3b95f PCI: epf-mhi: Use iATU for small transfers new 06eea7d18fe8 PCI: endpoint: Add kernel-doc for pci_epc_mem_init() API new e8ce465fd45c Merge branch 'pci/controller/qcom-edma' new 823de40c94d6 PCI: qcom-ep: Treat unknown IRQ events as an error new e590ad240ff0 dt-bindings: PCI: qcom: ep: Add interconnects path new 01794236666a PCI: qcom-ep: Add ICC bandwidth voting support new 2195c1636624 Merge branch 'pci/controller/qcom-ep' new cdb50033dd6d PCI: rockchip: Use 64-bit mask on MSI 64-bit PCI address new a7dfca1a6839 Merge branch 'pci/controller/rockchip' new ebfde1584d9f Revert "PCI: tegra194: Enable support for 256 Byte payload" new 5ffe43c027c2 Merge branch 'pci/controller/tegra194' new f73eedc90bf7 PCI: vmd: Disable bridge window for domain reset new 663544b5697e Merge branch 'pci/controller/vmd' new 1a8bf351ccde PCI: meson: Remove cast between incompatible function type new 7a6531696668 PCI: keembay: Remove cast between incompatible function type new ed3cac7c5ac6 PCI: microchip: Remove cast between incompatible function type new 6cef12635821 Merge branch 'pci/controller/remove-void-cast' new da1e3277a8fe PCI: rcar-gen2: Use devm_platform_get_and_ioremap_resource() new 88f29abd249a PCI: v3: Use devm_platform_get_and_ioremap_resource() new b1042a7caa02 PCI: xgene-msi: Use devm_platform_get_and_ioremap_resource() new 188f46cac267 PCI: imx6: Use devm_platform_get_and_ioremap_resource() new b7fa64ec6af1 Merge branch 'pci/controller/resources' new 846691f5483d PCI: switchtec: Use normal comment style new 0fb53e64705a PCI: switchtec: Add support for PCIe Gen5 devices new c3ed70f495a0 Merge branch 'pci/controller/switchtec' new 849846c41497 PCI: Reorder pci_dev fields to reduce holes new 091f9f7f3b81 PCI: Change pdev->rom_attr_enabled to single bit new c00f94ad9ab0 x86/PCI: Use struct_size() in pirq_convert_irt_table() new c925cfaf0992 PCI: Explicitly include correct DT includes new e3a3a097eaeb PCI/DOE: Fix destroy_work_on_stack() race new d332642a9821 PCI: apple: Use pci_dev_id() to simplify the code new f7f7c3d61556 PCI/AER: Use pci_dev_id() to simplify the code new 6f7dc3076717 PCI/IOV: Use pci_dev_id() to simplify the code new 0e8207f54cf5 PCI/P2PDMA: Use pci_dev_id() to simplify the code new 87382eaddeed PCI/sysfs: Move declarations to linux/pci.h new ea91512ded99 PCI: Remove unused function declarations new e8c81fc72232 PCI: mvebu: Remove unused busn member new ecfea5dfca14 PCI: Unexport pcie_port_bus_type new a49287d32d57 PCI: Remove unnecessary initializations new 62008578b73f PCI: Fix printk field formatting new 32e2a3f938f6 PCI: Use consistent put_user() pointer types new 95881c86c987 PCI/AER: Simplify AER_RECOVER_RING_SIZE definition new 3b59ca944687 PCI: Simplify pci_pio_to_address() new 1ec09529bd19 PCI: Simplify pci_dev_driver() new 2b4af4b3988a PCI: Fix pci_bus_resetable(), pci_slot_resetable() name typos new 86b4ad7d67b2 PCI: Fix typos in docs and comments new eb6723b40d17 PCI: Fix code formatting inconsistencies new 1856d1a036dc PCI: Tidy config space save/restore messages new 43cc31da9146 Merge branch 'pci/misc' new b6f6167ea8a4 Merge tag 'pci-v6.6-changes' of git://git.kernel.org/pub/s [...] new c60f93204330 vfio/pci: Update comment around group_fd get in vfio_pci_i [...] new 6e6c513fe1d8 vfio/pci: Move the existing hot reset logic to be a helper new eda175dfe248 iommufd: Reserve all negative IDs in the iommufd xarray new 86b0a96c2952 iommufd: Add iommufd_ctx_has_group() new 78d3df457ae5 iommufd: Add helper to retrieve iommufd_ctx and devid new af949759bad2 vfio: Mark cdev usage in vfio_device new a80e1de93275 vfio: Add helper to search vfio_device in a dev_set new 9062ff405b49 vfio/pci: Extend VFIO_DEVICE_GET_PCI_HOT_RESET_INFO for vf [...] new b56b7aabcf3c vfio/pci: Copy hot-reset device info to userspace in the d [...] new 71791b9246c7 vfio/pci: Allow passing zero-length fd array in VFIO_DEVIC [...] new b1a3b5c61d27 vfio: Allocate per device file structure new b1a59be8a2b6 vfio: Refine vfio file kAPIs for KVM new 34aeeecdb335 vfio: Accept vfio device file in the KVM facing kAPI new 2f99073a722b kvm/vfio: Prepare for accepting vfio device fd new dcc31ea60b42 kvm/vfio: Accept vfio device file from userspace new 05f37e1c03b6 vfio: Pass struct vfio_device_file * to vfio_device_open/close() new 82d93f580f0b vfio: Block device access via device fd until device is opened new 270bf4c019b9 vfio: Add cdev_device_open_cnt to vfio_group new 839e692fa4eb vfio: Make vfio_df_open() single open for device cdev path new 6086efe73498 vfio-iommufd: Move noiommu compat validation out of vfio_i [...] new 6f240ee677eb vfio-iommufd: Split bind/attach into two steps new 31014aef9e4c vfio: Record devid in vfio_device_file new 9048c7341c4d vfio-iommufd: Add detach_ioas support for physical VFIO devices new e23a6217f3bb iommufd/device: Add iommufd_access_detach() API new 8cfa71860233 vfio-iommufd: Add detach_ioas support for emulated VFIO devices new 291872a533a2 vfio: Move vfio_device_group_unregister() to be the first [...] new 38c24544e10a vfio: Move device_del() before waiting for the last vfio_d [...] new 8b6f173a4ce4 vfio: Add cdev for vfio_device new 5c6de3ea7376 vfio: Test kvm pointer in _vfio_device_get_kvm_safe() new 1c9dc07487cb iommufd: Add iommufd_ctx_from_fd() new ca9e45b41470 vfio: Avoid repeated user pointer cast in vfio_device_fops [...] new 5fcc26969a16 vfio: Add VFIO_DEVICE_BIND_IOMMUFD new b290a05fd858 vfio: Add VFIO_DEVICE_[AT|DE]TACH_IOMMUFD_PT new 5398be2564eb vfio: Move the IOMMU_CAP_CACHE_COHERENCY check in __vfio_r [...] new c1cce6d079b8 vfio: Compile vfio_group infrastructure optionally new 094671300fea docs: vfio: Add vfio device cdev description new 9e0f4f2918c2 kvm/vfio: ensure kvg instance stays around in kvm_vfio_gro [...] new 73e2f19da508 kvm/vfio: avoid bouncing the mutex when adding and deletin [...] new 9a4087fab303 vfio: Commonize combine_ranges for use in other VFIO drivers new 38fe3975b4c2 vfio/pds: Initial support for pds VFIO driver new b021d05e106e pds_core: Require callers of register/unregister to pass P [...] new 63f77a7161a2 vfio/pds: register with the pds_core PF new bb500dbe2ac6 vfio/pds: Add VFIO live migration support new f232836a9152 vfio/pds: Add support for dirty page tracking new 7dabb1bcd177 vfio/pds: Add support for firmware recovery new fc9da66103d3 vfio/pds: Add Kconfig and documentation new d7955ce40e10 vfio/cdx: Remove redundant initialization owner in vfio_cd [...] new 6c092088fad4 vfio/fsl-mc: Use module_fsl_mc_driver macro to simplify the code new cd24e2a60af6 vfio/type1: fix cap_migration information leak new a881b496941f vfio: align capability structures new 06d220f13b1f pds_core: Fix function header descriptions new 2d12d18f14d9 vfio/pds: fix return value in pds_vfio_get_lm_file() new 642265e22ecc vfio/pds: Send type for SUSPEND_STATUS command new ec0e2dc81072 Merge tag 'vfio-v6.6-rc1' of https://github.com/awilliam/l [...] new 41ac3c2a6be1 Merge branch 'v6.6/vfio/cdev' of https://github.com/awilli [...] new d525a5b8cf39 iommufd: Move isolated msi enforcement to iommufd_device_bind() new 3a3329a7f14a iommufd: Add iommufd_group new 91a2e17e243f iommufd: Replace the hwpt->devices list with iommufd_group new 8d0e2e9d93d2 iommu: Export iommu_get_resv_regions() new 34f327a985ff iommufd: Keep track of each device's reserved regions inst [...] new 269c5238c5b1 iommufd: Use the iommufd_group to avoid duplicate MSI setup new 1d149ab2e006 iommufd: Make sw_msi_start a group global new d03f1336fd91 iommufd: Move putting a hwpt to a helper function new 17bad52708b4 iommufd: Add enforced_cache_coherency to iommufd_hw_pageta [...] new 70eadc7fc7ef iommufd: Allow a hwpt to be aborted after allocation new 31422dff187b iommufd: Fix locking around hwpt allocation new ea2d6124b523 iommufd: Reorganize iommufd_device_attach into iommufd_dev [...] new addb665924f3 iommu: Introduce a new iommu_group_replace_domain() API new e88d4ec154a8 iommufd: Add iommufd_device_replace() new 83f7bc6fdfd2 iommufd: Make destroy_rwsem use a lock class per object type new fa1ffdb9e293 iommufd/selftest: Test iommufd_device_replace() new 7074d7bd67d4 iommufd: Add IOMMU_HWPT_ALLOC new 7a467e02b339 iommufd/selftest: Return the real idev id from selftest mo [...] new 6583c865dec5 iommufd/selftest: Add a selftest for IOMMU_HWPT_ALLOC new 89e07fd46809 vfio: Do not allow !ops->dma_unmap in vfio_pin/unpin_pages() new 5d5c85ff6246 iommufd: Allow passing in iopt_access_list_id to iopt_remo [...] new 9227da7816dd iommufd: Add iommufd_access_change_ioas(_id) helpers new 6129b59fcdf3 iommufd: Use iommufd_access_change_ioas in iommufd_access_ [...] new 70c16123d865 iommufd: Add iommufd_access_replace() API new c154660b6e26 iommufd/selftest: Add IOMMU_TEST_OP_ACCESS_REPLACE_IOAS coverage new c157fd886199 vfio: Support IO page table replacement new 23a1b46f15d5 iommufd/selftest: Make the mock iommu driver into a real driver new a35762dd14ad Merge tag 'v6.5-rc6' into iommufd for-next new 65aaca113402 iommufd: Remove iommufd_ref_to_users() new 92766e1b953d iommu: Move dev_iommu_ops() to private header new 60fedb262bbc iommu: Add new iommu op to get iommu hardware information new 55dd4023cead iommufd: Add IOMMU_GET_HW_INFO new af4fde93c319 iommufd/selftest: Add coverage for IOMMU_GET_HW_INFO ioctl new 55243393b06c iommu/vt-d: Implement hw_info for iommu capability query new eb501c2d96cf iommufd/selftest: Don't leak the platform device memory wh [...] new 4debf77169ee Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/ [...]
The 214 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: Documentation/PCI/pci-error-recovery.rst | 12 +- Documentation/PCI/pciebus-howto.rst | 14 +- .../devicetree/bindings/pci/qcom,pcie-ep.yaml | 27 +- .../devicetree/bindings/pci/qcom,pcie.yaml | 28 + Documentation/driver-api/vfio.rst | 147 +++- .../device_drivers/ethernet/amd/pds_vfio_pci.rst | 79 ++ .../networking/device_drivers/ethernet/index.rst | 1 + Documentation/virt/kvm/devices/vfio.rst | 47 +- MAINTAINERS | 7 + arch/alpha/include/asm/pci.h | 3 - arch/x86/pci/irq.c | 4 +- drivers/gpu/drm/amd/amdgpu/cik.c | 36 +- drivers/gpu/drm/amd/amdgpu/si.c | 36 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 1 + drivers/gpu/drm/radeon/cik.c | 36 +- drivers/gpu/drm/radeon/si.c | 37 +- drivers/iommu/intel/iommu.c | 19 + drivers/iommu/iommu-priv.h | 30 + drivers/iommu/iommu.c | 81 ++- drivers/iommu/iommufd/Kconfig | 4 +- drivers/iommu/iommufd/device.c | 801 ++++++++++++++++----- drivers/iommu/iommufd/hw_pagetable.c | 112 ++- drivers/iommu/iommufd/io_pagetable.c | 36 +- drivers/iommu/iommufd/iommufd_private.h | 86 ++- drivers/iommu/iommufd/iommufd_test.h | 19 + drivers/iommu/iommufd/main.c | 61 +- drivers/iommu/iommufd/selftest.c | 213 ++++-- drivers/iommu/iommufd/vfio_compat.c | 2 + drivers/net/ethernet/amd/pds_core/auxbus.c | 24 +- drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c | 21 +- drivers/net/wireless/ath/ath10k/pci.c | 9 +- drivers/net/wireless/ath/ath11k/pci.c | 10 +- drivers/net/wireless/ath/ath12k/pci.c | 10 +- drivers/pci/access.c | 40 +- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/cadence/pci-j721e.c | 2 +- drivers/pci/controller/cadence/pcie-cadence-plat.c | 3 +- drivers/pci/controller/cadence/pcie-cadence.c | 1 + drivers/pci/controller/cadence/pcie-cadence.h | 2 +- drivers/pci/controller/dwc/pci-dra7xx.c | 2 +- drivers/pci/controller/dwc/pci-exynos.c | 2 +- drivers/pci/controller/dwc/pci-imx6.c | 6 +- drivers/pci/controller/dwc/pci-keystone.c | 1 - drivers/pci/controller/dwc/pci-layerscape-ep.c | 20 + drivers/pci/controller/dwc/pci-layerscape.c | 140 +++- drivers/pci/controller/dwc/pci-meson.c | 13 +- drivers/pci/controller/dwc/pcie-artpec6.c | 2 +- drivers/pci/controller/dwc/pcie-designware-host.c | 71 ++ drivers/pci/controller/dwc/pcie-designware-plat.c | 2 +- drivers/pci/controller/dwc/pcie-designware.c | 2 +- drivers/pci/controller/dwc/pcie-designware.h | 28 + drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +- drivers/pci/controller/dwc/pcie-fu740.c | 1 + drivers/pci/controller/dwc/pcie-intel-gw.c | 2 + drivers/pci/controller/dwc/pcie-keembay.c | 11 +- drivers/pci/controller/dwc/pcie-kirin.c | 3 +- drivers/pci/controller/dwc/pcie-qcom-ep.c | 81 ++- drivers/pci/controller/dwc/pcie-qcom.c | 3 +- drivers/pci/controller/dwc/pcie-tegra194.c | 11 - drivers/pci/controller/dwc/pcie-uniphier-ep.c | 2 +- .../pci/controller/mobiveil/pcie-mobiveil-host.c | 3 - drivers/pci/controller/pci-ftpci100.c | 3 +- drivers/pci/controller/pci-host-common.c | 2 +- drivers/pci/controller/pci-hyperv.c | 3 + drivers/pci/controller/pci-ixp4xx.c | 3 +- drivers/pci/controller/pci-loongson.c | 2 +- drivers/pci/controller/pci-mvebu.c | 1 - drivers/pci/controller/pci-rcar-gen2.c | 3 +- drivers/pci/controller/pci-v3-semi.c | 6 +- drivers/pci/controller/pci-xgene-msi.c | 3 +- drivers/pci/controller/pcie-altera.c | 5 +- drivers/pci/controller/pcie-apple.c | 10 +- drivers/pci/controller/pcie-brcmstb.c | 6 +- drivers/pci/controller/pcie-iproc-msi.c | 5 +- drivers/pci/controller/pcie-microchip-host.c | 403 ++++++----- drivers/pci/controller/pcie-rockchip-host.c | 4 +- drivers/pci/controller/pcie-rockchip.c | 1 + drivers/pci/controller/pcie-rockchip.h | 6 +- drivers/pci/controller/vmd.c | 19 +- drivers/pci/doe.c | 2 +- drivers/pci/endpoint/functions/pci-epf-mhi.c | 286 +++++++- drivers/pci/endpoint/functions/pci-epf-vntb.c | 32 +- drivers/pci/endpoint/pci-epc-core.c | 1 - drivers/pci/endpoint/pci-epc-mem.c | 10 + drivers/pci/hotplug/acpiphp.h | 1 - drivers/pci/hotplug/cpci_hotplug.h | 2 - drivers/pci/hotplug/ibmphp.h | 2 - drivers/pci/hotplug/ibmphp_pci.c | 10 +- drivers/pci/hotplug/pciehp_hpc.c | 12 +- drivers/pci/iov.c | 3 +- drivers/pci/msi/irqdomain.c | 4 +- drivers/pci/p2pdma.c | 5 +- drivers/pci/pci-driver.c | 18 +- drivers/pci/pci-sysfs.c | 4 + drivers/pci/pci.c | 72 +- drivers/pci/pci.h | 41 +- drivers/pci/pcie/aer.c | 22 +- drivers/pci/pcie/aspm.c | 30 +- drivers/pci/probe.c | 4 +- drivers/pci/quirks.c | 48 +- drivers/pci/setup-bus.c | 2 +- drivers/pci/setup-res.c | 4 +- drivers/pci/switch/switchtec.c | 158 ++-- drivers/pci/syscall.c | 12 +- drivers/pci/vgaarb.c | 358 ++++----- drivers/pci/vpd.c | 34 +- drivers/s390/cio/vfio_ccw_ops.c | 1 + drivers/s390/crypto/vfio_ap_ops.c | 1 + drivers/vfio/Kconfig | 27 + drivers/vfio/Makefile | 3 +- drivers/vfio/cdx/main.c | 1 - drivers/vfio/device_cdev.c | 228 ++++++ drivers/vfio/fsl-mc/vfio_fsl_mc.c | 15 +- drivers/vfio/group.c | 173 +++-- drivers/vfio/iommufd.c | 145 +++- drivers/vfio/pci/Kconfig | 2 + drivers/vfio/pci/Makefile | 2 + drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 2 + drivers/vfio/pci/mlx5/cmd.c | 48 +- drivers/vfio/pci/mlx5/main.c | 1 + drivers/vfio/pci/pds/Kconfig | 19 + drivers/vfio/pci/pds/Makefile | 11 + drivers/vfio/pci/pds/cmds.c | 510 +++++++++++++ drivers/vfio/pci/pds/cmds.h | 25 + drivers/vfio/pci/pds/dirty.c | 564 +++++++++++++++ drivers/vfio/pci/pds/dirty.h | 39 + drivers/vfio/pci/pds/lm.c | 434 +++++++++++ drivers/vfio/pci/pds/lm.h | 41 ++ drivers/vfio/pci/pds/pci_drv.c | 209 ++++++ drivers/vfio/pci/pds/pci_drv.h | 9 + drivers/vfio/pci/pds/vfio_dev.c | 227 ++++++ drivers/vfio/pci/pds/vfio_dev.h | 39 + drivers/vfio/pci/vfio_pci.c | 1 + drivers/vfio/pci/vfio_pci_core.c | 261 ++++--- drivers/vfio/platform/vfio_amba.c | 1 + drivers/vfio/platform/vfio_platform.c | 1 + drivers/vfio/vfio.h | 218 +++++- drivers/vfio/vfio_iommu_type1.c | 13 +- drivers/vfio/vfio_main.c | 311 +++++++- include/linux/aer.h | 11 - include/linux/iommu.h | 16 +- include/linux/iommufd.h | 9 + include/linux/pci.h | 46 +- include/linux/pds/pds_adminq.h | 375 ++++++++++ include/linux/pds/pds_common.h | 9 +- include/linux/switchtec.h | 1 + include/linux/vfio.h | 69 +- include/linux/vgaarb.h | 27 +- include/uapi/linux/iommufd.h | 97 +++ include/uapi/linux/kvm.h | 13 +- include/uapi/linux/vfio.h | 150 +++- samples/vfio-mdev/mbochs.c | 1 + samples/vfio-mdev/mdpy.c | 1 + samples/vfio-mdev/mtty.c | 1 + tools/testing/selftests/iommu/iommufd.c | 130 +++- tools/testing/selftests/iommu/iommufd_fail_nth.c | 71 +- tools/testing/selftests/iommu/iommufd_utils.h | 144 +++- virt/kvm/vfio.c | 161 ++--- 158 files changed, 7431 insertions(+), 1656 deletions(-) create mode 100644 Documentation/networking/device_drivers/ethernet/amd/pds_vfio_pci.rst create mode 100644 drivers/iommu/iommu-priv.h create mode 100644 drivers/vfio/device_cdev.c create mode 100644 drivers/vfio/pci/pds/Kconfig create mode 100644 drivers/vfio/pci/pds/Makefile create mode 100644 drivers/vfio/pci/pds/cmds.c create mode 100644 drivers/vfio/pci/pds/cmds.h create mode 100644 drivers/vfio/pci/pds/dirty.c create mode 100644 drivers/vfio/pci/pds/dirty.h create mode 100644 drivers/vfio/pci/pds/lm.c create mode 100644 drivers/vfio/pci/pds/lm.h create mode 100644 drivers/vfio/pci/pds/pci_drv.c create mode 100644 drivers/vfio/pci/pds/pci_drv.h create mode 100644 drivers/vfio/pci/pds/vfio_dev.c create mode 100644 drivers/vfio/pci/pds/vfio_dev.h