summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorKevin Huang <kevinh@nvidia.com>2012-02-27 17:26:02 -0800
committerSimone Willett <swillett@nvidia.com>2012-02-28 17:30:11 -0800
commit90b79e5712300baab889772a5af348559ac95836 (patch)
treec3836a481d2ed6184c9dcdebeeb220fc0c0903eb /drivers/video
parent1d2c1adc7c13de9c6058e05aecfff2da44d8a173 (diff)
video: tegra: dc: Clear window option before window update.
There exits an issue that if window number is less than DC_N_WINDOWS, window option of some windows won't be cleared. So although it should be disabled, it might not be disabled properly. This will lead to the failure of scan-out on screen. Bug 943846 Change-Id: I604399abaa590b27ab4ea41ed9eb2706be16a75a Signed-off-by: Kevin Huang <kevinh@nvidia.com> Reviewed-on: http://git-master/r/86230 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/tegra/dc/dc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index ab77b7e11dac..03f138ea8665 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1098,6 +1098,14 @@ int tegra_dc_update_windows(struct tegra_dc_win *windows[], int n)
else
tegra_dc_writel(dc, WRITE_MUX_ASSEMBLY | READ_MUX_ASSEMBLY, DC_CMD_STATE_ACCESS);
+ for (i = 0; i < DC_N_WINDOWS; i++) {
+ tegra_dc_writel(dc, WINDOW_A_SELECT << i,
+ DC_CMD_DISPLAY_WINDOW_HEADER);
+ tegra_dc_writel(dc, 0, DC_WIN_WIN_OPTIONS);
+ if (!no_vsync)
+ update_mask |= WIN_A_ACT_REQ << i;
+ }
+
for (i = 0; i < n; i++) {
struct tegra_dc_win *win = windows[i];
unsigned h_dda;