summaryrefslogtreecommitdiff
path: root/drivers/iommu
diff options
context:
space:
mode:
authorFernando Guzman Lugo <fernando.lugo@ti.com>2012-06-07 17:01:46 +0800
committerAndy Green <andy.green@linaro.org>2012-06-22 09:49:08 +0800
commit87ca745687856942d5084296ed3ebeef7c18b3f7 (patch)
treeb8ca0069afd436a6928138edff5f9a1d5627f7da /drivers/iommu
parent81d8a2a3e632c2d8fbf7adcc5a4ce722bd4cd06e (diff)
omap: iommu: deny clkdm idle when iommu fault is not handle until shutdown
When and iommu fault happen and it could not be handled (that means a valid physical address could not be found) we cannot ack the status bit of the interrupt. Therefore, we need to deny clkdm idle for the clock of the iommu until the ack can be done. Otherwise, if there is no clkdm activity (that can happen if the processor associated with the processor is put under reset) the clkdm will try to go to idle and it will fail and get stuck in transition state because of the pending interrupt. In order to avoid that scenario we deny idle in the mmufault ISR and then in the shutdown of the iommu we ack the interrupt and then allow idle again. Also, for omap4 and omap5 the IPU and DSP processors have a shared MMU which try to use the iommu again once it is acked even if the processor is already under reset. For that reason the shared MMU must be reset. The shared MMU only has hardreset and it is shared with the iommu, for that reason we need to do a hardreset en the iommuu device. In order to accomplish that we use hwmod functions. Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com> Signed-off-by: Subramaniam Chanderashekarapuram <subramaniam.ca@ti.com>
Diffstat (limited to 'drivers/iommu')
0 files changed, 0 insertions, 0 deletions