Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b74f14fd authored by Joonyoung Shim's avatar Joonyoung Shim Committed by Inki Dae
Browse files

drm/exynos: initialize VIDCON0 when fimd is disabled



When the fimd is disabled by fimd_disable(), enabled overlay layers also
are disabled. If clocks for fimd are enabled by fimd_enable() on this
case, it can lead IOMMU page fault. The reason is that VIDCON0_ENVID and
VIDCON0_ENVID_F bits of VIDCON0 register are set still even though fimd
is disabled, so it may continue display output of prior when clocks for
fimd are enabled again.

Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent c329f667
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -801,6 +801,8 @@ static void fimd_disable(struct exynos_drm_crtc *crtc)
	for (i = 0; i < WINDOWS_NR; i++)
	for (i = 0; i < WINDOWS_NR; i++)
		fimd_win_disable(crtc, i);
		fimd_win_disable(crtc, i);


	writel(0, ctx->regs + VIDCON0);

	clk_disable_unprepare(ctx->lcd_clk);
	clk_disable_unprepare(ctx->lcd_clk);
	clk_disable_unprepare(ctx->bus_clk);
	clk_disable_unprepare(ctx->bus_clk);