• Suman Anna's avatar
    remoteproc: add IOMMU hardware capability flag · 315491e5
    Suman Anna authored
    The remoteproc framework currently relies on iommu_present() on
    the bus the device is on, to perform MMU management. However, this
    logic doesn't scale for multi-arch, especially for processors that
    do not have an IOMMU. Replace this logic instead by using a h/w
    capability flag for the presence of IOMMU in the rproc structure.
    
    This issue is seen on OMAP platforms when trying to add a remoteproc
    driver for a small Cortex M3 called the WkupM3 used for suspend /
    resume management on TI AM335/AM437x SoCs. This processor does not
    have an MMU. Same is the case with another processor subsystem
    PRU-ICSS on AM335/AM437x. All these are platform devices, and the
    current iommu_present check will not scale for the same kernel image
    to support OMAP4/OMAP5 and AM335/AM437x.
    
    The existing platform implementation drivers - OMAP remoteproc, STE
    Modem remoteproc and DA8xx remoteproc, are updated as well to properly
    configure the newly added rproc field.
    
    Cc: Robert Tivy <rtivy@ti.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
    [small change in the commit title and in a single comment]
    Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
    315491e5
omap_remoteproc.c 6.3 KB