[PATCH 00/25] Fix some PM runtime issues at the media subsystem

From: Mauro Carvalho Chehab
Date: Wed May 05 2021 - 05:42:38 EST


As part of an effort to cleanup pm_runtime*get* calls, I detected a number
of issues at the media subsystem.

Most of the patches here were submitted previously at:

https://lore.kernel.org/linux-media/cover.1619621413.git.mchehab+huawei@xxxxxxxxxx/

This series contain just the bug fixes and other related issues that are
present with the current code on media.

It address the points from the existing reviews. I also did my own
set of reviews, in order to avoid regressions.

Changes from v4 of the previous changeset:

- reworked i2c/css RPM get logic;
- dropped two patches that could cause regressions;
- am437x: keep using pm_runtime_get_sync on suspend/resume;
- atmel: fix the returned code and add a print on failures at start streaming;
- simplify some checks for return code > 0;
- mdk-vcodec: properly handle RPM errors at device on logic;
- venus: rework venus_sys_error_handler() logic;
- sti/delta: fix an issue at the error checking logic.

Mauro Carvalho Chehab (25):
staging: media: rkvdec: fix pm_runtime_get_sync() usage count
staging: media: imx7-mipi-csis: fix pm_runtime_get_sync() usage count
media: venus: Rework error fail recover logic
media: s5p_cec: decrement usage count if disabled
media: i2c: ccs-core: return the right error code at suspend
media: i2c: imx334: fix the pm runtime get logic
media: exynos-gsc: don't resume at remove time
media: atmel: properly get pm_runtime
media: hantro: do a PM resume earlier
media: marvel-ccic: fix some issues when getting pm_runtime
media: mdk-mdp: fix pm_runtime_get_sync() usage count
media: rcar_fdp1: simplify error check logic at fdp_open()
media: rcar_fdp1: fix pm_runtime_get_sync() usage count
media: renesas-ceu: Properly check for PM errors
media: s5p: fix pm_runtime_get_sync() usage count
media: am437x: fix pm_runtime_get_sync() usage count
media: sh_vou: fix pm_runtime_get_sync() usage count
media: mtk-vcodec: fix PM runtime get logic
media: s5p-jpeg: fix pm_runtime_get_sync() usage count
media: sti/delta: use pm_runtime_resume_and_get()
media: sunxi: fix pm_runtime_get_sync() usage count
media: sti/bdisp: fix pm_runtime_get_sync() usage count
media: exynos4-is: fix pm_runtime_get_sync() usage count
media: exynos-gsc: fix pm_runtime_get_sync() usage count
media: i2c: ccs-core: fix pm_runtime_get_sync() usage count

drivers/media/cec/platform/s5p/s5p_cec.c | 7 ++-
drivers/media/i2c/ccs/ccs-core.c | 41 ++++++++-----
drivers/media/i2c/imx334.c | 7 ++-
drivers/media/platform/am437x/am437x-vpfe.c | 15 ++++-
drivers/media/platform/atmel/atmel-isc-base.c | 30 +++++++---
drivers/media/platform/atmel/atmel-isi.c | 19 ++++--
drivers/media/platform/exynos-gsc/gsc-core.c | 11 ++--
drivers/media/platform/exynos-gsc/gsc-m2m.c | 4 +-
.../media/platform/exynos4-is/fimc-capture.c | 6 +-
drivers/media/platform/exynos4-is/fimc-is.c | 4 +-
.../platform/exynos4-is/fimc-isp-video.c | 3 +-
drivers/media/platform/exynos4-is/fimc-isp.c | 7 +--
drivers/media/platform/exynos4-is/fimc-lite.c | 5 +-
drivers/media/platform/exynos4-is/fimc-m2m.c | 5 +-
drivers/media/platform/exynos4-is/media-dev.c | 9 +--
drivers/media/platform/exynos4-is/mipi-csis.c | 10 ++--
.../media/platform/marvell-ccic/mcam-core.c | 9 ++-
drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 6 +-
.../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 4 +-
.../platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 8 ++-
.../platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 2 +-
drivers/media/platform/qcom/venus/core.c | 59 +++++++++++++++----
drivers/media/platform/rcar_fdp1.c | 28 ++++++---
drivers/media/platform/renesas-ceu.c | 4 +-
drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 +-
drivers/media/platform/sh_vou.c | 6 +-
drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 7 ++-
drivers/media/platform/sti/delta/delta-v4l2.c | 8 +--
.../sunxi/sun8i-rotate/sun8i_rotate.c | 2 +-
drivers/staging/media/hantro/hantro_drv.c | 7 ++-
drivers/staging/media/imx/imx7-mipi-csis.c | 7 +--
drivers/staging/media/rkvdec/rkvdec.c | 2 +-
32 files changed, 220 insertions(+), 127 deletions(-)

--
2.30.2