/linux-6.14.4/drivers/pci/ |
D | ecam.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/pci-ecam.h> 15 * On 64-bit systems, we do a single ioremap for the whole config space 16 * since we have enough virtual address range available. On 32-bit, we 17 * ioremap the config space for each bus individually. 22 * Create a PCI config space window 23 * - reserve mem region 24 * - alloc struct pci_config_window with space for all mappings 25 * - ioremap the config space 31 unsigned int bus_shift = ops->bus_shift; in pci_ecam_create() [all …]
|
/linux-6.14.4/arch/x86/pci/ |
D | mmconfig_64.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mmconfig.c - Low-level direct PCI config space access via MMCONFIG 6 * space mapped. This allows lockless config space operation. 21 struct pci_mmcfg_region *cfg = pci_mmconfig_lookup(seg, bus); in pci_dev_base() local 23 if (cfg && cfg->virt) in pci_dev_base() 24 return cfg->virt + (PCI_MMCFG_BUS_OFFSET(bus) | (devfn << 12)); in pci_dev_base() 33 /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ in pci_mmcfg_read() 35 err: *value = -1; in pci_mmcfg_read() 36 return -EINVAL; in pci_mmcfg_read() 67 /* Why do we have this when nobody checks it. How about a BUG()!? -AK */ in pci_mmcfg_write() [all …]
|
D | mmconfig_32.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * mmconfig.c - Low-level direct PCI config space access via MMCONFIG 25 * Functions for accessing PCI configuration space with MMCONFIG accesses 29 struct pci_mmcfg_region *cfg = pci_mmconfig_lookup(seg, bus); in get_base_addr() local 31 if (cfg) in get_base_addr() 32 return cfg->address; in get_base_addr() 58 err: *value = -1; in pci_mmcfg_read() 59 return -EINVAL; in pci_mmcfg_read() 97 return -EINVAL; in pci_mmcfg_write() 103 return -EINVAL; in pci_mmcfg_write() [all …]
|
/linux-6.14.4/arch/loongarch/pci/ |
D | acpi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 10 #include <linux/pci-acpi.h> 11 #include <linux/pci-ecam.h> 19 struct pci_config_window *cfg; member 30 struct device *bus_dev = &bridge->bus->dev; in pcibios_root_bridge_prepare() 31 struct pci_config_window *cfg = bridge->bus->sysdata; in pcibios_root_bridge_prepare() local 34 adev = to_acpi_device(cfg->parent); in pcibios_root_bridge_prepare() 36 ACPI_COMPANION_SET(&bridge->dev, adev); in pcibios_root_bridge_prepare() 37 set_dev_node(bus_dev, pa_to_nid(cfg->res.start)); in pcibios_root_bridge_prepare() [all …]
|
/linux-6.14.4/include/acpi/ |
D | nhlt.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright(c) 2023-2024 Intel Corporation 18 #define __acpi_nhlt_config_caps(cfg) ((void *)((cfg) + 1)) argument 21 * acpi_nhlt_endpoint_fmtscfg - Get the formats configuration space. 22 * @ep: the endpoint to retrieve the space for. 24 * Return: A pointer to the formats configuration space. 29 struct acpi_nhlt_config *cfg = __acpi_nhlt_endpoint_config(ep); in acpi_nhlt_endpoint_fmtscfg() local 31 return (struct acpi_nhlt_formats_config *)((u8 *)(cfg + 1) + cfg->capabilities_size); in acpi_nhlt_endpoint_fmtscfg() 38 ((void *)((u8 *)(ep) + (ep)->length)) 47 ((void *)((u8 *)((fmt) + 1) + (fmt)->config.capabilities_size)) [all …]
|
/linux-6.14.4/net/core/ |
D | dev_ioctl.c | 1 // SPDX-License-Identifier: GPL-2.0 25 * match. --pb 30 ifr->ifr_name[IFNAMSIZ-1] = 0; in dev_ifname() 31 return netdev_get_name(net, ifr->ifr_name, ifr->ifr_ifindex); in dev_ifname() 51 return -EFAULT; in dev_ifconf() 60 return -EFAULT; in dev_ifconf() 74 len - total, size); in dev_ifconf() 77 return -EFAULT; in dev_ifconf() 83 return put_user(total, &uifc->ifc_len); in dev_ifconf() 88 struct ifmap *ifmap = &ifr->ifr_map; in dev_getifmap() [all …]
|
/linux-6.14.4/arch/sparc/kernel/ |
D | leon_pci_grpci1.c | 1 // SPDX-License-Identifier: GPL-2.0 32 /* Enable/Disable Debugging Configuration Space Access */ 108 struct grpci1_priv *priv = dev->bus->sysdata; in grpci1_map_irq() 113 pin = ((pin - 1) + irq_group) & 0x3; in grpci1_map_irq() 115 return priv->irq_map[pin]; in grpci1_map_irq() 121 u32 *pci_conf, tmp, cfg; in grpci1_cfg_r32() local 124 return -EINVAL; in grpci1_cfg_r32() 134 cfg = REGLOAD(priv->regs->cfg_stat); in grpci1_cfg_r32() 135 REGSTORE(priv->regs->cfg_stat, (cfg & ~(0xf << 23)) | (bus << 23)); in grpci1_cfg_r32() 138 pci_conf = (u32 *) (priv->pci_conf | (devfn << 8) | (where & 0xfc)); in grpci1_cfg_r32() [all …]
|
/linux-6.14.4/drivers/phy/qualcomm/ |
D | phy-qcom-qmp-pcie-msm8996.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/clk-provider.h> 22 #include "phy-qcom-qmp-common.h" 24 #include "phy-qcom-qmp.h" 36 /* set of registers with offsets different per-PHY */ 139 /* struct qmp_phy_cfg - per-PHY initialization config */ 144 /* Init sequence for PHY blocks - serdes, tx, rx, pcs */ 169 * struct qmp_phy - per-lane phy descriptor 172 * @cfg: phy specific configuration 173 * @serdes: iomapped memory space for phy's serdes (i.e. PLL) [all …]
|
/linux-6.14.4/drivers/net/ethernet/netronome/nfp/crypto/ |
D | ipsec.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 92 struct nfp_ipsec_aesgcm { /* AES-GCM-ESP fields */ 135 unsigned int offset = nn->tlv_caps.mbox_off + NFP_NET_CFG_MBOX_SIMPLE_VAL; in nfp_net_ipsec_cfg() 136 struct nfp_ipsec_cfg_mssg *msg = (struct nfp_ipsec_cfg_mssg *)entry->msg; in nfp_net_ipsec_cfg() 143 msg_size = ARRAY_SIZE(msg->raw); in nfp_net_ipsec_cfg() 145 nn_writel(nn, offset + 4 * i, msg->raw[i]); in nfp_net_ipsec_cfg() 147 ret = nfp_net_mbox_reconfig(nn, entry->cmd); in nfp_net_ipsec_cfg() 155 msg->raw[i] = nn_readl(nn, offset + 4 * i); in nfp_net_ipsec_cfg() 159 switch (msg->rsp) { in nfp_net_ipsec_cfg() 163 return -EINVAL; in nfp_net_ipsec_cfg() [all …]
|
/linux-6.14.4/drivers/tty/ |
D | mips_ejtag_fdc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2007-2015 Imagination Technologies Ltd 80 * and space becoming available in TX FIFO. 87 * struct mips_ejtag_fdc_tty_port - Wrapper struct for FDC tty_port. 117 * struct mips_ejtag_fdc_tty - Driver data for FDC as a whole. 123 * @ports: Per-channel data. 124 * @waitqueue: Wait queue for waiting for TX data, or for space in TX 133 * @xmit_full: Indicates TX FIFO is full, we're waiting for space. 174 __raw_writel(data, priv->reg + offs); in mips_ejtag_fdc_write() 180 return __raw_readl(priv->reg + offs); in mips_ejtag_fdc_read() [all …]
|
/linux-6.14.4/drivers/pci/controller/ |
D | pci-host-common.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include <linux/pci-ecam.h> 29 struct pci_config_window *cfg; in gen_pci_init() local 31 err = of_address_to_resource(dev->of_node, 0, &cfgres); in gen_pci_init() 37 bus = resource_list_first_type(&bridge->windows, IORESOURCE_BUS); in gen_pci_init() 39 return ERR_PTR(-ENODEV); in gen_pci_init() 41 cfg = pci_ecam_create(dev, &cfgres, bus->res, ops); in gen_pci_init() 42 if (IS_ERR(cfg)) in gen_pci_init() 43 return cfg; in gen_pci_init() 45 err = devm_add_action_or_reset(dev, gen_pci_unmap_cfg, cfg); in gen_pci_init() [all …]
|
D | pci-loongson.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/pci-acpi.h> 13 #include <linux/pci-ecam.h> 58 dev->class = PCI_CLASS_BRIDGE_PCI_NORMAL; in bridge_class_quirk() 70 * The address space consumed by these devices is outside the in system_bus_quirk() 73 pdev->mmio_always_on = 1; in system_bus_quirk() 74 pdev->non_compliant_bars = 1; in system_bus_quirk() 93 struct pci_bus *bus = pdev->bus; in loongson_set_min_mrrs_quirk() 109 bridge = bus->self; in loongson_set_min_mrrs_quirk() 110 bus = bus->parent; in loongson_set_min_mrrs_quirk() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/pci/ |
D | qcom,pcie-ep.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Manivannan Sadhasivam <[email protected]> 15 - enum: 16 - qcom,sa8775p-pcie-ep 17 - qcom,sdx55-pcie-ep 18 - qcom,sm8450-pcie-ep 19 - items: [all …]
|
/linux-6.14.4/drivers/scsi/cxlflash/ |
D | vlun.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 27 * marshal_virt_to_resize() - translate uvirtual to resize structure 34 resize->hdr = virt->hdr; in marshal_virt_to_resize() 35 resize->context_id = virt->context_id; in marshal_virt_to_resize() 36 resize->rsrc_handle = virt->rsrc_handle; in marshal_virt_to_resize() 37 resize->req_size = virt->lun_size; in marshal_virt_to_resize() 38 resize->last_lba = virt->last_lba; in marshal_virt_to_resize() 42 * marshal_clone_to_rele() - translate clone to release structure 49 release->hdr = clone->hdr; in marshal_clone_to_rele() 50 release->context_id = clone->context_id_dst; in marshal_clone_to_rele() [all …]
|
/linux-6.14.4/drivers/virtio/ |
D | virtio_pci_modern_dev.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 * vp_modern_map_capability - map a part of virtio pci capability 10 * @mdev: the modern virtio-pci device 26 struct pci_dev *dev = mdev->pci_dev; in vp_modern_map_capability() 40 if (bar >= PCI_STD_NUM_BARS || !(mdev->modern_bars & (1 << bar))) { in vp_modern_map_capability() 41 dev_err(&dev->dev, in vp_modern_map_capability() 47 dev_err(&dev->dev, in vp_modern_map_capability() 53 if (length - start < minlen) { in vp_modern_map_capability() 54 dev_err(&dev->dev, in vp_modern_map_capability() 60 length -= start; in vp_modern_map_capability() [all …]
|
/linux-6.14.4/include/linux/ |
D | net_tstamp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 23 * struct hwtstamp_provider_desc - hwtstamp provider description 34 * struct hwtstamp_provider - hwtstamp provider object 50 * struct kernel_hwtstamp_config - Kernel copy of struct hwtstamp_config 58 * copied the ioctl request back to user space 63 * Prefer using this structure for in-kernel processing of hardware 78 const struct hwtstamp_config *cfg) in hwtstamp_config_to_kernel() argument 80 kernel_cfg->flags = cfg->flags; in hwtstamp_config_to_kernel() 81 kernel_cfg->tx_type = cfg->tx_type; in hwtstamp_config_to_kernel() 82 kernel_cfg->rx_filter = cfg->rx_filter; in hwtstamp_config_to_kernel() [all …]
|
/linux-6.14.4/drivers/net/ethernet/google/gve/ |
D | gve_tx.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 20 iowrite32be(val, &priv->db_bar2[be32_to_cpu(q_resources->db_index)]); in gve_tx_put_doorbell() 26 struct gve_tx_ring *tx = &priv->tx[tx_qid]; in gve_xdp_tx_flush() 28 gve_tx_put_doorbell(priv, tx->q_resources, tx->req); in gve_xdp_tx_flush() 35 * gve_tx_fifo_* manages the Registered Segment as a FIFO - clients must 41 fifo->base = vmap(fifo->qpl->pages, fifo->qpl->num_entries, VM_MAP, in gve_tx_fifo_init() 43 if (unlikely(!fifo->base)) { in gve_tx_fifo_init() 44 netif_err(priv, drv, priv->dev, "Failed to vmap fifo, qpl_id = %d\n", in gve_tx_fifo_init() 45 fifo->qpl->id); in gve_tx_fifo_init() [all …]
|
/linux-6.14.4/drivers/ata/ |
D | sata_sis.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * sata_sis.c - Silicon Integrated Systems SATA 6 * Please ALWAYS copy linux-[email protected] 12 * as Documentation/driver-api/libata.rst 38 SIS180_SATA1_OFS = 0x10, /* offset from sata0->sata1 phy regs */ 39 SIS182_SATA1_OFS = 0x20, /* offset from sata0->sata1 phy regs */ 44 SIS_FLAG_CFGSCR = (1 << 30), /* host flag: SCRs via PCI cfg */ 46 GENCTL_IOMAPPED_SCR = (1 << 26), /* if set, SCRs are in IO space */ 94 MODULE_DESCRIPTION("low-level driver for Silicon Integrated Systems SATA controller"); 101 struct ata_port *ap = link->ap; in get_scr_cfg_addr() [all …]
|
/linux-6.14.4/arch/powerpc/kernel/ |
D | eeh.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright 2001-2012 IBM Corporation. 32 #include <asm/ppc-pci.h> 34 #include <asm/pte-walk.h> 40 * usual PCI framework, except by check-stopping the CPU. Systems 41 * that are designed for high-availability/reliability cannot afford 43 * An EEH-capable bridge operates by converting a detected error 44 * into a "slot freeze", taking the PCI adapter off-line, making 50 * vibration, humidity, radioactivity or plain-old failed hardware. 55 * device to bus-master data to a memory address that is not [all …]
|
/linux-6.14.4/drivers/vdpa/octeon_ep/ |
D | octep_vdpa_hw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #define MBOX_RSP_TO_ERR(val) (-(((val) & MBOX_RC_MASK) >> 2)) 53 return (struct octep_mbox __iomem *)(oct_hw->dev_cfg + MBOX_OFFSET); in octep_get_mbox() 60 return readx_poll_timeout(ioread32, &mbox->sts, val, MBOX_AVAIL(val), 10, in octep_wait_for_mbox_avail() 68 return readx_poll_timeout(ioread32, &mbox->sts, val, MBOX_RSP(val), 10, in octep_wait_for_mbox_rsp() 74 iowrite16(id, &mbox->hdr.id); in octep_write_hdr() 75 iowrite16(sig, &mbox->hdr.sig); in octep_write_hdr() 80 return ioread16(&mbox->hdr.sig); in octep_read_sig() 85 iowrite32(sts, &mbox->sts); in octep_write_sts() 90 return ioread32(&mbox->sts); in octep_read_sts() [all …]
|
/linux-6.14.4/drivers/gpu/drm/i915/gvt/ |
D | cfg_space.c | 2 * Copyright(c) 2011-2016 Intel Corporation. All rights reserved. 45 /* bitmap for writable bits (RW or RW1C bits, but cannot co-exist in one 46 * byte) byte by byte in standard pci configuration space. (not the full 53 [PCI_BASE_ADDRESS_0 ... PCI_CARDBUS_CIS - 1] = 0xff, 59 * vgpu_pci_cfg_mem_write - write virtual cfg space memory 65 * Use this function to write virtual cfg space memory. 66 * For standard cfg space, only RW bits can be changed, 93 /* For other configuration space directly copy as it is. */ in vgpu_pci_cfg_mem_write() 95 memcpy(cfg_base + off + i, src + i, bytes - i); in vgpu_pci_cfg_mem_write() 97 if (off == vgpu->cfg_space.pmcsr_off && vgpu->cfg_space.pmcsr_off) { in vgpu_pci_cfg_mem_write() [all …]
|
/linux-6.14.4/drivers/net/ethernet/cavium/thunder/ |
D | thunder_xcv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 67 u64 cfg; in xcv_init_hw() local 70 cfg = readq_relaxed(xcv->reg_base + XCV_RESET); in xcv_init_hw() 71 cfg &= ~DLL_RESET; in xcv_init_hw() 72 writeq_relaxed(cfg, xcv->reg_base + XCV_RESET); in xcv_init_hw() 75 cfg = readq_relaxed(xcv->reg_base + XCV_RESET); in xcv_init_hw() 76 cfg &= ~CLK_RESET; in xcv_init_hw() 77 writeq_relaxed(cfg, xcv->reg_base + XCV_RESET); in xcv_init_hw() 81 /* Configure DLL - enable or bypass in xcv_init_hw() 84 cfg = readq_relaxed(xcv->reg_base + XCV_DLL_CTL); in xcv_init_hw() [all …]
|
/linux-6.14.4/drivers/pci/controller/plda/ |
D | pcie-microchip-host.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2018 - 2020 Microchip Corporation. All rights reserved. 21 #include <linux/pci-ecam.h> 26 #include "pcie-plda.h" 87 /* PCIe Config space MSI capability structure */ 300 struct plda_msi *msi = &port->plda.msi; in mc_pcie_enable_msi() 315 writel_relaxed(lower_32_bits(msi->vector_phy), in mc_pcie_enable_msi() 317 writel_relaxed(upper_32_bits(msi->vector_phy), in mc_pcie_enable_msi() 328 u32 reg = readl_relaxed(port->ctrl_base_addr + PCIE_EVENT_INT); in pcie_events() 340 u32 reg = readl_relaxed(port->ctrl_base_addr + SEC_ERROR_INT); in sec_errors() [all …]
|
/linux-6.14.4/arch/riscv/kvm/ |
D | vcpu.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/entry-kvm.h> 56 struct kvm_vcpu_csr *csr = &vcpu->arch.guest_csr; in kvm_riscv_reset_vcpu() 57 struct kvm_vcpu_csr *reset_csr = &vcpu->arch.guest_reset_csr; in kvm_riscv_reset_vcpu() 58 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_reset_vcpu() 59 struct kvm_cpu_context *reset_cntx = &vcpu->arch.guest_reset_context; in kvm_riscv_reset_vcpu() 68 loaded = (vcpu->cpu != -1); in kvm_riscv_reset_vcpu() 72 vcpu->arch.last_exit_cpu = -1; in kvm_riscv_reset_vcpu() 76 spin_lock(&vcpu->arch.reset_cntx_lock); in kvm_riscv_reset_vcpu() 78 spin_unlock(&vcpu->arch.reset_cntx_lock); in kvm_riscv_reset_vcpu() [all …]
|
/linux-6.14.4/arch/powerpc/platforms/pasemi/ |
D | dma_lib.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2006-2007 PA Semi, Inc 43 /* pasemi_read_iob_reg - read IOB register 44 * @reg: Register to read (offset into PCI CFG space) 52 /* pasemi_write_iob_reg - write IOB register 53 * @reg: Register to write to (offset into PCI CFG space) 62 /* pasemi_read_mac_reg - read MAC register 64 * @reg: Register to read (offset into PCI CFG space) 72 /* pasemi_write_mac_reg - write MAC register 74 * @reg: Register to write to (offset into PCI CFG space) [all …]
|