linux/drivers/gpu/drm/tegra/dc.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2012 Avionic Design GmbH
 * Copyright (C) 2012 NVIDIA CORPORATION.  All rights reserved.
 */

#ifndef TEGRA_DC_H
#define TEGRA_DC_H

#include <linux/host1x.h>

#include <drm/drm_crtc.h>

#include "drm.h"

struct tegra_output;

#define TEGRA_DC_LEGACY_PLANES_NUM

struct tegra_dc_state {};

static inline struct tegra_dc_state *to_dc_state(struct drm_crtc_state *state)
{}

struct tegra_dc_stats {};

struct tegra_windowgroup_soc {};

struct tegra_dc_soc_info {};

struct tegra_dc {};

static inline struct tegra_dc *
host1x_client_to_dc(struct host1x_client *client)
{}

static inline struct tegra_dc *to_tegra_dc(struct drm_crtc *crtc)
{}

static inline void tegra_dc_writel(struct tegra_dc *dc, u32 value,
				   unsigned int offset)
{}

static inline u32 tegra_dc_readl(struct tegra_dc *dc, unsigned int offset)
{}

struct tegra_dc_window {};

/* from dc.c */
bool tegra_dc_has_output(struct tegra_dc *dc, struct device *dev);
void tegra_dc_commit(struct tegra_dc *dc);
int tegra_dc_state_setup_clock(struct tegra_dc *dc,
			       struct drm_crtc_state *crtc_state,
			       struct clk *clk, unsigned long pclk,
			       unsigned int div);
void tegra_crtc_atomic_post_commit(struct drm_crtc *crtc,
				   struct drm_atomic_state *state);

/* from rgb.c */
int tegra_dc_rgb_probe(struct tegra_dc *dc);
void tegra_dc_rgb_remove(struct tegra_dc *dc);
int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc);
int tegra_dc_rgb_exit(struct tegra_dc *dc);

#define DC_CMD_GENERAL_INCR_SYNCPT
#define DC_CMD_GENERAL_INCR_SYNCPT_CNTRL
#define SYNCPT_CNTRL_NO_STALL
#define SYNCPT_CNTRL_SOFT_RESET
#define DC_CMD_GENERAL_INCR_SYNCPT_ERROR
#define DC_CMD_WIN_A_INCR_SYNCPT
#define DC_CMD_WIN_A_INCR_SYNCPT_CNTRL
#define DC_CMD_WIN_A_INCR_SYNCPT_ERROR
#define DC_CMD_WIN_B_INCR_SYNCPT
#define DC_CMD_WIN_B_INCR_SYNCPT_CNTRL
#define DC_CMD_WIN_B_INCR_SYNCPT_ERROR
#define DC_CMD_WIN_C_INCR_SYNCPT
#define DC_CMD_WIN_C_INCR_SYNCPT_CNTRL
#define DC_CMD_WIN_C_INCR_SYNCPT_ERROR
#define DC_CMD_CONT_SYNCPT_VSYNC
#define SYNCPT_VSYNC_ENABLE
#define DC_CMD_DISPLAY_COMMAND_OPTION0
#define DC_CMD_DISPLAY_COMMAND
#define DISP_CTRL_MODE_STOP
#define DISP_CTRL_MODE_C_DISPLAY
#define DISP_CTRL_MODE_NC_DISPLAY
#define DISP_CTRL_MODE_MASK
#define DC_CMD_SIGNAL_RAISE
#define DC_CMD_DISPLAY_POWER_CONTROL
#define PW0_ENABLE
#define PW1_ENABLE
#define PW2_ENABLE
#define PW3_ENABLE
#define PW4_ENABLE
#define PM0_ENABLE
#define PM1_ENABLE

