Commit 3b9e71ea authored by Thierry Reding's avatar Thierry Reding
Browse files

drm/tegra: Split DC_CMD_STATE_CONTROL register write



The Tegra TRM says that the ACT_REQ and UPDATE fields cannot be
programmed at the same time so they are updated in two consecutive
writes instead.

Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
parent 3c03c46a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -689,9 +689,10 @@ static void tegra_crtc_commit(struct drm_crtc *crtc)
	struct tegra_dc *dc = to_tegra_dc(crtc);
	unsigned long value;

	value = GENERAL_ACT_REQ | WIN_A_ACT_REQ |
		GENERAL_UPDATE | WIN_A_UPDATE;
	value = GENERAL_UPDATE | WIN_A_UPDATE;
	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);

	value = GENERAL_ACT_REQ | WIN_A_ACT_REQ;
	tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);

	drm_vblank_post_modeset(crtc->dev, dc->pipe);