Re: [PATCH v4 01/17] PCI: dwc: Use the DMA-API to get the MSI address

From: Bjorn Helgaas
Date: Tue Nov 07 2017 - 19:56:23 EST


On Fri, Nov 03, 2017 at 02:47:05PM +0100, Niklas Cassel wrote:
> Use the DMA-API to get the MSI address. This address will be written to
> our PCI config space and to the register which determines which AXI
> address the DWC IP will spoof for incoming MSI irqs.
>
> Since it is a PCIe endpoint device, rather than the CPU, that is supposed
> to write to the MSI address, the proper way to get the MSI address is by
> using the DMA API, not by using virt_to_phys().
>
> Using virt_to_phys() might work on some systems, but using the DMA API
> should work on all systems.
>
> This is essentially the same thing as allocating a buffer in a driver
> to which the endpoint will write to. To do this, we use the DMA API.
>
> Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxxx>

I'm expecting Jingoo and/or Joao to chime in and ack the
DesignWare-related patches. I think all the others are in
pretty good shape.

> ---
> drivers/pci/dwc/pcie-designware-host.c | 15 ++++++++++++---
> drivers/pci/dwc/pcie-designware.h | 3 ++-
> 2 files changed, 14 insertions(+), 4 deletions(-)
> ...