#define DC_CMD_INT_STATUS
#define DC_CMD_INT_MASK
#define DC_CMD_INT_ENABLE
#define DC_CMD_INT_TYPE
#define DC_CMD_INT_POLARITY
#define CTXSW_INT
#define FRAME_END_INT
#define VBLANK_INT
#define V_PULSE3_INT
#define V_PULSE2_INT
#define REGION_CRC_INT
#define REG_TMOUT_INT
#define WIN_A_UF_INT
#define WIN_B_UF_INT
#define WIN_C_UF_INT
#define MSF_INT
#define WIN_A_OF_INT
#define WIN_B_OF_INT
#define WIN_C_OF_INT
#define HEAD_UF_INT
#define SD3_BUCKET_WALK_DONE_INT
#define DSC_OBUF_UF_INT
#define DSC_RBUF_UF_INT
#define DSC_BBUF_UF_INT
#define DSC_TO_UF_INT

#define DC_CMD_SIGNAL_RAISE1
#define DC_CMD_SIGNAL_RAISE2
#define DC_CMD_SIGNAL_RAISE3

#define DC_CMD_STATE_ACCESS
#define READ_MUX
#define WRITE_MUX

#define DC_CMD_STATE_CONTROL
#define GENERAL_ACT_REQ
#define WIN_A_ACT_REQ
#define WIN_B_ACT_REQ
#define WIN_C_ACT_REQ
#define CURSOR_ACT_REQ
#define GENERAL_UPDATE
#define WIN_A_UPDATE
#define WIN_B_UPDATE
#define WIN_C_UPDATE
#define CURSOR_UPDATE
#define COMMON_ACTREQ
#define COMMON_UPDATE
#define NC_HOST_TRIG

#define DC_CMD_DISPLAY_WINDOW_HEADER
#define WINDOW_A_SELECT
#define WINDOW_B_SELECT
#define WINDOW_C_SELECT

#define DC_CMD_REG_ACT_CONTROL

#define DC_COM_CRC_CONTROL
#define DC_COM_CRC_CONTROL_ALWAYS
#define DC_COM_CRC_CONTROL_FULL_FRAME
#define DC_COM_CRC_CONTROL_ACTIVE_DATA
#define DC_COM_CRC_CONTROL_WAIT
#define DC_COM_CRC_CONTROL_ENABLE
#define DC_COM_CRC_CHECKSUM
#define DC_COM_PIN_OUTPUT_ENABLE(x)
#define DC_COM_PIN_OUTPUT_POLARITY(x)
#define LVS_OUTPUT_POLARITY_LOW
#define LHS_OUTPUT_POLARITY_LOW
#define DC_COM_PIN_OUTPUT_DATA(x)
#define DC_COM_PIN_INPUT_ENABLE(x)
#define DC_COM_PIN_INPUT_DATA(x)
#define DC_COM_PIN_OUTPUT_SELECT(x)

#define DC_COM_PIN_MISC_CONTROL
#define DC_COM_PIN_PM0_CONTROL
#define DC_COM_PIN_PM0_DUTY_CYCLE
#define DC_COM_PIN_PM1_CONTROL
#define DC_COM_PIN_PM1_DUTY_CYCLE

#define DC_COM_SPI_CONTROL
#define DC_COM_SPI_START_BYTE
#define DC_COM_HSPI_WRITE_DATA_AB
#define DC_COM_HSPI_WRITE_DATA_CD
#define DC_COM_HSPI_CS_DC
#define DC_COM_SCRATCH_REGISTER_A
#define DC_COM_SCRATCH_REGISTER_B
#define DC_COM_GPIO_CTRL
#define DC_COM_GPIO_DEBOUNCE_COUNTER
#define DC_COM_CRC_CHECKSUM_LATCHED

#define DC_COM_RG_UNDERFLOW
#define UNDERFLOW_MODE_RED
#define UNDERFLOW_REPORT_ENABLE

#define DC_DISP_DISP_SIGNAL_OPTIONS0
#define H_PULSE0_ENABLE
#define H_PULSE1_ENABLE
#define H_PULSE2_ENABLE

#define DC_DISP_DISP_SIGNAL_OPTIONS1

#define DC_DISP_DISP_WIN_OPTIONS
#define HDMI_ENABLE
#define DSI_ENABLE
#define SOR1_TIMING_CYA
#define CURSOR_ENABLE

#define SOR_ENABLE(x)

