Commit 98604588b20db9e7174b03c5d1584e532a9380f2

Authored by Suman Anna
1 parent 25b90cefc9

iommu/omap: add pdata ops for setting powerdomain constraint

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>

Showing 1 changed file with 2 additions and 0 deletions Side-by-side Diff

include/linux/platform_data/iommu-omap.h
... ... @@ -53,5 +53,7 @@
53 53 int (*deassert_reset)(struct platform_device *pdev, const char *name);
54 54 int (*device_enable)(struct platform_device *pdev);
55 55 int (*device_idle)(struct platform_device *pdev);
  56 + int (*set_pwrdm_constraint)(struct platform_device *pdev, bool request,
  57 + u8 *pwrst);
56 58 };