]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/commitdiff
iommu/omap: add pdata ops for setting powerdomain constraint
authorSuman Anna <s-anna@ti.com>
Wed, 27 May 2015 02:30:04 +0000 (21:30 -0500)
committerSuman Anna <s-anna@ti.com>
Fri, 29 May 2015 23:33:04 +0000 (18:33 -0500)
Add a new platform data ops to allow the OMAP IOMMU driver to be able
to request a specific target power domain state for the domain it
belongs to. This ops is being added to resolve a boot issue on OMAP
remote processors like IPU that have an AMMU/Unicache, which will be
in an invalid state if the particular power domain enters RET between
the MMU programming and releasing the reset of the remote processor.
See [1] for more details on the issue.

The ops will allow to invoke the pwrdm_set_next_pwrst() API in a
multi-arch kernel environment. The ops also returns the current power
domain state while enforcing the constraint so that the driver can
store it and use it to set back the power domain state while releasing
the constraint.

[1] http://git.ti.com/gitweb/?p=rpmsg/rpmsg.git;a=commit;h=6d6dd44c55638d54a151bf2ae6cc77b2f4e459d0

Signed-off-by: Suman Anna <s-anna@ti.com>
include/linux/platform_data/iommu-omap.h

index 8aec9172822cbbea6fb1069d6fa9a84b7238342c..f5b08ec6c1b4b2092583a56d115b3d9a3f358c40 100644 (file)
@@ -53,4 +53,6 @@ struct iommu_platform_data {
        int (*deassert_reset)(struct platform_device *pdev, const char *name);
        int (*device_enable)(struct platform_device *pdev);
        int (*device_idle)(struct platform_device *pdev);
+       int (*set_pwrdm_constraint)(struct platform_device *pdev, bool request,
+                                   u8 *pwrst);
 };