#define DC_DISP_DISP_MEM_HIGH_PRIORITY
#define CURSOR_THRESHOLD(x)
#define WINDOW_A_THRESHOLD(x)
#define WINDOW_B_THRESHOLD(x)
#define WINDOW_C_THRESHOLD(x)

#define DC_DISP_DISP_MEM_HIGH_PRIORITY_TIMER
#define CURSOR_DELAY(x)
#define WINDOW_A_DELAY(x)
#define WINDOW_B_DELAY(x)
#define WINDOW_C_DELAY(x)

#define DC_DISP_DISP_TIMING_OPTIONS
#define VSYNC_H_POSITION(x)

#define DC_DISP_REF_TO_SYNC
#define DC_DISP_SYNC_WIDTH
#define DC_DISP_BACK_PORCH
#define DC_DISP_ACTIVE
#define DC_DISP_FRONT_PORCH
#define DC_DISP_H_PULSE0_CONTROL
#define DC_DISP_H_PULSE0_POSITION_A
#define DC_DISP_H_PULSE0_POSITION_B
#define DC_DISP_H_PULSE0_POSITION_C
#define DC_DISP_H_PULSE0_POSITION_D
#define DC_DISP_H_PULSE1_CONTROL
#define DC_DISP_H_PULSE1_POSITION_A
#define DC_DISP_H_PULSE1_POSITION_B
#define DC_DISP_H_PULSE1_POSITION_C
#define DC_DISP_H_PULSE1_POSITION_D
#define DC_DISP_H_PULSE2_CONTROL
#define DC_DISP_H_PULSE2_POSITION_A
#define DC_DISP_H_PULSE2_POSITION_B
#define DC_DISP_H_PULSE2_POSITION_C
#define DC_DISP_H_PULSE2_POSITION_D
#define DC_DISP_V_PULSE0_CONTROL
#define DC_DISP_V_PULSE0_POSITION_A
#define DC_DISP_V_PULSE0_POSITION_B
#define DC_DISP_V_PULSE0_POSITION_C
#define DC_DISP_V_PULSE1_CONTROL
#define DC_DISP_V_PULSE1_POSITION_A
#define DC_DISP_V_PULSE1_POSITION_B
#define DC_DISP_V_PULSE1_POSITION_C
#define DC_DISP_V_PULSE2_CONTROL
#define DC_DISP_V_PULSE2_POSITION_A
#define DC_DISP_V_PULSE3_CONTROL
#define DC_DISP_V_PULSE3_POSITION_A
#define DC_DISP_M0_CONTROL
#define DC_DISP_M1_CONTROL
#define DC_DISP_DI_CONTROL
#define DC_DISP_PP_CONTROL
#define DC_DISP_PP_SELECT_A
#define DC_DISP_PP_SELECT_B
#define DC_DISP_PP_SELECT_C
#define DC_DISP_PP_SELECT_D

#define PULSE_MODE_NORMAL
#define PULSE_MODE_ONE_CLOCK
#define PULSE_POLARITY_HIGH
#define PULSE_POLARITY_LOW
#define PULSE_QUAL_ALWAYS
#define PULSE_QUAL_VACTIVE
#define PULSE_QUAL_VACTIVE1
#define PULSE_LAST_START_A
#define PULSE_LAST_END_A
#define PULSE_LAST_START_B
#define PULSE_LAST_END_B
#define PULSE_LAST_START_C
#define PULSE_LAST_END_C
#define PULSE_LAST_START_D
#define PULSE_LAST_END_D

#define PULSE_START(x)
#define PULSE_END(x)

#define DC_DISP_DISP_CLOCK_CONTROL
#define PIXEL_CLK_DIVIDER_PCD1
#define PIXEL_CLK_DIVIDER_PCD1H
#define PIXEL_CLK_DIVIDER_PCD2
#define PIXEL_CLK_DIVIDER_PCD3
#define PIXEL_CLK_DIVIDER_PCD4
#define PIXEL_CLK_DIVIDER_PCD6
#define PIXEL_CLK_DIVIDER_PCD8
#define PIXEL_CLK_DIVIDER_PCD9
#define PIXEL_CLK_DIVIDER_PCD12
#define PIXEL_CLK_DIVIDER_PCD16
#define PIXEL_CLK_DIVIDER_PCD18
#define PIXEL_CLK_DIVIDER_PCD24
#define PIXEL_CLK_DIVIDER_PCD13
#define SHIFT_CLK_DIVIDER(x)

