diff options
author | Kevin Huang <kevinh@nvidia.com> | 2012-02-27 17:26:02 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-02-28 17:30:11 -0800 |
commit | 90b79e5712300baab889772a5af348559ac95836 (patch) | |
tree | c3836a481d2ed6184c9dcdebeeb220fc0c0903eb /drivers/video | |
parent | 1d2c1adc7c13de9c6058e05aecfff2da44d8a173 (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.c | 8 |
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; |