Message ID | 20221014102029.1162-1-allen-kh.cheng@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | soc: mediatek: pm-domains: Fix the power glitch issue | expand |
Hey maintainer, Gentle ping for this one. Cheers, Allen On Fri, 2022-10-14 at 12:30 +0200, AngeloGioacchino Del Regno wrote: > Il 14/10/22 12:20, Allen-KH Cheng ha scritto: > > From: Chun-Jie Chen <chun-jie.chen@mediatek.com> > > > > Power reset maybe generate unexpected signal. In order to avoid > > the glitch issue, we need to enable isolation first to guarantee > > the > > stable signal when power reset is triggered. > > > > Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power > > domains") > > Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com> > > Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com> > > Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> > > Reviewed-by: Miles Chen <miles.chen@mediatek.com> > > Reviewed-by: AngeloGioacchino Del Regno < > angelogioacchino.delregno@collabora.com> > >
On 14/10/2022 12:20, Allen-KH Cheng wrote: > From: Chun-Jie Chen <chun-jie.chen@mediatek.com> > > Power reset maybe generate unexpected signal. In order to avoid > the glitch issue, we need to enable isolation first to guarantee the > stable signal when power reset is triggered. > > Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power domains") > Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com> > Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com> > Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> > Reviewed-by: Miles Chen <miles.chen@mediatek.com> Applied to fixes now, thanks! > --- > Resend a PATCH from > https://patchwork.kernel.org/project/linux-mediatek/patch/20220310011548.2487-1-chun-jie.chen@mediatek.com/ > > [Allen-KH Cheng <allen-kh.cheng@mediatek.com>] > --- > --- > drivers/soc/mediatek/mtk-pm-domains.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/soc/mediatek/mtk-pm-domains.c b/drivers/soc/mediatek/mtk-pm-domains.c > index 09e3c38b8466..474b272f9b02 100644 > --- a/drivers/soc/mediatek/mtk-pm-domains.c > +++ b/drivers/soc/mediatek/mtk-pm-domains.c > @@ -275,9 +275,9 @@ static int scpsys_power_off(struct generic_pm_domain *genpd) > clk_bulk_disable_unprepare(pd->num_subsys_clks, pd->subsys_clks); > > /* subsys power off */ > - regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); > regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ISO_BIT); > regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_CLK_DIS_BIT); > + regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); > regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_2ND_BIT); > regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_BIT); >
diff --git a/drivers/soc/mediatek/mtk-pm-domains.c b/drivers/soc/mediatek/mtk-pm-domains.c index 09e3c38b8466..474b272f9b02 100644 --- a/drivers/soc/mediatek/mtk-pm-domains.c +++ b/drivers/soc/mediatek/mtk-pm-domains.c @@ -275,9 +275,9 @@ static int scpsys_power_off(struct generic_pm_domain *genpd) clk_bulk_disable_unprepare(pd->num_subsys_clks, pd->subsys_clks); /* subsys power off */ - regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ISO_BIT); regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_CLK_DIS_BIT); + regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_2ND_BIT); regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_BIT);