Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
spinlock_t lock;
struct iommu_domain *domain;
bool runtime_active;
+ bool suspended;
unsigned long pgtable;
void __iomem *sfrbase;
};
static void __sysmmu_disable_nocount(struct sysmmu_drvdata *data)
{
+ if (data->suspended)
+ return;
+
+ data->suspended = 1;
clk_enable(data->clk_master);
__raw_writel(CTRL_DISABLE, data->sfrbase + REG_MMU_CTRL);
static void __sysmmu_enable_nocount(struct sysmmu_drvdata *data)
{
+ if (!data->suspended)
+ return;
+
+ data->suspended = 0;
+
clk_enable(data->clk_master);
clk_enable(data->clk);
}
data->runtime_active = !pm_runtime_enabled(dev);
+ data->suspended = 1;
spin_lock_init(&data->lock);
INIT_LIST_HEAD(&data->node);