From f38a8b7992b78efdc4ab77709419bc4bd511462f Mon Sep 17 00:00:00 2001 From: Grey Li Date: Tue, 3 Dec 2019 17:45:38 +0800 Subject: [PATCH] video: rockchip: mpp: fix reset fail in shared reset clk Use devm_reset_control_get replace devm_reset_control_get_shared because we want to reset hardware really and don't care about others. Change-Id: I548ed01e0ce7bbed46c37e2da1476b2623c3d452 Signed-off-by: Grey Li --- drivers/video/rockchip/mpp/mpp_rkvdec.c | 18 ++++++------------ drivers/video/rockchip/mpp/mpp_vdpu1.c | 6 ++---- drivers/video/rockchip/mpp/mpp_vdpu2.c | 6 ++---- drivers/video/rockchip/mpp/mpp_vepu1.c | 6 ++---- drivers/video/rockchip/mpp/mpp_vepu2.c | 6 ++---- 5 files changed, 14 insertions(+), 28 deletions(-) diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec.c b/drivers/video/rockchip/mpp/mpp_rkvdec.c index 33c051f9612c..debae28920aa 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec.c @@ -1019,42 +1019,36 @@ static int rkvdec_init(struct mpp_dev *mpp) dec->clk_core = NULL; } - dec->rst_a = devm_reset_control_get_shared(mpp->dev, "video_a"); + dec->rst_a = devm_reset_control_get(mpp->dev, "video_a"); if (IS_ERR_OR_NULL(dec->rst_a)) { mpp_err("No aclk reset resource define\n"); dec->rst_a = NULL; } - dec->rst_h = devm_reset_control_get_shared(mpp->dev, "video_h"); + dec->rst_h = devm_reset_control_get(mpp->dev, "video_h"); if (IS_ERR_OR_NULL(dec->rst_h)) { mpp_err("No hclk reset resource define\n"); dec->rst_h = NULL; } - dec->rst_niu_a = devm_reset_control_get_shared(mpp->dev, "niu_a"); + dec->rst_niu_a = devm_reset_control_get(mpp->dev, "niu_a"); if (IS_ERR_OR_NULL(dec->rst_niu_a)) { mpp_err("No niu aclk reset resource define\n"); dec->rst_niu_a = NULL; } - dec->rst_niu_h = devm_reset_control_get_shared(mpp->dev, "niu_h"); + dec->rst_niu_h = devm_reset_control_get(mpp->dev, "niu_h"); if (IS_ERR_OR_NULL(dec->rst_niu_h)) { mpp_err("No niu hclk reset resource define\n"); dec->rst_niu_h = NULL; } - dec->rst_cabac = devm_reset_control_get_shared(mpp->dev, "video_cabac"); + dec->rst_cabac = devm_reset_control_get(mpp->dev, "video_cabac"); if (IS_ERR_OR_NULL(dec->rst_cabac)) { mpp_err("No cabac reset resource define\n"); dec->rst_cabac = NULL; } - dec->rst_core = devm_reset_control_get_shared(mpp->dev, "video_core"); + dec->rst_core = devm_reset_control_get(mpp->dev, "video_core"); if (IS_ERR_OR_NULL(dec->rst_core)) { mpp_err("No core reset resource define\n"); dec->rst_core = NULL; } - mpp_safe_unreset(dec->rst_a); - mpp_safe_unreset(dec->rst_h); - mpp_safe_unreset(dec->rst_niu_h); - mpp_safe_unreset(dec->rst_niu_a); - mpp_safe_unreset(dec->rst_cabac); - mpp_safe_unreset(dec->rst_core); return 0; } diff --git a/drivers/video/rockchip/mpp/mpp_vdpu1.c b/drivers/video/rockchip/mpp/mpp_vdpu1.c index 9463f34e2e6e..a1dd65943b50 100644 --- a/drivers/video/rockchip/mpp/mpp_vdpu1.c +++ b/drivers/video/rockchip/mpp/mpp_vdpu1.c @@ -478,18 +478,16 @@ static int vdpu_init(struct mpp_dev *mpp) dec->hclk = NULL; } - dec->rst_a = devm_reset_control_get_shared(mpp->dev, "video_a"); + dec->rst_a = devm_reset_control_get(mpp->dev, "video_a"); if (IS_ERR_OR_NULL(dec->rst_a)) { mpp_err("No aclk reset resource define\n"); dec->rst_a = NULL; } - dec->rst_h = devm_reset_control_get_shared(mpp->dev, "video_h"); + dec->rst_h = devm_reset_control_get(mpp->dev, "video_h"); if (IS_ERR_OR_NULL(dec->rst_h)) { mpp_err("No hclk reset resource define\n"); dec->rst_h = NULL; } - mpp_safe_unreset(dec->rst_a); - mpp_safe_unreset(dec->rst_h); return 0; } diff --git a/drivers/video/rockchip/mpp/mpp_vdpu2.c b/drivers/video/rockchip/mpp/mpp_vdpu2.c index aa7426e1d9e7..9e765d88dda2 100644 --- a/drivers/video/rockchip/mpp/mpp_vdpu2.c +++ b/drivers/video/rockchip/mpp/mpp_vdpu2.c @@ -442,18 +442,16 @@ static int vdpu_init(struct mpp_dev *mpp) dec->hclk = NULL; } - dec->rst_a = devm_reset_control_get_shared(mpp->dev, "video_a"); + dec->rst_a = devm_reset_control_get(mpp->dev, "video_a"); if (IS_ERR_OR_NULL(dec->rst_a)) { mpp_err("No aclk reset resource define\n"); dec->rst_a = NULL; } - dec->rst_h = devm_reset_control_get_shared(mpp->dev, "video_h"); + dec->rst_h = devm_reset_control_get(mpp->dev, "video_h"); if (IS_ERR_OR_NULL(dec->rst_h)) { mpp_err("No hclk reset resource define\n"); dec->rst_h = NULL; } - mpp_safe_unreset(dec->rst_a); - mpp_safe_unreset(dec->rst_h); return 0; } diff --git a/drivers/video/rockchip/mpp/mpp_vepu1.c b/drivers/video/rockchip/mpp/mpp_vepu1.c index 323f923244f1..71e654d5eabc 100644 --- a/drivers/video/rockchip/mpp/mpp_vepu1.c +++ b/drivers/video/rockchip/mpp/mpp_vepu1.c @@ -398,18 +398,16 @@ static int vepu_init(struct mpp_dev *mpp) enc->hclk = NULL; } - enc->rst_a = devm_reset_control_get_shared(mpp->dev, "video_a"); + enc->rst_a = devm_reset_control_get(mpp->dev, "video_a"); if (IS_ERR_OR_NULL(enc->rst_a)) { mpp_err("No aclk reset resource define\n"); enc->rst_a = NULL; } - enc->rst_h = devm_reset_control_get_shared(mpp->dev, "video_h"); + enc->rst_h = devm_reset_control_get(mpp->dev, "video_h"); if (IS_ERR_OR_NULL(enc->rst_h)) { mpp_err("No hclk reset resource define\n"); enc->rst_h = NULL; } - mpp_safe_unreset(enc->rst_a); - mpp_safe_unreset(enc->rst_h); return 0; } diff --git a/drivers/video/rockchip/mpp/mpp_vepu2.c b/drivers/video/rockchip/mpp/mpp_vepu2.c index eb38e7ccb26b..7a9983dcff18 100644 --- a/drivers/video/rockchip/mpp/mpp_vepu2.c +++ b/drivers/video/rockchip/mpp/mpp_vepu2.c @@ -405,18 +405,16 @@ static int vepu_init(struct mpp_dev *mpp) enc->hclk = NULL; } - enc->rst_a = devm_reset_control_get_shared(mpp->dev, "video_a"); + enc->rst_a = devm_reset_control_get(mpp->dev, "video_a"); if (IS_ERR_OR_NULL(enc->rst_a)) { mpp_err("No aclk reset resource define\n"); enc->rst_a = NULL; } - enc->rst_h = devm_reset_control_get_shared(mpp->dev, "video_h"); + enc->rst_h = devm_reset_control_get(mpp->dev, "video_h"); if (IS_ERR_OR_NULL(enc->rst_h)) { mpp_err("No hclk reset resource define\n"); enc->rst_h = NULL; } - mpp_safe_unreset(enc->rst_a); - mpp_safe_unreset(enc->rst_h); return 0; }