media: am437x-vpfe: Fix suspend path to always handle pinctrl config
Currently if vpfe is not active then it returns immediately in the suspend and resume handlers. Change this so that it always performs the pinctrl config so that we can still get proper sleep state configuration on the pins even if we do not need to worry about fully saving and restoring context. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Benoit Parrot <bparrot@ti.com> Acked-by: Lad Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Родитель
2c4414ce92
Коммит
b0e41bf23b
|
@ -2653,10 +2653,8 @@ static int vpfe_suspend(struct device *dev)
|
|||
struct vpfe_device *vpfe = dev_get_drvdata(dev);
|
||||
struct vpfe_ccdc *ccdc = &vpfe->ccdc;
|
||||
|
||||
/* if streaming has not started we don't care */
|
||||
if (!vb2_start_streaming_called(&vpfe->buffer_queue))
|
||||
return 0;
|
||||
|
||||
/* only do full suspend if streaming has started */
|
||||
if (vb2_start_streaming_called(&vpfe->buffer_queue)) {
|
||||
pm_runtime_get_sync(dev);
|
||||
vpfe_config_enable(ccdc, 1);
|
||||
|
||||
|
@ -2669,6 +2667,7 @@ static int vpfe_suspend(struct device *dev)
|
|||
|
||||
/* Disable both master and slave clock */
|
||||
pm_runtime_put_sync(dev);
|
||||
}
|
||||
|
||||
/* Select sleep pin state */
|
||||
pinctrl_pm_select_sleep_state(dev);
|
||||
|
@ -2710,10 +2709,8 @@ static int vpfe_resume(struct device *dev)
|
|||
struct vpfe_device *vpfe = dev_get_drvdata(dev);
|
||||
struct vpfe_ccdc *ccdc = &vpfe->ccdc;
|
||||
|
||||
/* if streaming has not started we don't care */
|
||||
if (!vb2_start_streaming_called(&vpfe->buffer_queue))
|
||||
return 0;
|
||||
|
||||
/* only do full resume if streaming has started */
|
||||
if (vb2_start_streaming_called(&vpfe->buffer_queue)) {
|
||||
/* Enable both master and slave clock */
|
||||
pm_runtime_get_sync(dev);
|
||||
vpfe_config_enable(ccdc, 1);
|
||||
|
@ -2723,6 +2720,7 @@ static int vpfe_resume(struct device *dev)
|
|||
|
||||
vpfe_config_enable(ccdc, 0);
|
||||
pm_runtime_put_sync(dev);
|
||||
}
|
||||
|
||||
/* Select default pin state */
|
||||
pinctrl_pm_select_default_state(dev);
|
||||
|
|
Загрузка…
Ссылка в новой задаче