mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-11 05:17:10 +09:00
video: tegra: fix vblank detection
Change-Id: Ib74cbbb0d703c782f64f93930cd234359107021c Signed-off-by: Erik Gilling <konkers@android.com>
This commit is contained in:
@@ -490,7 +490,7 @@ int tegra_dc_update_windows(struct tegra_dc_win *windows[], int n)
|
||||
if (no_vsync)
|
||||
tegra_dc_writel(dc, WRITE_MUX_ACTIVE | READ_MUX_ACTIVE, DC_CMD_STATE_ACCESS);
|
||||
else
|
||||
tegra_dc_writel(dc, WRITE_MUX_ASSEMBLY | WRITE_MUX_ASSEMBLY, DC_CMD_STATE_ACCESS);
|
||||
tegra_dc_writel(dc, WRITE_MUX_ASSEMBLY | READ_MUX_ASSEMBLY, DC_CMD_STATE_ACCESS);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
struct tegra_dc_win *win = windows[i];
|
||||
@@ -823,7 +823,7 @@ static irqreturn_t tegra_dc_irq(int irq, void *ptr)
|
||||
|
||||
val = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
|
||||
for (i = 0; i < DC_N_WINDOWS; i++) {
|
||||
if (!(val & (WIN_A_ACT_REQ << i))) {
|
||||
if (!(val & (WIN_A_UPDATE << i))) {
|
||||
dc->windows[i].dirty = 0;
|
||||
completed = 1;
|
||||
} else {
|
||||
|
||||
@@ -89,6 +89,10 @@
|
||||
#define WIN_A_ACT_REQ (1 << 1)
|
||||
#define WIN_B_ACT_REQ (1 << 2)
|
||||
#define WIN_C_ACT_REQ (1 << 3)
|
||||
#define GENERAL_UPDATE (1 << 0)
|
||||
#define WIN_A_UPDATE (1 << 1)
|
||||
#define WIN_B_UPDATE (1 << 2)
|
||||
#define WIN_C_UPDATE (1 << 3)
|
||||
|
||||
#define DC_CMD_DISPLAY_WINDOW_HEADER 0x042
|
||||
#define WINDOW_A_SELECT (1 << 4)
|
||||
|
||||
Reference in New Issue
Block a user