#define DC_DISP_DISP_INTERFACE_CONTROL
#define DISP_DATA_FORMAT_DF1P1C
#define DISP_DATA_FORMAT_DF1P2C24B
#define DISP_DATA_FORMAT_DF1P2C18B
#define DISP_DATA_FORMAT_DF1P2C16B
#define DISP_DATA_FORMAT_DF2S
#define DISP_DATA_FORMAT_DF3S
#define DISP_DATA_FORMAT_DFSPI
#define DISP_DATA_FORMAT_DF1P3C24B
#define DISP_DATA_FORMAT_DF1P3C18B
#define DISP_ALIGNMENT_MSB
#define DISP_ALIGNMENT_LSB
#define DISP_ORDER_RED_BLUE
#define DISP_ORDER_BLUE_RED

#define DC_DISP_DISP_COLOR_CONTROL
#define BASE_COLOR_SIZE666
#define BASE_COLOR_SIZE111
#define BASE_COLOR_SIZE222
#define BASE_COLOR_SIZE333
#define BASE_COLOR_SIZE444
#define BASE_COLOR_SIZE555
#define BASE_COLOR_SIZE565
#define BASE_COLOR_SIZE332
#define BASE_COLOR_SIZE888
#define BASE_COLOR_SIZE101010
#define BASE_COLOR_SIZE121212
#define DITHER_CONTROL_MASK
#define DITHER_CONTROL_DISABLE
#define DITHER_CONTROL_ORDERED
#define DITHER_CONTROL_ERRDIFF
#define BASE_COLOR_SIZE_MASK
#define BASE_COLOR_SIZE_666
#define BASE_COLOR_SIZE_111
#define BASE_COLOR_SIZE_222
#define BASE_COLOR_SIZE_333
#define BASE_COLOR_SIZE_444
#define BASE_COLOR_SIZE_555
#define BASE_COLOR_SIZE_565
#define BASE_COLOR_SIZE_332
#define BASE_COLOR_SIZE_888
#define BASE_COLOR_SIZE_101010
#define BASE_COLOR_SIZE_121212

#define DC_DISP_SHIFT_CLOCK_OPTIONS
#define SC1_H_QUALIFIER_NONE
#define SC0_H_QUALIFIER_NONE

#define DC_DISP_DATA_ENABLE_OPTIONS
#define DE_SELECT_ACTIVE_BLANK
#define DE_SELECT_ACTIVE
#define DE_SELECT_ACTIVE_IS
#define DE_CONTROL_ONECLK
#define DE_CONTROL_NORMAL
#define DE_CONTROL_EARLY_EXT
#define DE_CONTROL_EARLY
#define DE_CONTROL_ACTIVE_BLANK

#define DC_DISP_SERIAL_INTERFACE_OPTIONS
#define DC_DISP_LCD_SPI_OPTIONS
#define DC_DISP_BORDER_COLOR
#define DC_DISP_COLOR_KEY0_LOWER
#define DC_DISP_COLOR_KEY0_UPPER
#define DC_DISP_COLOR_KEY1_LOWER
#define DC_DISP_COLOR_KEY1_UPPER

#define DC_DISP_CURSOR_FOREGROUND
#define DC_DISP_CURSOR_BACKGROUND

#define DC_DISP_CURSOR_START_ADDR
#define CURSOR_CLIP_DISPLAY
#define CURSOR_CLIP_WIN_A
#define CURSOR_CLIP_WIN_B
#define CURSOR_CLIP_WIN_C
#define CURSOR_SIZE_32x32
#define CURSOR_SIZE_64x64
#define CURSOR_SIZE_128x128
#define CURSOR_SIZE_256x256
#define DC_DISP_CURSOR_START_ADDR_NS

#define DC_DISP_CURSOR_POSITION
#define DC_DISP_CURSOR_POSITION_NS

