video: tegra: dc: check if WinD and WinH are dirty
Jon Mayo [Fri, 8 Mar 2013 22:12:00 +0000 (14:12 -0800)]
Change-Id: Id90803c865b4ec0f25288b8163fecaae64b18173
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-on: http://git-master/r/208881
Reviewed-by: Automatic_Commit_Validation_User

drivers/video/tegra/dc/dc.c
drivers/video/tegra/dc/dc_priv.h
drivers/video/tegra/dc/dc_reg.h

index 9863fbc..7e0fb42 100644 (file)
@@ -1242,8 +1242,8 @@ static bool tegra_dc_windows_are_dirty(struct tegra_dc *dc)
                return false;
 
        val = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
-       if (val & (WIN_A_ACT_REQ | WIN_B_ACT_REQ | WIN_C_ACT_REQ))
-           return true;
+       if (val & WIN_ALL_ACT_REQ)
+               return true;
 
        return false;
 }
index b1dc5c7..96f4736 100644 (file)
 #endif
 #include <mach/powergate.h>
 
+#if defined(CONFIG_ARCH_TEGRA_14x_SOC)
+#define WIN_ALL_ACT_REQ (WIN_A_ACT_REQ | WIN_B_ACT_REQ | WIN_C_ACT_REQ | \
+       WIN_D_ACT_REQ | WIN_H_ACT_REQ)
+#else
+#define WIN_ALL_ACT_REQ (WIN_A_ACT_REQ | WIN_B_ACT_REQ | WIN_C_ACT_REQ)
+#endif
+
 static inline void tegra_dc_io_start(struct tegra_dc *dc)
 {
        nvhost_module_busy_ext(dc->ndev);
index f807f69..946b2a7 100644 (file)
 #define  WIN_A_ACT_REQ         (1 << 1)
 #define  WIN_B_ACT_REQ         (1 << 2)
 #define  WIN_C_ACT_REQ         (1 << 3)
+#if defined(CONFIG_ARCH_TEGRA_14x_SOC)
+#define  WIN_D_ACT_REQ         (1 << 4)
+#define  WIN_H_ACT_REQ         (1 << 5)
+#endif
 #define  GENERAL_UPDATE                (1 << 8)
 #define  WIN_A_UPDATE          (1 << 9)
 #define  WIN_B_UPDATE          (1 << 10)
 #define  WIN_C_UPDATE          (1 << 11)
+#if defined(CONFIG_ARCH_TEGRA_14x_SOC)
+#define  WIN_D_UPDATE          (1 << 12)
+#define  WIN_H_UPDATE          (1 << 13)
+#endif
 #define  NC_HOST_TRIG          (1 << 24)
 
 #define DC_CMD_DISPLAY_WINDOW_HEADER           0x042