/Linux-v5.10/include/linux/ |
D | msi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 33 * platform_msi_desc - Platform device specific msi descriptor data 43 * fsl_mc_msi_desc - FSL-MC device specific msi descriptor data 51 * ti_sci_inta_msi_desc - TISCI based INTA specific msi descriptor data 59 * struct msi_desc - Descriptor structure for MSI based interrupts 71 * @masked: [PCI MSI/X] Mask bits 72 * @is_msix: [PCI MSI/X] True if MSI-X 73 * @multiple: [PCI MSI/X] log2 num of messages allocated 74 * @multi_cap: [PCI MSI/X] log2 num of messages supported 75 * @maskbit: [PCI MSI/X] Mask-Pending bit supported? [all …]
|
/Linux-v5.10/drivers/pci/ |
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 | 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 | msi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCI Message Signaled Interrupt (MSI) 5 * Copyright (C) 2003-2004 Intel 16 #include <linux/pci.h> 27 #include "pci.h" 37 struct irq_domain *domain; in pci_msi_setup_msi_irqs() local 39 domain = dev_get_msi_domain(&dev->dev); in pci_msi_setup_msi_irqs() 40 if (domain && irq_domain_is_hierarchy(domain)) in pci_msi_setup_msi_irqs() 41 return msi_domain_alloc_irqs(domain, &dev->dev, nvec); in pci_msi_setup_msi_irqs() 48 struct irq_domain *domain; in pci_msi_teardown_msi_irqs() local [all …]
|
/Linux-v5.10/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-v5.10/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 <asm/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 <asm/xen/pci.h> 41 int domain; member 54 struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */ 73 dev_dbg(&dev->dev, "pcistub_device_alloc\n"); in pcistub_device_alloc() 79 psdev->dev = pci_dev_get(dev); in pcistub_device_alloc() 80 if (!psdev->dev) { in pcistub_device_alloc() 85 kref_init(&psdev->kref); in pcistub_device_alloc() 86 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, 77 /* Access a virtual configuration space for a PCI device */ [all …]
|
/Linux-v5.10/Documentation/networking/ |
D | net_failover.rst | 1 .. SPDX-License-Identifier: GPL-2.0 19 'pci' device. The user accesses the network interface via 'failover' netdev. 28 virtio-net accelerated datapath: STANDBY mode 31 net_failover enables hypervisor controlled accelerated datapath to virtio-net 35 feature on the virtio-net interface and assign the same MAC address to both 36 virtio-net and VF interfaces. 48 <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> 53 <address type='pci' domain='0x0000' bus='0x42' slot='0x02' function='0x5'/> 55 <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> 76 Live Migration of a VM with SR-IOV VF & virtio-net in STANDBY mode [all …]
|
/Linux-v5.10/arch/x86/pci/ |
D | acpi.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/pci.h> 8 #include <linux/pci-acpi.h> 39 printk(KERN_INFO "PCI: %s detected: ignoring ACPI _SEG\n", id->ident); in set_ignore_seg() 58 .ident = "ASRock ALiveSATA2-GLAN", 60 DMI_MATCH(DMI_PRODUCT_NAME, "ALiveSATA2-GLAN"), 67 .ident = "ASUS M2V-MX SE", 70 DMI_MATCH(DMI_BOARD_NAME, "M2V-MX SE"), 77 .ident = "MSI MS-7253", 79 DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), [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 <asm/xen/pci.h> 41 dev_warn(&dev->dev, "Xen PCI: failed to read interrupt line: %d\n", in xen_pcifront_enable_irq() 45 /* In PV DomU the Xen PCI backend puts the PIRQ in the interrupt line.*/ in xen_pcifront_enable_irq() 53 dev_warn(&dev->dev, "Xen PCI: failed to bind GSI%d (PIRQ%d) to IRQ: %d\n", in xen_pcifront_enable_irq() [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 …]
|
/Linux-v5.10/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-v5.10/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__ 40 return -ENOMEM; in iommu_init_mempool() 51 return -ENOMEM; in iommu_init_mempool() 59 u32 win_cnt = dma_domain->win_cnt; in get_phys_addr() 60 struct dma_window *win_ptr = &dma_domain->win_arr[0]; in get_phys_addr() 63 geom = &dma_domain->iommu_domain.geometry; in get_phys_addr() 65 if (!win_cnt || !dma_domain->geom_size) { in get_phys_addr() 66 pr_debug("Number of windows/geometry not configured for the domain\n"); in get_phys_addr() 75 subwin_size = dma_domain->geom_size >> ilog2(win_cnt); in get_phys_addr() [all …]
|
D | s390-iommu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * IOMMU API for s390 PCI devices 9 #include <linux/pci.h> 11 #include <linux/iommu-helper.h> 25 struct iommu_domain domain; member 39 return container_of(dom, struct s390_domain, domain); in to_s390_domain() 65 s390_domain->dma_table = dma_alloc_cpu_table(); in s390_domain_alloc() 66 if (!s390_domain->dma_table) { in s390_domain_alloc() 71 spin_lock_init(&s390_domain->dma_table_lock); in s390_domain_alloc() 72 spin_lock_init(&s390_domain->list_lock); in s390_domain_alloc() [all …]
|
/Linux-v5.10/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>. 93 This driver adds a network interface for every vsw-port node [all …]
|
/Linux-v5.10/kernel/irq/ |
D | msi.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * PCI compatible and non PCI compatible devices. 21 * alloc_msi_entry - Allocate an initialize msi_entry 38 INIT_LIST_HEAD(&desc->list); in alloc_msi_entry() 39 desc->dev = dev; in alloc_msi_entry() 40 desc->nvec_used = nvec; in alloc_msi_entry() 42 desc->affinity = kmemdup(affinity, in alloc_msi_entry() 43 nvec * sizeof(*desc->affinity), GFP_KERNEL); in alloc_msi_entry() 44 if (!desc->affinity) { in alloc_msi_entry() 55 kfree(entry->affinity); in free_msi_entry() [all …]
|
/Linux-v5.10/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 | brcm,iproc-pcie.txt | 4 - compatible: 5 "brcm,iproc-pcie" for the first generation of PAXB based controller, 7 "brcm,iproc-pcie-paxb-v2" for the second generation of PAXB-based 9 "brcm,iproc-pcie-paxc" for the first generation of PAXC based 11 "brcm,iproc-pcie-paxc-v2" for the second generation of PAXC based 13 PAXB-based root complex is used for external endpoint devices. PAXC-based 15 - reg: base address and length of the PCIe controller I/O register space 16 - #interrupt-cells: set to <1> 17 - interrupt-map-mask and interrupt-map, standard PCI properties to define the 19 - linux,pci-domain: PCI domain ID. Should be unique for each host controller [all …]
|
/Linux-v5.10/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-v5.10/arch/x86/kernel/apic/ |
D | msi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/pci.h> 28 msg->address_hi = MSI_ADDR_BASE_HI; in __irq_msi_compose_msg() 31 msg->address_hi |= MSI_ADDR_EXT_DEST_ID(cfg->dest_apicid); in __irq_msi_compose_msg() 33 msg->address_lo = in __irq_msi_compose_msg() 35 ((apic->irq_dest_mode == 0) ? in __irq_msi_compose_msg() 39 MSI_ADDR_DEST_ID(cfg->dest_apicid); in __irq_msi_compose_msg() 41 msg->data = in __irq_msi_compose_msg() 45 MSI_DATA_VECTOR(cfg->vector); in __irq_msi_compose_msg() 58 irq_data_get_irq_chip(irqd)->irq_write_msi_msg(irqd, msg); in irq_msi_update_msg() [all …]
|
/Linux-v5.10/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-v5.10/arch/x86/include/asm/ |
D | pci.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 int domain; /* PCI domain */ member 25 void *fwnode; /* IRQ domain for MSI assignment */ 28 struct pci_dev *vmd_dev; /* VMD Device if in Intel VMD domain */ 38 return bus->sysdata; in to_pci_sysdata() 46 return to_pci_sysdata(bus)->domain; in pci_domain_nr() 58 return to_pci_sysdata(bus)->fwnode; in _pci_root_bus_fwnode() 67 return to_pci_sysdata(bus)->vmd_dev != NULL; in is_vmd() 74 already-configured bus numbers - to be used for buggy BIOSes 75 or architectures with incomplete PCI setup by the loader */ [all …]
|
/Linux-v5.10/drivers/pci/controller/dwc/ |
D | pcie-designware-host.c | 1 // SPDX-License-Identifier: GPL-2.0 19 #include "../../pci.h" 20 #include "pcie-designware.h" 43 .name = "PCI-MSI", 62 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_handle_msi_irq() local 64 num_ctrls = pp->num_vectors / MAX_MSI_IRQS_PER_CTRL; in dw_handle_msi_irq() 67 status = dw_pcie_readl_dbi(pci, PCIE_MSI_INTR0_STATUS + in dw_handle_msi_irq() 77 irq = irq_find_mapping(pp->irq_domain, in dw_handle_msi_irq() 105 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pci_setup_msi_msg() local 108 msi_target = (u64)pp->msi_data; in dw_pci_setup_msi_msg() [all …]
|
/Linux-v5.10/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", 54 static int its_pci_msi_prepare(struct irq_domain *domain, struct device *dev, in its_pci_msi_prepare() argument 62 return -EINVAL; in its_pci_msi_prepare() 64 msi_info = msi_get_domain_info(domain->parent); in its_pci_msi_prepare() 72 if (alias_dev != pdev && alias_dev->subordinate) in its_pci_msi_prepare() 73 pci_walk_bus(alias_dev->subordinate, its_pci_msi_vec_count, in its_pci_msi_prepare() 77 info->scratchpad[0].ul = pci_msi_domain_get_msi_rid(domain, pdev); in its_pci_msi_prepare() [all …]
|