#define DC_DISP_INIT_SEQ_CONTROL
#define DC_DISP_SPI_INIT_SEQ_DATA_A
#define DC_DISP_SPI_INIT_SEQ_DATA_B
#define DC_DISP_SPI_INIT_SEQ_DATA_C
#define DC_DISP_SPI_INIT_SEQ_DATA_D

#define DC_DISP_DC_MCCIF_FIFOCTRL
#define DC_DISP_MCCIF_DISPLAY0A_HYST
#define DC_DISP_MCCIF_DISPLAY0B_HYST
#define DC_DISP_MCCIF_DISPLAY1A_HYST
#define DC_DISP_MCCIF_DISPLAY1B_HYST

#define DC_DISP_DAC_CRT_CTRL
#define DC_DISP_DISP_MISC_CONTROL
#define DC_DISP_SD_CONTROL
#define DC_DISP_SD_CSC_COEFF
#define DC_DISP_SD_LUT(x)
#define DC_DISP_SD_FLICKER_CONTROL
#define DC_DISP_DC_PIXEL_COUNT
#define DC_DISP_SD_HISTOGRAM(x)
#define DC_DISP_SD_BL_PARAMETERS
#define DC_DISP_SD_BL_TF(x)
#define DC_DISP_SD_BL_CONTROL
#define DC_DISP_SD_HW_K_VALUES
#define DC_DISP_SD_MAN_K_VALUES

#define DC_DISP_BLEND_BACKGROUND_COLOR
#define BACKGROUND_COLOR_ALPHA(x)
#define BACKGROUND_COLOR_BLUE(x)
#define BACKGROUND_COLOR_GREEN(x)
#define BACKGROUND_COLOR_RED(x)

#define DC_DISP_INTERLACE_CONTROL
#define INTERLACE_STATUS
#define INTERLACE_START
#define INTERLACE_ENABLE

#define DC_DISP_CURSOR_START_ADDR_HI
#define DC_DISP_BLEND_CURSOR_CONTROL
#define CURSOR_COMPOSITION_MODE_BLEND
#define CURSOR_COMPOSITION_MODE_XOR
#define CURSOR_MODE_LEGACY
#define CURSOR_MODE_NORMAL
#define CURSOR_DST_BLEND_ZERO
#define CURSOR_DST_BLEND_K1
#define CURSOR_DST_BLEND_NEG_K1_TIMES_SRC
#define CURSOR_DST_BLEND_MASK
#define CURSOR_SRC_BLEND_K1
#define CURSOR_SRC_BLEND_K1_TIMES_SRC
#define CURSOR_SRC_BLEND_MASK
#define CURSOR_ALPHA

#define DC_WIN_CORE_ACT_CONTROL
#define VCOUNTER
#define HCOUNTER

#define DC_WIN_CORE_IHUB_WGRP_LATENCY_CTLA
#define LATENCY_CTL_MODE_ENABLE

#define DC_WIN_CORE_IHUB_WGRP_LATENCY_CTLB
#define WATERMARK_MASK

#define DC_WIN_CORE_PRECOMP_WGRP_PIPE_METER
#define PIPE_METER_INT(x)
#define PIPE_METER_FRAC(x)

#define DC_WIN_CORE_IHUB_WGRP_POOL_CONFIG
#define MEMPOOL_ENTRIES(x)

#define DC_WIN_CORE_IHUB_WGRP_FETCH_METER
#define SLOTS(x)

#define DC_WIN_CORE_IHUB_LINEBUF_CONFIG
#define MODE_TWO_LINES
#define MODE_FOUR_LINES

#define DC_WIN_CORE_IHUB_THREAD_GROUP
#define THREAD_NUM_MASK
#define THREAD_NUM(x)
#define THREAD_GROUP_ENABLE

#define DC_WIN_H_FILTER_P(p)
#define DC_WIN_V_FILTER_P(p)

#define DC_WIN_CSC_YOF
#define DC_WIN_CSC_KYRGB
#define DC_WIN_CSC_KUR
#define DC_WIN_CSC_KVR
#define DC_WIN_CSC_KUG
#define DC_WIN_CSC_KVG
#define DC_WIN_CSC_KUB
#define DC_WIN_CSC_KVB

