/* Copyright 2017 Advanced Micro Devices, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * Authors: AMD *
*/ #ifndef __DCN20_DSC_H__ #define __DCN20_DSC_H__
//Used in resolving the corner case with duplicate field name #define DSC2_SF(reg_name, field_name, post_fix)\
.field_name = reg_name ## _ ## field_name ## post_fix
#define DSC_FIELD_LIST_DCN20(type)\
type DSC_CLOCK_EN; \
type DSC_DISPCLK_R_GATE_DIS; \
type DSC_DSCCLK_R_GATE_DIS; \
type DSC_DBG_EN; \
type DSC_TEST_CLOCK_MUX_SEL; \
type ICH_RESET_AT_END_OF_LINE; \
type NUMBER_OF_SLICES_PER_LINE; \
type ALTERNATE_ICH_ENCODING_EN; \
type NUMBER_OF_SLICES_IN_VERTICAL_DIRECTION; \
type DSCC_RATE_CONTROL_BUFFER_MODEL_SIZE; \ /*type DSCC_DISABLE_ICH;*/ \
type DSCC_DOUBLE_BUFFER_REG_UPDATE_PENDING; \
type DSCC_RATE_BUFFER0_OVERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER1_OVERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER2_OVERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER3_OVERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER0_UNDERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER1_UNDERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER2_UNDERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER3_UNDERFLOW_OCCURRED; \
type DSCC_RATE_CONTROL_BUFFER_MODEL0_OVERFLOW_OCCURRED; \
type DSCC_RATE_CONTROL_BUFFER_MODEL1_OVERFLOW_OCCURRED; \
type DSCC_RATE_CONTROL_BUFFER_MODEL2_OVERFLOW_OCCURRED; \
type DSCC_RATE_CONTROL_BUFFER_MODEL3_OVERFLOW_OCCURRED; \
type DSCC_RATE_BUFFER0_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER1_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER2_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER3_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER0_UNDERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER1_UNDERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER2_UNDERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_BUFFER3_UNDERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_CONTROL_BUFFER_MODEL0_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_CONTROL_BUFFER_MODEL1_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_CONTROL_BUFFER_MODEL2_OVERFLOW_OCCURRED_INT_EN; \
type DSCC_RATE_CONTROL_BUFFER_MODEL3_OVERFLOW_OCCURRED_INT_EN; \
type DSC_VERSION_MINOR; \
type DSC_VERSION_MAJOR; \
type PPS_IDENTIFIER; \
type LINEBUF_DEPTH; \
type DSCC_PPS_CONFIG0__BITS_PER_COMPONENT; \
type BITS_PER_PIXEL; \
type VBR_ENABLE; \
type SIMPLE_422; \
type CONVERT_RGB; \
type BLOCK_PRED_ENABLE; \
type NATIVE_422; \
type NATIVE_420; \
type CHUNK_SIZE; \
type PIC_WIDTH; \
type PIC_HEIGHT; \
type SLICE_WIDTH; \
type SLICE_HEIGHT; \
type INITIAL_XMIT_DELAY; \
type INITIAL_DEC_DELAY; \
type INITIAL_SCALE_VALUE; \
type SCALE_INCREMENT_INTERVAL; \
type SCALE_DECREMENT_INTERVAL; \
type FIRST_LINE_BPG_OFFSET; \
type SECOND_LINE_BPG_OFFSET; \
type NFL_BPG_OFFSET; \
type SLICE_BPG_OFFSET; \
type NSL_BPG_OFFSET; \
type SECOND_LINE_OFFSET_ADJ; \
type INITIAL_OFFSET; \
type FINAL_OFFSET; \
type FLATNESS_MIN_QP; \
type FLATNESS_MAX_QP; \
type RC_MODEL_SIZE; \
type RC_EDGE_FACTOR; \
type RC_QUANT_INCR_LIMIT0; \
type RC_QUANT_INCR_LIMIT1; \
type RC_TGT_OFFSET_LO; \
type RC_TGT_OFFSET_HI; \
type RC_BUF_THRESH0; \
type RC_BUF_THRESH1; \
type RC_BUF_THRESH2; \
type RC_BUF_THRESH3; \
type RC_BUF_THRESH4; \
type RC_BUF_THRESH5; \
type RC_BUF_THRESH6; \
type RC_BUF_THRESH7; \
type RC_BUF_THRESH8; \
type RC_BUF_THRESH9; \
type RC_BUF_THRESH10; \
type RC_BUF_THRESH11; \
type RC_BUF_THRESH12; \
type RC_BUF_THRESH13; \
type RANGE_MIN_QP0; \
type RANGE_MAX_QP0; \
type RANGE_BPG_OFFSET0; \
type RANGE_MIN_QP1; \
type RANGE_MAX_QP1; \
type RANGE_BPG_OFFSET1; \
type RANGE_MIN_QP2; \
type RANGE_MAX_QP2; \
type RANGE_BPG_OFFSET2; \
type RANGE_MIN_QP3; \
type RANGE_MAX_QP3; \
type RANGE_BPG_OFFSET3; \
type RANGE_MIN_QP4; \
type RANGE_MAX_QP4; \
type RANGE_BPG_OFFSET4; \
type RANGE_MIN_QP5; \
type RANGE_MAX_QP5; \
type RANGE_BPG_OFFSET5; \
type RANGE_MIN_QP6; \
type RANGE_MAX_QP6; \
type RANGE_BPG_OFFSET6; \
type RANGE_MIN_QP7; \
type RANGE_MAX_QP7; \
type RANGE_BPG_OFFSET7; \
type RANGE_MIN_QP8; \
type RANGE_MAX_QP8; \
type RANGE_BPG_OFFSET8; \
type RANGE_MIN_QP9; \
type RANGE_MAX_QP9; \
type RANGE_BPG_OFFSET9; \
type RANGE_MIN_QP10; \
type RANGE_MAX_QP10; \
type RANGE_BPG_OFFSET10; \
type RANGE_MIN_QP11; \
type RANGE_MAX_QP11; \
type RANGE_BPG_OFFSET11; \
type RANGE_MIN_QP12; \
type RANGE_MAX_QP12; \
type RANGE_BPG_OFFSET12; \
type RANGE_MIN_QP13; \
type RANGE_MAX_QP13; \
type RANGE_BPG_OFFSET13; \
type RANGE_MIN_QP14; \
type RANGE_MAX_QP14; \
type RANGE_BPG_OFFSET14; \
type DSCC_DEFAULT_MEM_LOW_POWER_STATE; \
type DSCC_MEM_PWR_FORCE; \
type DSCC_MEM_PWR_DIS; \
type DSCC_MEM_PWR_STATE; \
type DSCC_NATIVE_422_MEM_PWR_FORCE; \
type DSCC_NATIVE_422_MEM_PWR_DIS; \
type DSCC_NATIVE_422_MEM_PWR_STATE; \
type DSCC_R_Y_SQUARED_ERROR_LOWER; \
type DSCC_R_Y_SQUARED_ERROR_UPPER; \
type DSCC_G_CB_SQUARED_ERROR_LOWER; \
type DSCC_G_CB_SQUARED_ERROR_UPPER; \
type DSCC_B_CR_SQUARED_ERROR_LOWER; \
type DSCC_B_CR_SQUARED_ERROR_UPPER; \
type DSCC_R_Y_MAX_ABS_ERROR; \
type DSCC_G_CB_MAX_ABS_ERROR; \
type DSCC_B_CR_MAX_ABS_ERROR; \
type DSCC_RATE_BUFFER0_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER1_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER2_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER3_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER0_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER1_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER2_MAX_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER3_MAX_FULLNESS_LEVEL; \
type DSCC_UPDATE_PENDING_STATUS; \
type DSCC_UPDATE_TAKEN_STATUS; \
type DSCC_UPDATE_TAKEN_ACK; \
type DSCC_TEST_DEBUG_BUS0_ROTATE; \
type DSCC_TEST_DEBUG_BUS1_ROTATE; \
type DSCC_TEST_DEBUG_BUS2_ROTATE; \
type DSCC_TEST_DEBUG_BUS3_ROTATE; \
type DSCC_RATE_BUFFER0_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER1_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER2_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER3_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER0_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER1_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER2_FULLNESS_LEVEL; \
type DSCC_RATE_CONTROL_BUFFER3_FULLNESS_LEVEL; \
type DSCC_RATE_BUFFER0_INITIAL_XMIT_DELAY_REACHED; \
type DSCC_RATE_BUFFER1_INITIAL_XMIT_DELAY_REACHED; \
type DSCC_RATE_BUFFER2_INITIAL_XMIT_DELAY_REACHED; \
type DSCC_RATE_BUFFER3_INITIAL_XMIT_DELAY_REACHED; \
type INPUT_INTERFACE_UNDERFLOW_RECOVERY_EN; \
type INPUT_INTERFACE_UNDERFLOW_OCCURRED_INT_EN; \
type INPUT_INTERFACE_UNDERFLOW_OCCURRED_STATUS; \
type INPUT_PIXEL_FORMAT; \
type DSCCIF_CONFIG0__BITS_PER_COMPONENT; \
type DOUBLE_BUFFER_REG_UPDATE_PENDING; \
type DSCCIF_UPDATE_PENDING_STATUS; \
type DSCCIF_UPDATE_TAKEN_STATUS; \
type DSCCIF_UPDATE_TAKEN_ACK; \
type DSCRM_DSC_FORWARD_EN; \
type DSCRM_DSC_OPP_PIPE_SOURCE; \
type DSCRM_DSC_DOUBLE_BUFFER_REG_UPDATE_PENDING; \
type DSCRM_DSC_FORWARD_EN_STATUS
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.