PCI bus-mastering question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

While working on an embedded board design, we came across the following
question:

Let's say, we have a CPU, RAM and a PCI-bridge on the local bus. On the
PCI-bus we have a bus-master capable device. Let's say, that device drives
a long burst-transfer. The PCI-bus is fully loaded, but, since the local
bus is much (about 3 times in our case) faster, than the PCI-bus, there
are windows, where CPU gets access to the local bus. Then, during one of
such windows the CPU tries to read a couple of registers from PCI. Now
come our assumptions:
1) because the PCI-bus is busy, the CPU doesn't come through to read those
registers, so, it is put in the wait state, right?
2) in principle it would be a dead-lock - CPU waits for PCI, but the
current PCI-master has come to a point of requesting the local bus, which
is used by the CPU, so, it doesn't get a grant...
3) A possible solution would be, that the PCI bridge notices, that it
doesn't get the local bus, and aborts the burst-transfer.

Is it really resolved that way, or somehow otherwise, or not resolved at
all?:-))

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany




--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux