Questions tagged [pci]

Questions in this tag are only for questions related to the PCI Local Bus standard which is a computer bus for attaching hardware devices in a computer.

Questions in this tag are only for questions related to the PCI Local Bus standard which is a computer bus for attaching hardware devices in a computer.

483 questions
54
votes
4 answers

What is the Base Address Register (BAR) in PCIe?

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 it can write received data on to it. Am I right? Or…
tollin jose
  • 845
  • 4
  • 12
  • 23
31
votes
2 answers

PCIe driver for Windows CE and Windows Desktop

I need a little advice for development of a custom PCIe driver. The driver must support both Windows CE 6.0 and Windows Desktop (xp, 7, and 8 when ready). We have a lot of experience developing drivers for Windows CE but none for Windows Desktop. I…
Allan Larsen
  • 476
  • 4
  • 10
23
votes
3 answers

PCI Express BAR memory mapping basic understanding

I am trying to understand how PCI Express works so i can write a windows driver that can read and write to a custom PCI Express device with no on-board memory. I understand that the Base Address Registers (BAR) in the PCIE configuration space hold…
user3156702
  • 365
  • 1
  • 3
  • 7
22
votes
3 answers

In Linux, is there a way to find out which PCI card is plugged into which PCI slot?

In Linux, is there a way to find out which PCI card is plugged into which PCI slot? /sys/bus/pci/devices/ contains many devices (bridges, CPU channels, etc.) that are not cards and I was not able to find any information about slot-card mappings in…
magmabyte
  • 397
  • 1
  • 2
  • 10
20
votes
3 answers

How to detect if HDMI cable is plugged into PCMCIA card / no signal?

I'm trying to write a simple helper application that is used to prompt the user to turn on a camcorder if no signal is detected, which in this case would mean the camcorder is off and/or the HDMI cable is not plugged into the PCMCIA capture card. If…
klcjr89
  • 5,862
  • 10
  • 58
  • 91
20
votes
1 answer

Understanding segment group, bus, device and function numbers from SMBIOS

Objective I'm trying to programmatically find out on which physical slot a particular PCIe device is connected. The premise is that I have the PCI-ID of a card that is surely occupying a slot, and the solution would be finding out which one. Note…
C2H5OH
  • 5,452
  • 2
  • 27
  • 39
19
votes
4 answers

How is a PCI / PCIe BAR size determined?

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 of the hardware since only it knows how far into its…
JeffV
  • 52,985
  • 32
  • 103
  • 124
16
votes
5 answers

How to match OpenCL devices with a specific GPU given PCI vendor, device and bus IDs in a multi-GPU system?

I would like to be able to match OpenCL devices with GPUs in the system on multi-GPU systems identified by PCI IDs. For example, if I have a system with multiple GPUs, possibly from different vendors, I can list the devices by enumerating the PCI…
jcoffland
  • 5,238
  • 38
  • 43
13
votes
4 answers

Is there a way to ask the Linux Kernel to re-run its PCI initialization code?

I'm looking for either a kernel mode call that I can make from a driver, a userland utility, or a system call that will ask the Kernel to look at the PCI bus and either completely re-run its initialization, or initialize a specific device. …
mlustig
  • 131
  • 1
  • 3
12
votes
4 answers

Is there an Android PCI card?

Does anyone know of a PCI card suitable for Android development? I find the emulator unusably slow (Linux 64-bit, quad-core, 8GB RAM), and a card I could hide in my desktop would be nice. I know there are USB options out there, but that means yet…
Phil Lello
  • 8,377
  • 2
  • 25
  • 34
12
votes
1 answer

check for IOMMU support on linux

I'd like to verify on any given Linux machine if PCI passthrough is supported. After a bit of googling, I found that I should rather check if IOMMU is supported, and I did so by running: dmesg | grep IOMMU If it supports IOMMU (and not IOMMUv2),…
Ricky Robinson
  • 21,798
  • 42
  • 129
  • 185
12
votes
1 answer

BUG: unable to handle kernel paging request at

I am writing a PCI driver for a simple test device. Hardware is recognized correctly with lspci (as you can see my driver vabs has been registered): 04:02.0 Non-VGA unclassified device: Device bace:55aa Control: I/O+ Mem+ BusMaster+ SpecCycle-…
kohpe
  • 315
  • 2
  • 4
  • 9
11
votes
2 answers

How is PCI segment(domain) related to multiple Host Bridges(or Root Bridges)?

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 multiple Root Bridges under a single Host Bridge. I'm confused…
Zihan
  • 405
  • 3
  • 13
9
votes
1 answer

Linux PCI Driver Setup and Teardown

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 questions: For setup, does pci_enable_device() always come…
It'sPete
  • 5,083
  • 8
  • 39
  • 72
9
votes
1 answer

how to do mmap for cacheable PCIe BAR

I am trying to write a driver with custom mmap() function for PCIe BAR, with the goal to make this BAR cacheable in the processor cache. I am aware this is not the best way to achieve highest bandwidth and that the order of writes is unpredictable…
sols
  • 91
  • 1
  • 4
1
2 3
32 33