/Linux-v6.1/drivers/pci/msi/ |
D | irqdomain.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCI Message Signaled Interrupt (MSI) - irqdomain support 13 struct irq_domain *domain; in pci_msi_setup_msi_irqs() local 15 domain = dev_get_msi_domain(&dev->dev); in pci_msi_setup_msi_irqs() 16 if (domain && irq_domain_is_hierarchy(domain)) in pci_msi_setup_msi_irqs() 17 return msi_domain_alloc_irqs_descs_locked(domain, &dev->dev, nvec); in pci_msi_setup_msi_irqs() 24 struct irq_domain *domain; in pci_msi_teardown_msi_irqs() local 26 domain = dev_get_msi_domain(&dev->dev); in pci_msi_teardown_msi_irqs() 27 if (domain && irq_domain_is_hierarchy(domain)) in pci_msi_teardown_msi_irqs() 28 msi_domain_free_irqs_descs_locked(domain, &dev->dev); in pci_msi_teardown_msi_irqs() [all …]
|
/Linux-v6.1/include/linux/ |
D | msi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * - Interrupt core code 9 * - PCI/MSI core code 10 * - MSI interrupt domain implementations 11 * - IOMMU, low level VFIO, NTB and other justified exceptions 45 * msi_msg - Representation of a MSI message 90 * pci_msi_desc - PCI/MSI specific MSI descriptor data 92 * @msi_mask: [PCI MSI] MSI cached mask bits 93 * @msix_ctrl: [PCI MSI-X] MSI-X cached per vector control bits 94 * @is_msix: [PCI MSI/X] True if MSI-X [all …]
|
/Linux-v6.1/drivers/pci/ |
D | search.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCI searching functions 5 * Copyright (C) 1993 -- 1997 Drew Eckhardt, Frederic Potter, 6 * David Mosberger-Tang 7 * Copyright (C) 1997 -- 2000 Martin Mares <mj@ucw.cz> 8 * Copyright (C) 2003 -- 2004 Greg Kroah-Hartman <greg@kroah.com> 11 #include <linux/pci.h> 15 #include "pci.h" 20 * pci_for_each_dma_alias - Iterate over DMA aliases for a device 37 * requester is on another PCI bus. in pci_for_each_dma_alias() [all …]
|
D | xen-pcifront.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Xen PCI Frontend 15 #include <linux/pci.h> 18 #include <asm/xen/pci.h> 28 #include <asm/xen/swiotlb-xen.h> 30 #define INVALID_EVTCHN (-1) 65 return sd->pdev; in pcifront_get_pdev() 69 unsigned int domain, unsigned int bus, in pcifront_init_sd() argument 73 sd->sd.node = first_online_node; in pcifront_init_sd() 74 sd->sd.domain = domain; in pcifront_init_sd() [all …]
|
D | of.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * PCI <-> OF mapping helpers 7 #define pr_fmt(fmt) "PCI: OF: " fmt 11 #include <linux/pci.h> 16 #include "pci.h" 21 if (!dev->bus->dev.of_node) in pci_set_of_node() 23 dev->dev.of_node = of_pci_find_child_device(dev->bus->dev.of_node, in pci_set_of_node() 24 dev->devfn); in pci_set_of_node() 25 if (dev->dev.of_node) in pci_set_of_node() 26 dev->dev.fwnode = &dev->dev.of_node->fwnode; in pci_set_of_node() [all …]
|
/Linux-v6.1/drivers/iommu/ |
D | fsl_pamu_domain.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #define pr_fmt(fmt) "fsl-pamu-domain: %s: " fmt, __func__ 41 return -ENOMEM; in iommu_init_mempool() 52 return -ENOMEM; in iommu_init_mempool() 96 ret = pamu_config_ppaace(liodn, omi_index, dma_domain->stash_id, 0); in pamu_set_liodn() 99 ret = pamu_config_ppaace(liodn, ~(u32)0, dma_domain->stash_id, in pamu_set_liodn() 114 list_del(&info->link); in remove_device_ref() 116 pamu_disable_liodn(info->liodn); in remove_device_ref() 119 dev_iommu_priv_set(info->dev, NULL); in remove_device_ref() 129 spin_lock_irqsave(&dma_domain->domain_lock, flags); in detach_device() [all …]
|
/Linux-v6.1/drivers/xen/xen-pciback/ |
D | xenbus.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCI Backend Xenbus Setup - handles setup with frontend and xend 17 #include <xen/pci.h> 20 #define INVALID_EVTCHN_IRQ (-1) 25 "Option to specify how to export PCI topology to guest:\n"\ 26 " 0 - (default) Hide the true PCI topology and makes the frontend\n"\ 27 " there is a single PCI bus with only the exported devices on it.\n"\ 28 " For example, a device at 03:05.0 will be re-assigned to 00:00.0\n"\ 29 " while second device at 02:1a.1 will be re-assigned to 00:01.1.\n"\ 30 " 1 - Passthrough provides a real view of the PCI topology to the\n"\ [all …]
|
D | pci_stub.c | 2 * PCI Stub Driver - Grabs devices in backend to be exported later 17 #include <linux/pci.h> 22 #include <xen/pci.h> 42 int domain; member 55 struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */ 74 dev_dbg(&dev->dev, "pcistub_device_alloc\n"); in pcistub_device_alloc() 80 psdev->dev = pci_dev_get(dev); in pcistub_device_alloc() 81 if (!psdev->dev) { in pcistub_device_alloc() 86 kref_init(&psdev->kref); in pcistub_device_alloc() 87 spin_lock_init(&psdev->lock); in pcistub_device_alloc() [all …]
|
D | pciback.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * PCI Backend Common Data Structures & Function Declarations 10 #include <linux/pci.h> 20 #define DRV_NAME "xen-pciback" 55 unsigned int ack_intr:1; /* .. and ACK-ing */ 57 unsigned int irq; /* Saved in case device transitions to MSI/MSI-X */ 58 char irq_name[]; /* xen-pcibk[000:04:00.0] */ 66 /* Get/Put PCI Devices that are hidden from the PCI Backend Domain */ 68 int domain, int bus, 82 /* Access a virtual configuration space for a PCI device */ [all …]
|
/Linux-v6.1/Documentation/s390/ |
D | pci.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 S/390 PCI 8 - Pierre Morel 17 ----------------------- 21 Do not use PCI Mapped I/O (MIO) instructions. 25 Ignore the RID field and force use of one PCI domain per PCI function. 28 --------------- 36 - /sys/kernel/debug/s390dbf/pci_msg/sprintf 37 Holds messages from the processing of PCI events, like machine check handling 50 * /sys/bus/pci/slots/XXXXXXXX [all …]
|
/Linux-v6.1/drivers/xen/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 9 The balloon driver allows the Xen domain to request more memory from 10 the system to expand the domain's memory allocation, or alternatively 28 1) target domain: ensure that memory auto online policy is in 32 2) control domain: xl mem-max <target-domain> <maxmem> 35 3) control domain: xl mem-set <target-domain> <memory> 40 target domain. 43 the newly added memory can be manually onlined in the target domain 51 …SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /… 107 may pass arbitrary information to the initial domain. [all …]
|
/Linux-v6.1/kernel/irq/ |
D | msi.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * PCI compatible and non PCI compatible devices. 18 #include <linux/pci.h> 25 * msi_alloc_desc - Allocate an initialized msi_desc 43 desc->dev = dev; in msi_alloc_desc() 44 desc->nvec_used = nvec; in msi_alloc_desc() 46 desc->affinity = kmemdup(affinity, nvec * sizeof(*desc->affinity), GFP_KERNEL); in msi_alloc_desc() 47 if (!desc->affinity) { in msi_alloc_desc() 57 kfree(desc->affinity); in msi_free_desc() 65 desc->msi_index = index; in msi_insert_desc() [all …]
|
/Linux-v6.1/arch/x86/pci/ |
D | acpi.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/pci.h> 8 #include <linux/pci-acpi.h> 40 printk(KERN_INFO "PCI: %s detected: ignoring ACPI _SEG\n", id->ident); in set_ignore_seg() 47 printk(KERN_INFO "PCI: %s detected: not clipping E820 regions from _CRS\n", in set_no_e820() 48 id->ident); in set_no_e820() 67 .ident = "ASRock ALiveSATA2-GLAN", 69 DMI_MATCH(DMI_PRODUCT_NAME, "ALiveSATA2-GLAN"), 76 .ident = "ASUS M2V-MX SE", 79 DMI_MATCH(DMI_BOARD_NAME, "M2V-MX SE"), [all …]
|
D | common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Low-Level PCI Support for PC 5 * (c) 1999--2000 Martin Mares <mj@ucw.cz> 9 #include <linux/pci.h> 10 #include <linux/pci-acpi.h> 35 int pcibios_last_bus = -1; 40 int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn, in raw_pci_read() argument 43 if (domain == 0 && reg < 256 && raw_pci_ops) in raw_pci_read() 44 return raw_pci_ops->read(domain, bus, devfn, reg, len, val); in raw_pci_read() 46 return raw_pci_ext_ops->read(domain, bus, devfn, reg, len, val); in raw_pci_read() [all …]
|
D | xen.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Xen PCI - handle PCI (INTx) and MSI infrastructure calls for PV, HVM and 4 * initial domain support. We also handle the DSDT _PRT callbacks for GSI's 5 * used in HVM and initial domain mode (PV does not parse ACPI, so it has no 7 * 0xcf8 PCI configuration read/write. 15 #include <linux/pci.h> 26 #include <xen/pci.h> 27 #include <asm/xen/pci.h> 42 dev_warn(&dev->dev, "Xen PCI: failed to read interrupt line: %d\n", in xen_pcifront_enable_irq() 46 /* In PV DomU the Xen PCI backend puts the PIRQ in the interrupt line.*/ in xen_pcifront_enable_irq() [all …]
|
/Linux-v6.1/arch/s390/pci/ |
D | pci_bus.c | 1 // SPDX-License-Identifier: GPL-2.0 20 #include <linux/pci.h> 33 /* zpci_bus_prepare_device - Prepare a zPCI function for scanning 36 * The PCI resources for the function are set up and added to its zbus and the 38 * a PCI bus created. If an error occurs the zPCI function is not enabled. 59 if (!zdev->has_resources) { in zpci_bus_prepare_device() 60 zpci_setup_bus_resources(zdev, &zdev->zbus->resources); in zpci_bus_prepare_device() 61 resource_list_for_each_entry_safe(window, n, &zdev->zbus->resources) { in zpci_bus_prepare_device() 62 res = window->res; in zpci_bus_prepare_device() 63 pci_bus_add_resource(zdev->zbus->bus, res, 0); in zpci_bus_prepare_device() [all …]
|
/Linux-v6.1/drivers/net/ethernet/sun/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 9 depends on SUN3 || SBUS || PCI || SUN_LDOMS 22 depends on (SBUS || PCI) 27 both PCI and Sbus devices. This driver also supports the "qfe" quad 28 100baseT device available in both PCI and Sbus configurations. 58 depends on PCI 63 <http://docs.oracle.com/cd/E19455-01/806-3985-10/806-3985-10.pdf>. 67 depends on PCI 71 <http://docs.oracle.com/cd/E19113-01/giga.ether.pci/817-4341-10/817-4341-10.pdf>. 94 This driver adds a network interface for every vsw-port node [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/pci/ |
D | pci.txt | 1 PCI bus bridges have standardized Device Tree bindings: 3 PCI Bus Binding to: IEEE Std 1275-1994 4 https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf 9 https://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf 14 - linux,pci-domain: 15 If present this property assigns a fixed PCI domain number to a host bridge, 18 host bridges in the system, otherwise potentially conflicting domain numbers 19 may be assigned to root buses behind different host bridges. The domain 21 - max-link-speed: 22 If present this property specifies PCI gen for link capability. Host [all …]
|
D | mediatek-pcie.txt | 4 - compatible: Should contain one of the following strings: 5 "mediatek,mt2701-pcie" 6 "mediatek,mt2712-pcie" 7 "mediatek,mt7622-pcie" 8 "mediatek,mt7623-pcie" 9 "mediatek,mt7629-pcie" 10 "airoha,en7523-pcie" 11 - device_type: Must be "pci" 12 - reg: Base addresses and lengths of the root ports. 13 - reg-names: Names of the above areas to use during resource lookup. [all …]
|
/Linux-v6.1/tools/power/cpupower/utils/helpers/ |
D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * PCI access helper function depending on libpci 14 * domain: domain 20 * Pass -1 for one of the six above to match any 24 * to access the PCI config space of matching pci devices 26 struct pci_dev *pci_acc_init(struct pci_access **pacc, int domain, int bus, in pci_acc_init() argument 37 filter_nb_link.domain = domain; in pci_acc_init() 47 for (device = (*pacc)->devices; device; device = device->next) { in pci_acc_init() 55 /* Typically one wants to get a specific slot(device)/func of the root domain 60 return pci_acc_init(pacc, 0, 0, slot, func, -1, -1); in pci_slot_func_init()
|
/Linux-v6.1/Documentation/ABI/testing/ |
D | sysfs-devices-mapping | 9 For example, on 4-die Xeon platform with up to 6 IIO stacks per 14 -r--r--r-- /sys/devices/uncore_iio_0/die0 15 -r--r--r-- /sys/devices/uncore_iio_0/die1 16 -r--r--r-- /sys/devices/uncore_iio_0/die2 17 -r--r--r-- /sys/devices/uncore_iio_0/die3 31 IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 32 IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 33 IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 34 IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
|
/Linux-v6.1/Documentation/translations/zh_CN/PCI/ |
D | pci-iov-howto.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 .. include:: ../disclaimer-zh_CN.rst 5 :Original: Documentation/PCI/pci-iov-howto.rst 15 .. _cn_pci-iov-howto: 18 PCI Express I/O 虚拟化指南 22 :作者: - Yu Zhao <yu.zhao@intel.com> 23 - Donald Dutile <ddutile@redhat.com> 28 什么是SR-IOV 29 ------------ 31 单根I/O虚拟化(SR-IOV)是一种PCI Express扩展功能,它使一个物理设备显示为多个 [all …]
|
/Linux-v6.1/drivers/irqchip/ |
D | irq-gic-v3-its-pci-msi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2013-2015 ARM Limited, All Rights Reserved. 8 #include <linux/pci.h> 27 .name = "ITS-MSI", 53 static int its_pci_msi_prepare(struct irq_domain *domain, struct device *dev, in its_pci_msi_prepare() argument 61 return -EINVAL; in its_pci_msi_prepare() 63 msi_info = msi_get_domain_info(domain->parent); in its_pci_msi_prepare() 74 if (alias_dev->subordinate) in its_pci_msi_prepare() 75 pci_walk_bus(alias_dev->subordinate, in its_pci_msi_prepare() 77 info->flags |= MSI_ALLOC_FLAGS_PROXY_DEVICE; in its_pci_msi_prepare() [all …]
|
/Linux-v6.1/arch/mips/pci/ |
D | pci-xtalk-bridge.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 1999, 2000, 04 Ralf Baechle (ralf@linux-mips.org) 9 #include <linux/pci.h> 11 #include <linux/dma-direct.h> 13 #include <linux/platform_data/xtalk-bridge.h> 14 #include <linux/nvmem-consumer.h> 18 #include <asm/pci/bridge.h> 27 * Common phys<->dma mapping for platforms using pci xtalk bridge 32 struct bridge_controller *bc = BRIDGE_CONTROLLER(pdev->bus); in phys_to_dma() 34 return bc->baddr + paddr; in phys_to_dma() [all …]
|
/Linux-v6.1/drivers/scsi/elx/libefc/ |
D | efc_cmds.c | 1 // SPDX-License-Identifier: GPL-2.0 15 struct efc *efc = nport->efc; in efc_nport_free_resources() 18 nport->attached = false; in efc_nport_free_resources() 21 if (nport->dma.virt) { in efc_nport_free_resources() 22 dma_free_coherent(&efc->pci->dev, nport->dma.size, in efc_nport_free_resources() 23 nport->dma.virt, nport->dma.phys); in efc_nport_free_resources() 24 memset(&nport->dma, 0, sizeof(struct efc_dma)); in efc_nport_free_resources() 28 sli_resource_free(efc->sli, SLI4_RSRC_VPI, nport->indicator); in efc_nport_free_resources() 36 struct efc *efc = nport->efc; in efc_nport_get_mbox_status() 40 if (status || le16_to_cpu(hdr->status)) { in efc_nport_get_mbox_status() [all …]
|