#define DC_WIN_WIN_OPTIONS
#define H_DIRECTION
#define V_DIRECTION
#define COLOR_EXPAND
#define H_FILTER
#define V_FILTER
#define CSC_ENABLE
#define WIN_ENABLE

#define DC_WIN_BYTE_SWAP
#define BYTE_SWAP_NOSWAP
#define BYTE_SWAP_SWAP2
#define BYTE_SWAP_SWAP4
#define BYTE_SWAP_SWAP4HW

#define DC_WIN_BUFFER_CONTROL
#define BUFFER_CONTROL_HOST
#define BUFFER_CONTROL_VI
#define BUFFER_CONTROL_EPP
#define BUFFER_CONTROL_MPEGE
#define BUFFER_CONTROL_SB2D

#define DC_WIN_COLOR_DEPTH
#define WIN_COLOR_DEPTH_P1
#define WIN_COLOR_DEPTH_P2
#define WIN_COLOR_DEPTH_P4
#define WIN_COLOR_DEPTH_P8
#define WIN_COLOR_DEPTH_B4G4R4A4
#define WIN_COLOR_DEPTH_B5G5R5A1
#define WIN_COLOR_DEPTH_B5G6R5
#define WIN_COLOR_DEPTH_A1B5G5R5
#define WIN_COLOR_DEPTH_B8G8R8A8
#define WIN_COLOR_DEPTH_R8G8B8A8
#define WIN_COLOR_DEPTH_B6x2G6x2R6x2A8
#define WIN_COLOR_DEPTH_R6x2G6x2B6x2A8
#define WIN_COLOR_DEPTH_YCbCr422
#define WIN_COLOR_DEPTH_YUV422
#define WIN_COLOR_DEPTH_YCbCr420P
#define WIN_COLOR_DEPTH_YUV420P
#define WIN_COLOR_DEPTH_YCbCr422P
#define WIN_COLOR_DEPTH_YUV422P
#define WIN_COLOR_DEPTH_YCbCr422R
#define WIN_COLOR_DEPTH_YUV422R
#define WIN_COLOR_DEPTH_YCbCr422RA
#define WIN_COLOR_DEPTH_YUV422RA
#define WIN_COLOR_DEPTH_R4G4B4A4
#define WIN_COLOR_DEPTH_R5G5B5A
#define WIN_COLOR_DEPTH_AR5G5B5
#define WIN_COLOR_DEPTH_B5G5R5X1
#define WIN_COLOR_DEPTH_X1B5G5R5
#define WIN_COLOR_DEPTH_R5G5B5X1
#define WIN_COLOR_DEPTH_X1R5G5B5
#define WIN_COLOR_DEPTH_R5G6B5
#define WIN_COLOR_DEPTH_A8R8G8B8
#define WIN_COLOR_DEPTH_A8B8G8R8
#define WIN_COLOR_DEPTH_B8G8R8X8
#define WIN_COLOR_DEPTH_R8G8B8X8
#define WIN_COLOR_DEPTH_YCbCr444P
#define WIN_COLOR_DEPTH_YCrCb420SP
#define WIN_COLOR_DEPTH_YCbCr420SP
#define WIN_COLOR_DEPTH_YCrCb422SP
#define WIN_COLOR_DEPTH_YCbCr422SP
#define WIN_COLOR_DEPTH_YCrCb444SP
#define WIN_COLOR_DEPTH_YCbCr444SP
#define WIN_COLOR_DEPTH_X8B8G8R8
#define WIN_COLOR_DEPTH_X8R8G8B8

#define DC_WIN_POSITION
#define H_POSITION(x)
#define V_POSITION(x)

#define DC_WIN_SIZE
#define H_SIZE(x)
#define V_SIZE(x)

#define DC_WIN_PRESCALED_SIZE
#define H_PRESCALED_SIZE(x)
#define V_PRESCALED_SIZE(x)

