mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 09:33:31 +02:00
drm/tidss: Use PM autosuspend
Use runtime PM autosuspend feature, with 1s timeout, to avoid unnecessary suspend-resume cycles when, e.g. the userspace temporarily turns off the crtcs when configuring the outputs. Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com> Link: https://lore.kernel.org/r/20231109-tidss-probe-v2-2-ac91b5ea35c0@ideasonboard.com Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
This commit is contained in:
parent
a0a9e7b469
commit
4b0bdf9383
|
|
@ -43,7 +43,9 @@ void tidss_runtime_put(struct tidss_device *tidss)
|
|||
|
||||
dev_dbg(tidss->dev, "%s\n", __func__);
|
||||
|
||||
r = pm_runtime_put_sync(tidss->dev);
|
||||
pm_runtime_mark_last_busy(tidss->dev);
|
||||
|
||||
r = pm_runtime_put_autosuspend(tidss->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
|
@ -144,6 +146,9 @@ static int tidss_probe(struct platform_device *pdev)
|
|||
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
pm_runtime_set_autosuspend_delay(dev, 1000);
|
||||
pm_runtime_use_autosuspend(dev);
|
||||
|
||||
#ifndef CONFIG_PM
|
||||
/* If we don't have PM, we need to call resume manually */
|
||||
dispc_runtime_resume(tidss->dispc);
|
||||
|
|
@ -192,6 +197,7 @@ static int tidss_probe(struct platform_device *pdev)
|
|||
#ifndef CONFIG_PM
|
||||
dispc_runtime_suspend(tidss->dispc);
|
||||
#endif
|
||||
pm_runtime_dont_use_autosuspend(dev);
|
||||
pm_runtime_disable(dev);
|
||||
|
||||
return ret;
|
||||
|
|
@ -215,6 +221,7 @@ static void tidss_remove(struct platform_device *pdev)
|
|||
/* If we don't have PM, we need to call suspend manually */
|
||||
dispc_runtime_suspend(tidss->dispc);
|
||||
#endif
|
||||
pm_runtime_dont_use_autosuspend(dev);
|
||||
pm_runtime_disable(dev);
|
||||
|
||||
/* devm allocated dispc goes away with the dev so mark it NULL */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user