summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJon Mayo <jmayo@nvidia.com>2014-06-12 17:02:10 -0700
committerEmad Mir <emir@nvidia.com>2014-06-25 11:21:09 -0700
commit3a9da80e8ae10b66b7f646112d91c86e98583fba (patch)
tree86c38bcbbc3c02a3401fab1221cc4366682086c0 /include
parent3767a1d815ee644db71e0377097ce48c875325bf (diff)
video: tegra: dc: accept CSC on window update
This patch permits changing of the current CSC coefficients. It cannot be used with interlaced mode. Adds fields to skip window CSC programming if nothing has changed. Bug 1522546 Change-Id: If8fc6a5d634e4b300ef0de6a5913188fe1f1efb0 Signed-off-by: Jon Mayo <jmayo@nvidia.com> Reviewed-on: http://git-master/r/422885 (cherry picked from commit 4aa22cd32362f0d91ef030bc0942c303714141cf) Reviewed-on: http://git-master/r/425986 GVS: Gerrit_Virtual_Submit Reviewed-by: Michael Frydrych <mfrydrych@nvidia.com> Tested-by: Michael Frydrych <mfrydrych@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/video/tegra_dc_ext.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/include/video/tegra_dc_ext.h b/include/video/tegra_dc_ext.h
index 72e6329b02e7..78e344d5ad6f 100644
--- a/include/video/tegra_dc_ext.h
+++ b/include/video/tegra_dc_ext.h
@@ -92,6 +92,7 @@
#define TEGRA_DC_EXT_FLIP_FLAG_BLOCKLINEAR (1 << 5)
#define TEGRA_DC_EXT_FLIP_FLAG_SCAN_COLUMN (1 << 6)
#define TEGRA_DC_EXT_FLIP_FLAG_INTERLACE (1 << 7)
+#define TEGRA_DC_EXT_FLIP_FLAG_UPDATE_CSC (1 << 9)
struct tegra_timespec {
__s32 tv_sec; /* seconds */
@@ -138,11 +139,24 @@ struct tegra_dc_ext_flip_windowattr {
/* log2(blockheight) for blocklinear format */
__u8 block_height_log2;
__u8 pad1[2];
- __u32 offset2;
- __u32 offset_u2;
- __u32 offset_v2;
- /* Leave some wiggle room for future expansion */
- __u32 pad2[1];
+ union { /* fields for mutually exclusive options */
+ struct { /* TEGRA_DC_EXT_FLIP_FLAG_INTERLACE */
+ __u32 offset2;
+ __u32 offset_u2;
+ __u32 offset_v2;
+ __u32 pad2[1];
+ };
+ struct { /* TEGRA_DC_EXT_FLIP_FLAG_UPDATE_CSC */
+ __u16 yof; /* s.7.0 */
+ __u16 kyrgb; /* 2.8 */
+ __u16 kur; /* s.2.8 */
+ __u16 kvr; /* s.2.8 */
+ __u16 kug; /* s.1.8 */
+ __u16 kvg; /* s.1.8 */
+ __u16 kub; /* s.2.8 */
+ __u16 kvb; /* s.2.8 */
+ } csc;
+ };
};
#define TEGRA_DC_EXT_FLIP_N_WINDOWS 3