[media] exynos-gsc: fix s2r functionality
When gsc is in runtime suspended state, there is no need to call m2m_suspend during suspend and similarly, there is no need to call m2m_resume during resume if already in runtime suspended state. This patch adds the necessary conditions to achieve this. Signed-off-by: Prathyush K <prathyush.k@samsung.com> Signed-off-by: Arun Mankuzhi <arun.m@samsung.com> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
ae796c7868
commit
f9fa906f00
|
@ -1210,12 +1210,12 @@ static int gsc_resume(struct device *dev)
|
|||
spin_unlock_irqrestore(&gsc->slock, flags);
|
||||
return 0;
|
||||
}
|
||||
gsc_hw_set_sw_reset(gsc);
|
||||
gsc_wait_reset(gsc);
|
||||
|
||||
spin_unlock_irqrestore(&gsc->slock, flags);
|
||||
|
||||
return gsc_m2m_resume(gsc);
|
||||
if (!pm_runtime_suspended(dev))
|
||||
return gsc_runtime_resume(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int gsc_suspend(struct device *dev)
|
||||
|
@ -1227,7 +1227,10 @@ static int gsc_suspend(struct device *dev)
|
|||
if (test_and_set_bit(ST_SUSPEND, &gsc->state))
|
||||
return 0;
|
||||
|
||||
return gsc_m2m_suspend(gsc);
|
||||
if (!pm_runtime_suspended(dev))
|
||||
return gsc_runtime_suspend(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops gsc_pm_ops = {
|
||||
|
|
Loading…
Reference in New Issue