On Tue, Jul 28, 2020 at 2:48 PM Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> wrote: > > On Wed, Jul 15, 2020 at 10:13:26AM +0100, Lorenzo Pieralisi wrote: > > On Thu, Jul 09, 2020 at 10:35:14AM +0100, Lorenzo Pieralisi wrote: > > > On Fri, Jun 19, 2020 at 09:20:06AM +0100, Lorenzo Pieralisi wrote: > > > > Some HW devices are created as child devices of proprietary busses, > > > > that have a bus specific policy defining how the child devices > > > > wires representing the devices ID are translated into IOMMU and > > > > IRQ controllers device IDs. > > > > > > > > Current IORT code provides translations for: > > > > > > > > - PCI devices, where the device ID is well identified at bus level > > > > as the requester ID (RID) > > > > - Platform devices that are endpoint devices where the device ID is > > > > retrieved from the ACPI object IORT mappings (Named components single > > > > mappings). A platform device is represented in IORT as a named > > > > component node > > > > > > > > For devices that are child devices of proprietary busses the IORT > > > > firmware represents the bus node as a named component node in IORT > > > > and it is up to that named component node to define in/out bus > > > > specific ID translations for the bus child devices that are > > > > allocated and created in a bus specific manner. > > > > > > > > In order to make IORT ID translations available for proprietary > > > > bus child devices, the current ACPI (and IORT) code must be > > > > augmented to provide an additional ID parameter to acpi_dma_configure() > > > > representing the child devices input ID. This ID is bus specific > > > > and it is retrieved in bus specific code. > > > > > > > > By adding an ID parameter to acpi_dma_configure(), the IORT > > > > code can map the child device ID to an IOMMU stream ID through > > > > the IORT named component representing the bus in/out ID mappings. > > > > > > > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > > > > Cc: Will Deacon <will@xxxxxxxxxx> > > > > Cc: Hanjun Guo <guohanjun@xxxxxxxxxx> > > > > Cc: Sudeep Holla <sudeep.holla@xxxxxxx> > > > > Cc: Catalin Marinas <catalin.marinas@xxxxxxx> > > > > Cc: Robin Murphy <robin.murphy@xxxxxxx> > > > > Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> > > > > --- > > > > drivers/acpi/arm64/iort.c | 59 +++++++++++++++++++++++++++++---------- > > > > drivers/acpi/scan.c | 8 ++++-- > > > > include/acpi/acpi_bus.h | 9 ++++-- > > > > include/linux/acpi.h | 7 +++++ > > > > include/linux/acpi_iort.h | 7 +++-- > > > > 5 files changed, 67 insertions(+), 23 deletions(-) > > > > > > Hi Rafael, > > > > > > just to ask if the ACPI core changes in this patch are OK with you, > > > thank you very much. Sorry for the delay, I was offline last week. > > Hi Rafael, > > > > are you OK with ACPI core changes in this patch ? Yes, I am. Please feel free to route it through whatever tree you think would be appropriate. Thanks!