[PATCH v3 6/7] drm/tegra: Split DC_CMD_STATE_CONTROL register write
Thierry Reding
thierry.reding at avionic-design.de
Wed Feb 13 08:05:05 PST 2013
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: Thierry Reding <thierry.reding at avionic-design.de>
---
drivers/gpu/drm/tegra/dc.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 0328963..9b2a551 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -594,9 +594,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);
--
1.8.1.2
More information about the dri-devel
mailing list