On Tue, Aug 14, 2018 at 2:04 PM Kishon Vijay Abraham I <kishon@xxxxxx> wrote: > > Hi, > > On Tuesday 14 August 2018 06:25 PM, Ramon Fried wrote: > > On Tue, Aug 14, 2018 at 1:53 PM Kishon Vijay Abraham I <kishon@xxxxxx> wrote: > >> > >> Hi, > >> > >> On Tuesday 14 August 2018 06:19 PM, Ramon Fried wrote: > >>> Hi. > >>> I recently saw that the PCI endpoint API only supports outbound memory > >>> mapping: (AXI -> PCI) through the map_addr op. > >>> Why inbound mapping is missing (PCI->AXI) is missing ? > >>> In almost all of the PCI EP controllers I've worked with there was a > >>> need to map complete BARS or part of BARS to mmio/aperature regions on > >>> the device. > >> > >> pci_epc_set_bar() is used for mapping BAR. > > Thanks Kishon. > > what about address mapping ? Synopsys has this functionality if I > > recall correctly. > > The addresses that the RC will put in BAR's is not known while we initialize > the endpoint. So we really can't map BAR's PCI address to an inbound address > while EP initialization. > > I think some older version of Synopsys had this (and didn't have BAR mapping). > Actually TI's K2G had this IP. However the ATU registers here are mapped to > BAR0. So the host side PCI driver can program the PCI address (that the RC has > allocated for BARs) in ATU. Yes. you're right. Thanks for the clarification. > > Thanks > Kishon