pci-e Questions

2

I am new to PCI express, I want to read/write into PCI Express configuration space via MMIO addresses. I know how port mapped IO read/write into PCI express config space via 0xCFC and 0xCF8 port ad...
Astringent asked 2/9, 2018 at 10:50

5

Solved

I have here Linux 4.4 (I used to work on an older kernel which failed in the same way) with a PCIe connected FPGA device and a driver for it which are both of my own design. These have been working...
Mesmerism asked 28/9, 2017 at 19:24

1

Solved

Is it possible to issue a prefetch for an address backed by an MMIO region in a PCIe BAR (and mapped via either UC or WC page table entries)? I am currently issuing a load for this address which ca...
Barthol asked 12/11, 2022 at 1:3

4

I know that the base address register (BAR) in PCI configuration space defines the start location of a PCI address, but how does the size of this region get established? Surely this is a property ...
Peppergrass asked 25/9, 2013 at 13:42

1

Solved

Does QEMU emulate the PCIe Transaction Layer somehow? When I have a virtual Switch like (https://blogs.oracle.com/linux/post/a-study-of-the-linux-kernel-pci-subsystem-with-qemu) am I able to interc...
Practise asked 1/4, 2022 at 12:9

1

In the PCI Express Base specification, section 2.2.5 "First/Last DW Byte Enables Rules", it says a zero length read can be used as a flush request. However, in the linux kernel documentat...
Fritz asked 20/10, 2020 at 22:34

1

I've tested CPU to GPU data transfer throughput with TensorFlow and it seems to be significantly lower than in PyTorch. For large tensors between 2x and 5x slower. In TF, I reach maximum speed for ...
Rowdyish asked 23/11, 2021 at 13:16

2

Solved

Let's suppose a CPU wants to make a DMA read transfer from a PCI Express device. Communication to PCI Express devices is provided by transaction layer packets (TLP). Theoretically, the maximu...
Audry asked 14/12, 2014 at 15:37

1

Solved

If we look at a Haswell architectural diagram today we can see that there are PCIe lanes directly connected to the CPU (for graphics) as well as some of them routed to the the platform controller h...
Colossian asked 2/12, 2014 at 8:5

4

Solved

After going through some basics documents what I understood is, Base Address Register is Address space which can be accessed by PCIe IP. PCIe IP can either transmit data in Base Address Register or...
Lied asked 12/5, 2015 at 11:52

3

I have an FPGA (Like most of the people asking this question) that gets configured after my Linux kernel does the initial PCIe bus scan and enumeration. As you can guess, the FPGA implements a PCIe...
Gaullist asked 1/9, 2015 at 14:57

2

Solved

I'm trying to understand how PCI segment(domain) is related to multiple Host Bridges? Some people say multiple PCI domains corresponds to multiple Host Bridges, but some say it means multip...
Ancona asked 1/3, 2018 at 13:35

2

Solved

If I transfer a single byte from a CUDA kernel to PCI-E to the host (zero-copy memory), how much is it slow compared to transferring something like 200 Megabytes? What I would like to know, since ...
Northeastward asked 18/7, 2013 at 16:41

1

Solved

Hi I'm writing a kernel and plan to use MSI interrupt for PCI devices. However, I'm also quite confused by the documentations. My understanding about MSI are as follow: From PCI device point of ...
Quar asked 5/9, 2019 at 11:29

2

Solved

I understand that PCI and PCIe devices can be configured by the CPU (via code in the BIOS or OS) to respond to certain physical memory addresses by writing to specific areas of the device's configu...
Voorhees asked 27/10, 2013 at 3:30

2

Solved

In order to access PCI Configuration Space, I/O port address 0xCF8, 0xCFC is used according to various articles. mov eax, dword 0x80000000 mov dx, word 0x0CF8 out dx, eax mov dx, word 0x0CFC in e...
Floriated asked 12/8, 2019 at 7:40

1

in a PCIe configuration, devices have dedicated addresses and they send data in Peer-to-Peer mode to each other - every device can write when it wills and the switches take care to correctly pass d...
Inhume asked 18/11, 2018 at 13:40

1

Solved

In order to leverage the GPUs on a system, I'd like to be able to draw a block diagram and understand the connections represented by "nvidia-smi topo -m" output. Here is an example output: Can...
Calctufa asked 26/3, 2019 at 18:38

1

Solved

I want all read & write requests to a PCIe device to be cached by CPU caches. However, it does not work as I expected. These are my assumptions on write-back MMIO regions. Writes to the PCIe...
Sukey asked 15/11, 2018 at 1:21

2

Solved

When writing data to a PCIe device, it is possible to use a write-combining mapping to hint the CPU that it should generate 64-byte TLPs towards the device. Is it possible to do something similar ...
Searcy asked 19/8, 2018 at 14:44

1

After looking at the kernel docs here: https://www.kernel.org/doc/Documentation/PCI/pci.txt I am lost as to the ordering of function calls to set up and tear down a PCI driver. I have two question...
Conchology asked 3/7, 2018 at 23:2

2

Solved

I have code, called from the probe() function of my PCIe driver (loosely based on this post): EDIT: Based on Andreas Bombe's response, I changed the code to use pci_iomap(), but I'm still experien...
Fara asked 1/5, 2014 at 18:43

3

Solved

I am currently working with the Xilinx XDMA driver (see here for source code: XDMA Source), and am attempting to get it to run (before you ask: I have contacted my technical support point of contac...
Niveous asked 16/2, 2018 at 8:58

3

I have a PCIe device that will send a hardware interrupt when a data buffer is ready to be read. I believe the best approach for this is to use signals but I'm not entirely sure how. What I believe...
Tatouay asked 6/7, 2012 at 17:1

1

I am working with a high speed serial card for high rate data transfers from an external source to a Linux box with a PCIe card. The PCIe card came with some 3rd party drivers that use dma_alloc_co...
Screwy asked 20/11, 2015 at 1:28

© 2022 - 2024 — McMap. All rights reserved.