Hi, John Thanks for sharing this information! Hi, XiaoJing I boot tested this change with hikey and hikey960 android-mainline builds, both could boot to the home screen. But I am not sure what the problem is without this change, so I could not check if this change helps fix any problem, just checked that it did not cause any problem for the boot. Thanks, Yongqin Liu On Sat, 3 Dec 2022 at 02:06, John Stultz <jstultz@xxxxxxxxxx> wrote: > > On Fri, Dec 2, 2022 at 12:22 AM Shang XiaoJing <shangxiaojing@xxxxxxxxxx> wrote: > > > > The clk_disable_unprepare() should be called in the error handling of > > ade_power_up(). So as reset_control_assert(). > > > > Fixes: 783ad972c9a0 ("drm/hisilicon: Add crtc driver for ADE") > > Signed-off-by: Shang XiaoJing <shangxiaojing@xxxxxxxxxx> > > Looks reasonable to me. Thanks for sending this out! > CC'ing YongQin and Sumit as they have hardware to test against. > > Acked-by: John Stultz <jstultz@xxxxxxxxxx> > > > > --- > > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > > index 871f79a6b17e..439e87923bcf 100644 > > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > > @@ -229,12 +229,15 @@ static int ade_power_up(struct ade_hw_ctx *ctx) > > ret = reset_control_deassert(ctx->reset); > > if (ret) { > > DRM_ERROR("failed to deassert reset\n"); > > + clk_disable_unprepare(ctx->media_noc_clk); > > return ret; > > } > > > > ret = clk_prepare_enable(ctx->ade_core_clk); > > if (ret) { > > DRM_ERROR("failed to enable ade_core_clk (%d)\n", ret); > > + reset_control_assert(ctx->reset); > > + clk_disable_unprepare(ctx->media_noc_clk); > > return ret; > > } > > > > -- > > 2.17.1 > > -- Best Regards, Yongqin Liu --------------------------------------------------------------- #mailing list linaro-android@xxxxxxxxxxxxxxxx http://lists.linaro.org/mailman/listinfo/linaro-android