Query about PCI base address registers

Srinivas Ganji srinivasganji.kernel at gmail.com
Wed Dec 18 00:44:26 EST 2013

Hi Ulka,

Generally, the PCI configuration details are supplied by the PCI Card
manufactures where they can explain all those details which you asked. So,
try to get the PCI User Manual for the PCI card that you are working. In
that user manual, you find all the information.

Regarding the DMA, we need to start by setting one of the bits in DMA
registers. This also explained in the PCI user manual.

Do you still need any other information please let me know as I worked on
couple of projects which are based on PCI cards.


On Thu, Dec 12, 2013 at 5:53 PM, Ulka Vaze <ulka.vaze at l2it.com> wrote:

> Hi,
>    In PCI configuration space there are 6 registers BAR0-5 which can
> hold the ioaddress or memory address used by card.
> However my question is - how will we know which BAR register contain
> ioaddress  and which contain memory ? and How many of them contain the
> addresses. I mean shall we start reading from bar0 to 5 all to find it
> ?
> If card  has 3 ports and one memory region  will it be in bar0 or bar1 or
> bar2 ?
> Second is on PCI card we set it as bus master for DMA  in probe
> function and also allocates buffer. So when is DMA  actually initiated
> by it ?
> Please can anybody clarify.
> Thanks,
> -Ulka
> --
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20131218/97c5e83e/attachment.html 

More information about the Kernelnewbies mailing list