Re: [Query] : PCIe - Endpoint Function

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

 



Hi Kishon

On Fri, Oct 11, 2019 at 8:35 AM Lad, Prabhakar
<prabhakar.csengg@xxxxxxxxx> wrote:
>
> Hi Kishon,
>
> On Thu, Oct 10, 2019 at 12:32 PM Kishon Vijay Abraham I <kishon@xxxxxx> wrote:
> >
> > Hi Prabhakar,
> >
> > On 10/10/19 4:57 PM, Lad, Prabhakar wrote:
> > > Hello,
> > >
> > > I am currently working on adding pcie-endpoint support for a
> > > controller, this controller doesn't support outbound- inbound address
> > > translations, it has 1-1 mapping between the CPU and PCI addresses,
> > > the current endpoint framework is based on  outbound-inbound
> > > translations, what is the best approach to add this support, or is
> > > there any WIP already for it ?
> >
> > How will the endpoint access host buffer without outbound ATU? I assume the PCI
> > address reserved for endpoint is not the full 32-bit or 64-bit address space?
> > In that case, the endpoint cannot directly access the host buffer (unless the
> > host already knows the address space of the endpoint and gives the endpoint an
> > address in its OB address space).
> >
I lied in my previous mail.

a] The controller needs the cpu_address before starting the link, ie
with the current implementation,the bars physical address in endpoint
are assigned
using dma_alloc_coherent(), but I what I actually want here is the
phys_addr returned by pci_epc_mem_alloc_addr().

b] In the pci_endpoint_test driver, the pci_address sent to the
endpoint driver is again dma_alloc_coherent(), but the address which I
actually want to
send to endpoint is the BAR's assigned regions in the RC.

Cheers,
--Prabhakar



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux