summaryrefslogtreecommitdiffstats
path: root/include/video/tegra_dc_ext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/video/tegra_dc_ext.h')
-rw-r--r--include/video/tegra_dc_ext.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/video/tegra_dc_ext.h b/include/video/tegra_dc_ext.h
index bdfebaeb3..77d4e62d7 100644
--- a/include/video/tegra_dc_ext.h
+++ b/include/video/tegra_dc_ext.h
@@ -164,6 +164,29 @@ struct tegra_dc_ext_csc {
164 __u16 kvb; /* s.2.8 */ 164 __u16 kvb; /* s.2.8 */
165}; 165};
166 166
167/*
168 * RGB Lookup table
169 *
170 * In true-color and YUV modes this is used for post-CSC RGB->RGB lookup, i.e.
171 * gamma-correction. In palette-indexed RGB modes, this table designates the
172 * mode's color palette.
173 *
174 * To convert 8-bit per channel RGB values to 16-bit, duplicate the 8 bits
175 * in low and high byte, e.g. r=r|(r<<8)
176 *
177 * Current Tegra DC hardware supports 8-bit per channel to 8-bit per channel,
178 * and each hardware window (overlay) uses its own lookup table.
179 *
180 */
181struct tegra_dc_ext_lut {
182 __u32 win_index; /* window index to set lut for */
183 __u32 start; /* start index to update lut from */
184 __u32 len; /* number of valid lut entries */
185 __u16* r; /* array of size 16-bit red values */
186 __u16* g; /* array of size 16-bit green values */
187 __u16* b; /* array of size 16-bit blue values */
188};
189
167 190
168#define TEGRA_DC_EXT_FLAGS_ENABLED 1 191#define TEGRA_DC_EXT_FLAGS_ENABLED 1
169struct tegra_dc_ext_status { 192struct tegra_dc_ext_status {
@@ -205,6 +228,8 @@ struct tegra_dc_ext_status {
205#define TEGRA_DC_EXT_GET_VBLANK_SYNCPT \ 228#define TEGRA_DC_EXT_GET_VBLANK_SYNCPT \
206 _IOR('D', 0x09, __u32) 229 _IOR('D', 0x09, __u32)
207 230
231#define TEGRA_DC_EXT_SET_LUT \
232 _IOR('D', 0x0A, struct tegra_dc_ext_lut)
208 233
209enum tegra_dc_ext_control_output_type { 234enum tegra_dc_ext_control_output_type {
210 TEGRA_DC_EXT_DSI, 235 TEGRA_DC_EXT_DSI,