#define DC_WIN_H_INITIAL_DDA
#define DC_WIN_V_INITIAL_DDA
#define DC_WIN_DDA_INC
#define H_DDA_INC(x)
#define V_DDA_INC(x)

#define DC_WIN_LINE_STRIDE
#define DC_WIN_BUF_STRIDE
#define DC_WIN_UV_BUF_STRIDE
#define DC_WIN_BUFFER_ADDR_MODE
#define DC_WIN_BUFFER_ADDR_MODE_LINEAR
#define DC_WIN_BUFFER_ADDR_MODE_TILE
#define DC_WIN_BUFFER_ADDR_MODE_LINEAR_UV
#define DC_WIN_BUFFER_ADDR_MODE_TILE_UV

#define DC_WIN_DV_CONTROL

#define DC_WIN_BLEND_NOKEY
#define BLEND_WEIGHT1(x)
#define BLEND_WEIGHT0(x)

#define DC_WIN_BLEND_1WIN
#define BLEND_CONTROL_FIX
#define BLEND_CONTROL_ALPHA
#define BLEND_COLOR_KEY_NONE
#define BLEND_COLOR_KEY_0
#define BLEND_COLOR_KEY_1
#define BLEND_COLOR_KEY_BOTH

#define DC_WIN_BLEND_2WIN_X
#define BLEND_CONTROL_DEPENDENT

#define DC_WIN_BLEND_2WIN_Y
#define DC_WIN_BLEND_3WIN_XY

#define DC_WIN_HP_FETCH_CONTROL

#define DC_WINBUF_START_ADDR
#define DC_WINBUF_START_ADDR_NS
#define DC_WINBUF_START_ADDR_U
#define DC_WINBUF_START_ADDR_U_NS
#define DC_WINBUF_START_ADDR_V
#define DC_WINBUF_START_ADDR_V_NS

#define DC_WINBUF_ADDR_H_OFFSET
#define DC_WINBUF_ADDR_H_OFFSET_NS
#define DC_WINBUF_ADDR_V_OFFSET
#define DC_WINBUF_ADDR_V_OFFSET_NS

#define DC_WINBUF_UFLOW_STATUS
#define DC_WINBUF_SURFACE_KIND
#define DC_WINBUF_SURFACE_KIND_PITCH
#define DC_WINBUF_SURFACE_KIND_TILED
#define DC_WINBUF_SURFACE_KIND_BLOCK
#define DC_WINBUF_SURFACE_KIND_BLOCK_HEIGHT(x)

#define DC_WINBUF_START_ADDR_HI

#define DC_WINBUF_START_ADDR_HI_U
#define DC_WINBUF_START_ADDR_HI_V

#define DC_WINBUF_CDE_CONTROL
#define ENABLE_SURFACE

#define DC_WINBUF_AD_UFLOW_STATUS
#define DC_WINBUF_BD_UFLOW_STATUS
#define DC_WINBUF_CD_UFLOW_STATUS

/* Tegra186 and later */
#define DC_DISP_CORE_SOR_SET_CONTROL(x)
#define PROTOCOL_MASK
#define PROTOCOL_SINGLE_TMDS_A

#define DC_DISP_PCALC_HEAD_SET_CROPPED_POINT_IN_CURSOR
#define DC_DISP_PCALC_HEAD_SET_CROPPED_SIZE_IN_CURSOR

#define DC_WINC_PRECOMP_WGRP_PIPE_CAPA
#define DC_WINC_PRECOMP_WGRP_PIPE_CAPB
#define DC_WINC_PRECOMP_WGRP_PIPE_CAPC
#define MAX_PIXELS_5TAP444(x)
#define DC_WINC_PRECOMP_WGRP_PIPE_CAPD
#define DC_WINC_PRECOMP_WGRP_PIPE_CAPE
#define MAX_PIXELS_2TAP444(x)
#define DC_WINC_PRECOMP_WGRP_PIPE_CAPF

#define DC_WIN_CORE_WINDOWGROUP_SET_CONTROL
#define OWNER_MASK
#define OWNER(x)

#define DC_WIN_CROPPED_SIZE

