Re: PCI / PCIe Device Memory - Rationale for Choosing MMIO Over PMIO (and Visa-Versa)

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

 



On Thu, Nov 05, 2020 at 02:27:58PM +0000, Jack Winch wrote:
> Hi all,
> 
> Over the last couple of months, I've been reading the hardware
> documentation and Linux device driver source code for a range of
> different PCI and PCIe devices.  Those examined range from
> multi-function data acquisition cards through to avionics bus
> interface devices.  In doing so, I have referenced numerous resources
> (including the Third Edition of LDD - what a great book - and the
> documentation available for the Linux PCI Bus Subsystem on
> kernel.org).
> 
> One thing I'm still a little unclear on is why vendors might opt to
> map PCI / PCIe device memory into the system memory map as either
> Memory-Mapped I/O (MMIO) or Port-Mapped I/O (PMIO).  That is, for what
> reasons would a device manufacturer choose to make use of one address
> space over the other for regions of a PCI / PCIe device's memory?
> Some of the general reasons are alluded to by the aforementioned
> resources (e.g., more instruction cycles are required to access data
> via PMIO, MMIO can be marked as prefetchable and handled as such,
> etc).

I think you should be talking to hardware people about this, as this is
almost always due to hardware limitations/issues/design decisions.  The
PCI-SIG should have a bunch of resources about this, have you looked
into that?

good luck!

greg k-h

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[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