On Wed, Apr 08, 2020 at 04:37:56PM +0100, Lad Prabhakar wrote: > R-Car PCIe controller has support to map multiple memory regions for > mapping the outbound memory in local system also the controller limits > single allocation for each region (that is, once a chunk is used from the > region it cannot be used to allocate a new one). This features inspires to > add support for handling multiple memory bases in endpoint framework. > > With this patch pci_epc_mem_init() initializes address space for endpoint > controller which support single window and whereas __pci_epc_mem_init() > now accepts pointer to multiple windows supported by endpoint controller. Adding a double underscore prefix usually indicates an internal function that skips some checking. It doesn't seem like quite the right thing for this external interface that adds functionality. Maybe the name could include something like "multi"? > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> This needs an ack from Kishon, of course. This patch seems like it does several things that could possibly be split into separate patches? - Change pci_epc_mem_init() interface to add page_size argument (the only one that touches cadence & rockchip; it would be nice if this were a tiny patch) - Add struct pci_epc_mem_window - Add a pci_epc_multi_mem_init() or similar, implement pci_epc_mem_init() in terms of it (as you already do) Bjorn