#define DC_WIN_SET_INPUT_SCALER_H_START_PHASE
#define DC_WIN_SET_INPUT_SCALER_V_START_PHASE

#define DC_WIN_PLANAR_STORAGE
#define PITCH(x)

#define DC_WIN_PLANAR_STORAGE_UV
#define PITCH_U(x)
#define PITCH_V(x)

#define DC_WIN_SET_INPUT_SCALER_HPHASE_INCR
#define DC_WIN_SET_INPUT_SCALER_VPHASE_INCR

#define DC_WIN_SET_PARAMS
#define CLAMP_BEFORE_BLEND
#define DEGAMMA_NONE
#define DEGAMMA_SRGB
#define DEGAMMA_YUV8_10
#define DEGAMMA_YUV12
#define INPUT_RANGE_BYPASS
#define INPUT_RANGE_LIMITED
#define INPUT_RANGE_FULL
#define COLOR_SPACE_RGB
#define COLOR_SPACE_YUV_601
#define COLOR_SPACE_YUV_709
#define COLOR_SPACE_YUV_2020

#define DC_WIN_WINDOWGROUP_SET_CONTROL_INPUT_SCALER
#define HORIZONTAL_TAPS_2
#define HORIZONTAL_TAPS_5
#define VERTICAL_TAPS_2
#define VERTICAL_TAPS_5

#define DC_WIN_WINDOWGROUP_SET_INPUT_SCALER_COEFF
#define COEFF_INDEX(x)
#define COEFF_DATA(x)

#define DC_WIN_WINDOWGROUP_SET_INPUT_SCALER_USAGE
#define INPUT_SCALER_USE422
#define INPUT_SCALER_VBYPASS
#define INPUT_SCALER_HBYPASS

#define DC_WIN_BLEND_LAYER_CONTROL
#define COLOR_KEY_NONE
#define COLOR_KEY_SRC
#define COLOR_KEY_DST
#define BLEND_BYPASS
#define K2(x)
#define K1(x)
#define WINDOW_LAYER_DEPTH(x)

#define DC_WIN_BLEND_MATCH_SELECT
#define BLEND_FACTOR_DST_ALPHA_ZERO
#define BLEND_FACTOR_DST_ALPHA_ONE
#define BLEND_FACTOR_DST_ALPHA_NEG_K1_TIMES_SRC
#define BLEND_FACTOR_DST_ALPHA_K2
#define BLEND_FACTOR_SRC_ALPHA_ZERO
#define BLEND_FACTOR_SRC_ALPHA_K1
#define BLEND_FACTOR_SRC_ALPHA_K2
#define BLEND_FACTOR_SRC_ALPHA_NEG_K1_TIMES_DST
#define BLEND_FACTOR_DST_COLOR_ZERO
#define BLEND_FACTOR_DST_COLOR_ONE
#define BLEND_FACTOR_DST_COLOR_K1
#define BLEND_FACTOR_DST_COLOR_K2
#define BLEND_FACTOR_DST_COLOR_K1_TIMES_DST
#define BLEND_FACTOR_DST_COLOR_NEG_K1_TIMES_DST
#define BLEND_FACTOR_DST_COLOR_NEG_K1_TIMES_SRC
#define BLEND_FACTOR_DST_COLOR_NEG_K1
#define BLEND_FACTOR_SRC_COLOR_ZERO
#define BLEND_FACTOR_SRC_COLOR_ONE
#define BLEND_FACTOR_SRC_COLOR_K1
#define BLEND_FACTOR_SRC_COLOR_K1_TIMES_DST
#define BLEND_FACTOR_SRC_COLOR_NEG_K1_TIMES_DST
#define BLEND_FACTOR_SRC_COLOR_K1_TIMES_SRC

#define DC_WIN_BLEND_NOMATCH_SELECT

#define DC_WIN_PRECOMP_WGRP_PARAMS
#define SWAP_UV

#define DC_WIN_WINDOW_SET_CONTROL
#define CONTROL_CSC_ENABLE

#define DC_WINBUF_CROPPED_POINT
#define OFFSET_Y(x)
#define OFFSET_X(x)

#endif /* TEGRA_DC_H */