]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/commitdiff
Merge branch 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu into rproc-linux...
authorSuman Anna <s-anna@ti.com>
Mon, 18 May 2015 02:03:33 +0000 (21:03 -0500)
committerSuman Anna <s-anna@ti.com>
Mon, 18 May 2015 02:10:28 +0000 (21:10 -0500)
Merge in the updated iommu feature branch into remoteproc tree to
pull in the suspend/resume support in the OMAP IOMMU driver. The
following are the main changes:
    - improvements in the OMAP iommu to perform the enabling &
      disabling of the IOMMU from within the runtime pm callbacks
    - two new API that needs to be invoked from the OMAP remoteproc
      driver to suspend/resume the IOMMU.
    - locked TLB save & restore logic
    - add needed pdata quirks to all supported IOMMUs

* 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu:
  iommu/omap: add support for runtime auto suspend/resume
  iommu/omap: add logic to save/restore locked TLBs
  iommu/omap: introduce new API for suspend/resume
  iommu/omap: streamline enable/disable through runtime pm callbacks
  ARM: OMAP2+: add pdata-quirks for OMAP3 ISP IOMMU
  ARM: OMAP2+: Add iommu pdata-quirks for DRA7 DSP EDMA MMUs
  ARM: OMAP2+: plug in device_enable/idle ops for IOMMUs
  iommu/omap: add pdata ops for omap_device_enable/idle

Signed-off-by: Suman Anna <s-anna@ti.com>
1  2 
arch/arm/mach-omap2/pdata-quirks.c

index bce029f1bdcd22d822fafc35ff3881395255cc3c,ec7e6df8d0c67fa12f5aa5b8b1f1bb67a2e5eabd..9bb61bec9251b3fc73577067782ddd6b82ff2a7d
@@@ -221,38 -208,16 +228,45 @@@ static struct iommu_platform_data omap4
        .reset_name = "mmu_cache",
        .assert_reset = omap_device_assert_hardreset,
        .deassert_reset = omap_device_deassert_hardreset,
+       .device_enable = omap_device_enable,
+       .device_idle = omap_device_idle,
  };
 +
 +static struct omap_rproc_pdata omap4_ipu_pdata = {
 +      .device_enable = omap_rproc_device_enable,
 +      .device_shutdown = omap_rproc_device_shutdown,
 +      .timer_ops = &omap_rproc_dmtimer_ops,
 +};
 +#endif
 +
 +#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
 +static struct omap_rproc_pdata omap4_dsp_pdata = {
 +      .device_enable = omap_rproc_device_enable,
 +      .device_shutdown = omap_rproc_device_shutdown,
 +      .set_bootaddr = omap_ctrl_write_dsp_boot_addr,
 +      .timer_ops = &omap_rproc_dmtimer_ops,
 +};
  #endif
  
  #ifdef CONFIG_SOC_DRA7XX
+ static struct iommu_platform_data dra7_dsp_mmu_edma_pdata = {
+       .device_enable = omap_device_enable,
+       .device_idle = omap_device_idle,
+ };
++
 +static struct omap_rproc_pdata dra7_dsp1_pdata = {
 +      .device_enable = omap_rproc_device_enable,
 +      .device_shutdown = omap_rproc_device_shutdown,
 +      .set_bootaddr = dra7_ctrl_write_dsp1_boot_addr,
 +      .timer_ops = &omap_rproc_dmtimer_ops,
 +};
 +
 +static struct omap_rproc_pdata dra7_dsp2_pdata = {
 +      .device_enable = omap_rproc_device_enable,
 +      .device_shutdown = omap_rproc_device_shutdown,
 +      .set_bootaddr = dra7_ctrl_write_dsp2_boot_addr,
 +      .timer_ops = &omap_rproc_dmtimer_ops,
 +};
  #endif
  
  #ifdef CONFIG_SOC_AM33XX