Home
last modified time | relevance | path

Searched +full:pcie +full:- +full:root +full:- +full:port +full:- +full:1 (Results 1 – 25 of 174) sorted by relevance

1234567

/linux/Documentation/admin-guide/perf/
H A Dhisi-pcie-pmu.rst2 HiSilicon PCIe Performance Monitoring Unit (PMU)
5 On Hip09, HiSilicon PCIe Performance Monitoring Unit (PMU) could monitor
6 bandwidth, latency, bus utilization and buffer occupancy data of PCIe.
8 Each PCIe Core has a PMU to monitor multi Root Ports of this PCIe Core and
9 all Endpoints downstream these Root Ports.
12 HiSilicon PCIe PMU driver
15 The PCIe PMU driver registers a perf PMU with the name of its sicl-id and PCIe
30 The "bus" sysfs file allows users to get the bus number of Root Ports
31 monitored by PMU. Furthermore users can get the Root Ports range in
40 ------------------------------------------
[all …]
H A Ddwc_pcie_pmu.rst2 Synopsys DesignWare Cores (DWC) PCIe Performance Monitoring Unit (PMU)
5 DesignWare Cores (DWC) PCIe PMU
8 The PMU is a PCIe configuration space register block provided by each PCIe Root
9 Port in a Vendor-Specific Extended Capability named RAS D.E.S (Debug, Error
14 collection of statistics, Synopsys DesignWare Cores PCIe controller
17 - one 64-bit counter for Time Based Analysis (RX/TX data throughput and
18 time spent in each low-power LTSSM state) and
19 - one 32-bit counter per event for Event Counting (error and non-error
25 -------------------
28 throughput and time spent in each low-power LTSSM state by the controller.
[all …]
/linux/drivers/pci/pcie/
H A Dpme.c1 // SPDX-License-Identifier: GPL-2.0
3 * PCIe Native PME support
5 * Copyright (C) 2007 - 2009 Intel Corp
6 * Copyright (C) 2007 - 2009 Shaohua Li <shaohua.li@intel.com>
26 * If this switch is set, MSI will not be used for PCIe PME signaling. This
27 * causes the PCIe port driver to use INTx interrupts only, but it turns out
28 * that using MSI for PCIe PME signaling doesn't play well with PCIe PME-based
29 * wake-up from system sleep states.
38 return 1; in pcie_pme_setup()
50 * pcie_pme_interrupt_enable - Enable/disable PCIe PME interrupt generation.
[all …]
H A Daer.c1 // SPDX-License-Identifier: GPL-2.0
3 * Implement the AER root port service driver. The driver registers an IRQ
4 * handler. When a root port triggers an AER interrupt, the IRQ handler
5 * collects Root Port status and schedules work.
11 * (C) Copyright 2009 Hewlett-Packard Development Company, L.P.
22 #include <linux/pci-acpi.h>
42 dev_printk(level, &(pdev)->dev, fmt, ##arg)
55 struct pci_dev *rpd; /* Root Port device */
66 * at its link partner (e.g. Root Port) because the errors will be
85 * Fields for Root Ports & Root Complex Event Collectors only; these
[all …]
H A Daspm.c1 // SPDX-License-Identifier: GPL-2.0
3 * Enable PCIe link L0s/L1 state and Clock Power Management
50 cap = &save_state->cap.data[0]; in pci_save_ltr_state()
66 cap = &save_state->cap.data[0]; in pci_restore_ltr_state()
74 pdev->l1ss = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_L1SS); in pci_configure_aspm_l1ss()
85 struct pci_dev *parent = pdev->bus->self; in pci_save_aspm_l1ss_state()
90 * If this is a Downstream Port, we never restore the L1SS state in pci_save_aspm_l1ss_state()
92 * Upstream Port below it. in pci_save_aspm_l1ss_state()
97 if (!pdev->l1ss || !parent->l1ss) in pci_save_aspm_l1ss_state()
108 cap = &save_state->cap.data[0]; in pci_save_aspm_l1ss_state()
[all …]
H A Dbwctrl.c1 // SPDX-License-Identifier: GPL-2.0+
3 * PCIe bandwidth controller
8 * Copyright (C) 2023-2024 Intel Corporation
10 * The PCIe bandwidth controller provides a way to alter PCIe Link Speeds
12 * notification capability is required for all Root Ports and Downstream
15 * This service port driver hooks into the Bandwidth Notification interrupt
30 #include <linux/pci-bwctrl.h>
39 * struct pcie_bwctrl_data - PCIe bandwidth controller
41 * @cdev: Thermal cooling device associated with the port
48 /* Prevent port removal during Link Speed changes. */
[all …]
/linux/tools/perf/Documentation/
H A Dperf-iostat.txt1 perf-iostat(1)
5 ----
6 perf-iostat - Show I/O performance metrics
9 --------
12 'perf iostat' <ports> \-- <command> [<options>]
15 -----------
16 Mode is intended to provide four I/O performance metrics per each PCIe root port:
18 - Inbound Read - I/O devices below root port read from the host memory, in MB
20 - Inbound Write - I/O devices below root port write to the host memory, in MB
22 - Outbound Read - CPU reads from I/O devices below root port, in MB
[all …]
/linux/Documentation/devicetree/bindings/pci/
H A Dnvidia,tegra20-pcie.txt1 NVIDIA Tegra PCIe controller
4 - compatible: Must be:
5 - "nvidia,tegra20-pcie": for Tegra20
6 - "nvidia,tegra30-pcie": for Tegra30
7 - "nvidia,tegra124-pcie": for Tegra124 and Tegra132
8 - "nvidia,tegra210-pcie": for Tegra210
9 - "nvidia,tegra186-pcie": for Tegra186
10 - power-domains: To ungate power partition by BPMP powergate driver. Must
11 contain BPMP phandle and PCIe power partition ID. This is required only
13 - device_type: Must be "pci"
[all …]
H A Dapple,pcie.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/pci/apple,pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Apple PCIe host controller
10 - Mark Kettenis <kettenis@openbsd.org>
13 The Apple PCIe host controller is a PCIe host controller with
14 multiple root ports present in Apple ARM SoC platforms, including
16 The controller incorporates Synopsys DesigWare PCIe logic to
17 implements its root ports. But the ATU found on most DesignWare
[all …]
H A Dsnps,dw-pcie.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/pci/snps,dw-pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Synopsys DesignWare PCIe interface
10 - Jingoo Han <jingoohan1@gmail.com>
11 - Gustavo Pimentel <gustavo.pimentel@synopsys.com>
14 Synopsys DesignWare PCIe host controller
16 # Please create a separate DT-schema for your DWC PCIe Root Port controller
17 # and make sure it's assigned with the vendor-specific compatible string.
[all …]
H A Dmediatek,mt7621-pcie.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/pci/mediatek,mt7621-pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MediaTek MT7621 PCIe controller
10 - Sergio Paracuellos <sergio.paracuellos@gmail.com>
13 MediaTek MT7621 PCIe subsys supports a single Root Complex (RC)
14 with 3 Root Ports. Each Root Port supports a Gen1 1-lane Link
16 MT7621 PCIe HOST Topology
18 .-------.
[all …]
H A Dbaikal,bt1-pcie.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/pci/baikal,bt1-pcie.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Baikal-T1 PCIe Root Port Controller
10 - Serge Semin <fancer.lancer@gmail.com>
13 Embedded into Baikal-T1 SoC Root Complex controller with a single port
14 activated. It's based on the DWC RC PCIe v4.60a IP-core, which is configured
15 to have just a single Root Port function and is capable of establishing the
18 performed by software. There four in- and four outbound iATU regions
[all …]
H A Dmicrochip,pcie-host.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/pci/microchip,pcie-host.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Microchip PCIe Root Port Bridge Controller
10 - Daire McNamara <daire.mcnamara@microchip.com>
13 - $ref: plda,xpressrich3-axi-common.yaml#
14 - $ref: /schemas/interrupt-controller/msi-controller.yaml#
18 const: microchip,pcie-host-1.0 # PolarFire
23 reg-names:
[all …]
/linux/drivers/pci/controller/
H A Dpci-mvebu.c1 // SPDX-License-Identifier: GPL-2.0
3 * PCIe driver for Marvell Armada 370 and Armada XP SoCs
5 * Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
27 #include "../pci-bridge-emul.h"
30 * PCIe unit register offsets.
40 #define PCIE_BAR_CTRL_OFF(n) (0x1804 + (((n) - 1) * 4))
65 #define PCIE_CTRL_RC_MODE BIT(1)
83 /* Structure representing all PCIe interfaces */
99 /* Structure representing one PCIe interface */
103 u32 port; member
[all …]
H A Dpcie-altera.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright Altera Corporation (C) 2013-2015. All rights reserved
6 * Description: Altera PCIe host controller driver
45 #define S10_RP_CFG_ADDR(pcie, reg) \ argument
46 (((pcie)->hip_base) + (reg) + (1 << 20))
47 #define S10_RP_SECONDARY(pcie) \ argument
48 readb(S10_RP_CFG_ADDR(pcie, PCI_SECONDARY_BUS))
50 /* TLP configuration type 0 and 1 */
53 #define TLP_FMTTYPE_CFGRD1 0x05 /* Configuration Read Type 1 */
54 #define TLP_FMTTYPE_CFGWR1 0x45 /* Configuration Write Type 1 */
[all …]
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0
11 tristate "Aardvark PCIe controller"
18 Add support for Aardvark 64bit PCIe Host Controller. This
23 tristate "Altera PCIe controller"
26 Say Y here if you want to enable PCIe controller support on Altera
30 tristate "Altera PCIe MSI feature"
35 Say Y here if you want PCIe MSI support for the Altera FPGA.
44 tristate "Apple PCIe controlle
[all...]
H A Dpcie-xilinx.c1 // SPDX-License-Identifier: GPL-2.0+
3 * PCIe host controller driver for Xilinx AXI PCIe Bridge
5 * Copyright (c) 2012 - 2014 Xilinx, Inc.
7 * Based on the Tegra PCIe driver
15 #include <linux/irqchip/irq-msi-lib.h>
25 #include <linux/pci-ecam.h>
44 #define XILINX_PCIE_INTR_ECRC_ERR BIT(1)
66 /* Root Port Error FIFO Read Register definitions */
71 /* Root Port Interrupt FIFO Read Register 1 definitions */
82 /* Root Port Interrupt FIFO Read Register 2 definitions */
[all …]
H A Dpcie-xilinx-dma-pl.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * PCIe host controller driver for Xilinx XDMA PCIe Bridge
10 #include <linux/irqchip/irq-msi-lib.h>
19 #include "pcie-xilinx-common.h"
62 /* Root Port Error Register definitions */
67 /* Root Port Interrupt Register definitions */
70 /* Root Port Status/control Register definitions */
86 * struct xilinx_pl_dma_variant - PL DMA PCIe variant information
102 * struct pl_dma_pcie - PCIe port information
115 * @variant: PL DMA PCIe version check pointer
[all …]
/linux/arch/powerpc/boot/dts/
H A Dturris1x.dts1 // SPDX-License-Identifier: GPL-2.0+
3 * Turris 1.x Device Tree Source
5 * Copyright 2013 - 2022 CZ.NIC z.s.p.o. (http://www.nic.cz/)
8 * and available at: https://docs.turris.cz/hw/turris-1x/turris-1x/
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include <dt-bindings/leds/common.h>
14 /include/ "fsl/p2020si-pre.dtsi"
17 model = "Turris 1.x";
41 gpio-controller@18 {
[all …]
H A Dcurrituck.dts11 /dts-v1/;
16 #address-cells = <2>;
17 #size-cells = <2>;
20 dcr-parent = <&{/cpus/cpu@0}>;
27 #address-cells = <1>;
28 #size-cells = <0>;
34 clock-frequency = <1600000000>; // 1.6 GHz
35 timebase-frequency = <100000000>; // 100Mhz
36 i-cache-line-size = <32>;
37 d-cache-line-size = <32>;
[all …]
/linux/drivers/pci/controller/cadence/
H A Dpcie-cadence.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 // Cadence PCIe controller driver.
4 // Author: Cyrille Pitchen <cyrille.pitchen@free-electrons.com>
12 #include <linux/pci-epf.h>
14 #include "pcie-cadence-lga-reg
293 struct cdns_pcie pcie; global() member
337 struct cdns_pcie pcie; global() member
355 cdns_pcie_writel(struct cdns_pcie * pcie,u32 reg,u32 value) cdns_pcie_writel() argument
360 cdns_pcie_readl(struct cdns_pcie * pcie,u32 reg) cdns_pcie_readl() argument
365 cdns_pcie_readw(struct cdns_pcie * pcie,u32 reg) cdns_pcie_readw() argument
370 cdns_pcie_readb(struct cdns_pcie * pcie,u32 reg) cdns_pcie_readb() argument
375 cdns_pcie_read_cfg_byte(struct cdns_pcie * pcie,int where,u8 * val) cdns_pcie_read_cfg_byte() argument
382 cdns_pcie_read_cfg_word(struct cdns_pcie * pcie,int where,u16 * val) cdns_pcie_read_cfg_word() argument
389 cdns_pcie_read_cfg_dword(struct cdns_pcie * pcie,int where,u32 * val) cdns_pcie_read_cfg_dword() argument
437 cdns_pcie_rp_writeb(struct cdns_pcie * pcie,u32 reg,u8 value) cdns_pcie_rp_writeb() argument
445 cdns_pcie_rp_writew(struct cdns_pcie * pcie,u32 reg,u16 value) cdns_pcie_rp_writew() argument
453 cdns_pcie_rp_readw(struct cdns_pcie * pcie,u32 reg) cdns_pcie_rp_readw() argument
461 cdns_pcie_ep_fn_writeb(struct cdns_pcie * pcie,u8 fn,u32 reg,u8 value) cdns_pcie_ep_fn_writeb() argument
469 cdns_pcie_ep_fn_writew(struct cdns_pcie * pcie,u8 fn,u32 reg,u16 value) cdns_pcie_ep_fn_writew() argument
477 cdns_pcie_ep_fn_writel(struct cdns_pcie * pcie,u8 fn,u32 reg,u32 value) cdns_pcie_ep_fn_writel() argument
483 cdns_pcie_ep_fn_readw(struct cdns_pcie * pcie,u8 fn,u32 reg) cdns_pcie_ep_fn_readw() argument
490 cdns_pcie_ep_fn_readl(struct cdns_pcie * pcie,u8 fn,u32 reg) cdns_pcie_ep_fn_readl() argument
495 cdns_pcie_start_link(struct cdns_pcie * pcie) cdns_pcie_start_link() argument
503 cdns_pcie_stop_link(struct cdns_pcie * pcie) cdns_pcie_stop_link() argument
509 cdns_pcie_link_up(struct cdns_pcie * pcie) cdns_pcie_link_up() argument
[all...]
/linux/Documentation/driver-api/cxl/
H A Dtheory-of-operation.rst1 .. SPDX-License-Identifier: GPL-2.0
14 range across multiple devices underneath a host-bridge or interleaved
15 across host-bridges.
20 logical device, the CXL subsystem is tasked to take PCIe and ACPI objects and
28 Platform firmware enumerates a menu of interleave options at the "CXL root port"
29 (Linux term for the top of the CXL decode topology). From there, PCIe topology
31 Each PCIe Switch in the path between the root and an endpoint introduces a point
34 interleave cycles across multiple Root Ports. An intervening Switch between a
35 port and an endpoint may interleave cycles across multiple Downstream Switch
39 module generates an emulated CXL topology of 2 Host Bridges each with 2 Root
[all …]
/linux/drivers/pci/controller/dwc/
H A Dpcie-hisi.c1 // SPDX-License-Identifier: GPL-2.0
3 * PCIe host controller driver for HiSilicon SoCs
15 #include <linux/pci-acpi.h>
16 #include <linux/pci-ecam.h>
18 #include "../pci-host-common.h"
29 struct pci_config_window *cfg = bus->sysdata; in hisi_pcie_rd_conf()
32 if (bus->number == cfg->busr.start) { in hisi_pcie_rd_conf()
33 /* access only one slot on each root port */ in hisi_pcie_rd_conf()
47 struct pci_config_window *cfg = bus->sysdata; in hisi_pcie_wr_conf()
50 if (bus->number == cfg->busr.start) { in hisi_pcie_wr_conf()
[all …]
/linux/drivers/pci/
H A Dide.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2024-2025 Intel Corporation. All rights reserved. */
4 /* PCIe r7.0 section 6.33 Integrity & Data Encryption (IDE) */
10 #include <linux/pci-ide.h>
34 return __sel_ide_offset(pdev->ide_cap, pdev->nr_link_ide, in sel_ide_offset()
35 settings->stream_index, pdev->nr_ide_mem); in sel_ide_offset()
42 ret = ida_alloc_range(&pdev->ide_stream_ida, idx, idx, GFP_KERNEL); in reserve_stream_index()
50 ret = ida_alloc_range(&hb->ide_stream_ids_ida, id, id, GFP_KERNEL); in reserve_stream_id()
57 dev_info(&hb->dev, "Stream ID %d active at init\n", stream_id); in claim_stream()
59 dev_info(&hb->dev, "Failed to claim %s Stream ID %d\n", in claim_stream()
[all …]
/linux/Documentation/devicetree/bindings/net/dsa/
H A Dmscc,ocelot.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Vladimir Oltean <vladimir.oltean@nxp.com>
11 - Claudiu Manoil <claudiu.manoil@nxp.com>
12 - Alexandre Belloni <alexandre.belloni@bootlin.com>
13 - UNGLinuxDriver@microchip.com
16 There are multiple switches which are either part of the Ocelot-1 family, or
19 SPI or PCIe. The present DSA binding shall be used when the host controlling
20 them performs packet I/O primarily through an Ethernet port of the switch
[all …]

1234567