|
@@ -31,7 +31,8 @@
|
|
|
#define DCN10STRENC_FROM_STRENC(stream_encoder)\
|
|
|
container_of(stream_encoder, struct dcn10_stream_encoder, base)
|
|
|
|
|
|
-#define SE_COMMON_REG_LIST_BASE(id) \
|
|
|
+#define SE_COMMON_DCN_REG_LIST(id) \
|
|
|
+ SRI(AFMT_CNTL, DIG, id), \
|
|
|
SRI(AFMT_GENERIC_0, DIG, id), \
|
|
|
SRI(AFMT_GENERIC_1, DIG, id), \
|
|
|
SRI(AFMT_GENERIC_2, DIG, id), \
|
|
@@ -43,6 +44,7 @@
|
|
|
SRI(AFMT_GENERIC_HDR, DIG, id), \
|
|
|
SRI(AFMT_INFOFRAME_CONTROL0, DIG, id), \
|
|
|
SRI(AFMT_VBI_PACKET_CONTROL, DIG, id), \
|
|
|
+ SRI(AFMT_VBI_PACKET_CONTROL1, DIG, id), \
|
|
|
SRI(AFMT_AUDIO_PACKET_CONTROL, DIG, id), \
|
|
|
SRI(AFMT_AUDIO_PACKET_CONTROL2, DIG, id), \
|
|
|
SRI(AFMT_AUDIO_SRC_CONTROL, DIG, id), \
|
|
@@ -51,9 +53,12 @@
|
|
|
SRI(AFMT_60958_2, DIG, id), \
|
|
|
SRI(DIG_FE_CNTL, DIG, id), \
|
|
|
SRI(HDMI_CONTROL, DIG, id), \
|
|
|
+ SRI(HDMI_DB_CONTROL, DIG, id), \
|
|
|
SRI(HDMI_GC, DIG, id), \
|
|
|
SRI(HDMI_GENERIC_PACKET_CONTROL0, DIG, id), \
|
|
|
SRI(HDMI_GENERIC_PACKET_CONTROL1, DIG, id), \
|
|
|
+ SRI(HDMI_GENERIC_PACKET_CONTROL2, DIG, id), \
|
|
|
+ SRI(HDMI_GENERIC_PACKET_CONTROL3, DIG, id), \
|
|
|
SRI(HDMI_INFOFRAME_CONTROL0, DIG, id), \
|
|
|
SRI(HDMI_INFOFRAME_CONTROL1, DIG, id), \
|
|
|
SRI(HDMI_VBI_PACKET_CONTROL, DIG, id), \
|
|
@@ -65,7 +70,13 @@
|
|
|
SRI(HDMI_ACR_44_1, DIG, id),\
|
|
|
SRI(HDMI_ACR_48_0, DIG, id),\
|
|
|
SRI(HDMI_ACR_48_1, DIG, id),\
|
|
|
- SRI(TMDS_CNTL, DIG, id), \
|
|
|
+ SRI(DP_DB_CNTL, DP, id), \
|
|
|
+ SRI(DP_MSA_MISC, DP, id), \
|
|
|
+ SRI(DP_MSA_COLORIMETRY, DP, id), \
|
|
|
+ SRI(DP_MSA_TIMING_PARAM1, DP, id), \
|
|
|
+ SRI(DP_MSA_TIMING_PARAM2, DP, id), \
|
|
|
+ SRI(DP_MSA_TIMING_PARAM3, DP, id), \
|
|
|
+ SRI(DP_MSA_TIMING_PARAM4, DP, id), \
|
|
|
SRI(DP_MSE_RATE_CNTL, DP, id), \
|
|
|
SRI(DP_MSE_RATE_UPDATE, DP, id), \
|
|
|
SRI(DP_PIXEL_FORMAT, DP, id), \
|
|
@@ -79,19 +90,74 @@
|
|
|
SRI(DP_SEC_TIMESTAMP, DP, id)
|
|
|
|
|
|
#define SE_DCN_REG_LIST(id)\
|
|
|
- SE_COMMON_REG_LIST_BASE(id),\
|
|
|
- SRI(AFMT_CNTL, DIG, id),\
|
|
|
- SRI(AFMT_VBI_PACKET_CONTROL1, DIG, id),\
|
|
|
- SRI(HDMI_GENERIC_PACKET_CONTROL2, DIG, id), \
|
|
|
- SRI(HDMI_GENERIC_PACKET_CONTROL3, DIG, id), \
|
|
|
- SRI(DP_DB_CNTL, DP, id), \
|
|
|
- SRI(DP_MSA_MISC, DP, id), \
|
|
|
- SRI(DP_MSA_COLORIMETRY, DP, id), \
|
|
|
- SRI(DP_MSA_TIMING_PARAM1, DP, id), \
|
|
|
- SRI(DP_MSA_TIMING_PARAM2, DP, id), \
|
|
|
- SRI(DP_MSA_TIMING_PARAM3, DP, id), \
|
|
|
- SRI(DP_MSA_TIMING_PARAM4, DP, id), \
|
|
|
- SRI(HDMI_DB_CONTROL, DIG, id)
|
|
|
+ SE_COMMON_DCN_REG_LIST(id)
|
|
|
+
|
|
|
+
|
|
|
+struct dcn10_stream_enc_registers {
|
|
|
+ uint32_t AFMT_CNTL;
|
|
|
+ uint32_t AFMT_AVI_INFO0;
|
|
|
+ uint32_t AFMT_AVI_INFO1;
|
|
|
+ uint32_t AFMT_AVI_INFO2;
|
|
|
+ uint32_t AFMT_AVI_INFO3;
|
|
|
+ uint32_t AFMT_GENERIC_0;
|
|
|
+ uint32_t AFMT_GENERIC_1;
|
|
|
+ uint32_t AFMT_GENERIC_2;
|
|
|
+ uint32_t AFMT_GENERIC_3;
|
|
|
+ uint32_t AFMT_GENERIC_4;
|
|
|
+ uint32_t AFMT_GENERIC_5;
|
|
|
+ uint32_t AFMT_GENERIC_6;
|
|
|
+ uint32_t AFMT_GENERIC_7;
|
|
|
+ uint32_t AFMT_GENERIC_HDR;
|
|
|
+ uint32_t AFMT_INFOFRAME_CONTROL0;
|
|
|
+ uint32_t AFMT_VBI_PACKET_CONTROL;
|
|
|
+ uint32_t AFMT_VBI_PACKET_CONTROL1;
|
|
|
+ uint32_t AFMT_AUDIO_PACKET_CONTROL;
|
|
|
+ uint32_t AFMT_AUDIO_PACKET_CONTROL2;
|
|
|
+ uint32_t AFMT_AUDIO_SRC_CONTROL;
|
|
|
+ uint32_t AFMT_60958_0;
|
|
|
+ uint32_t AFMT_60958_1;
|
|
|
+ uint32_t AFMT_60958_2;
|
|
|
+ uint32_t DIG_FE_CNTL;
|
|
|
+ uint32_t DP_MSE_RATE_CNTL;
|
|
|
+ uint32_t DP_MSE_RATE_UPDATE;
|
|
|
+ uint32_t DP_PIXEL_FORMAT;
|
|
|
+ uint32_t DP_SEC_CNTL;
|
|
|
+ uint32_t DP_STEER_FIFO;
|
|
|
+ uint32_t DP_VID_M;
|
|
|
+ uint32_t DP_VID_N;
|
|
|
+ uint32_t DP_VID_STREAM_CNTL;
|
|
|
+ uint32_t DP_VID_TIMING;
|
|
|
+ uint32_t DP_SEC_AUD_N;
|
|
|
+ uint32_t DP_SEC_TIMESTAMP;
|
|
|
+ uint32_t HDMI_CONTROL;
|
|
|
+ uint32_t HDMI_GC;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL0;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL1;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL2;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL3;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL4;
|
|
|
+ uint32_t HDMI_GENERIC_PACKET_CONTROL5;
|
|
|
+ uint32_t HDMI_INFOFRAME_CONTROL0;
|
|
|
+ uint32_t HDMI_INFOFRAME_CONTROL1;
|
|
|
+ uint32_t HDMI_VBI_PACKET_CONTROL;
|
|
|
+ uint32_t HDMI_AUDIO_PACKET_CONTROL;
|
|
|
+ uint32_t HDMI_ACR_PACKET_CONTROL;
|
|
|
+ uint32_t HDMI_ACR_32_0;
|
|
|
+ uint32_t HDMI_ACR_32_1;
|
|
|
+ uint32_t HDMI_ACR_44_0;
|
|
|
+ uint32_t HDMI_ACR_44_1;
|
|
|
+ uint32_t HDMI_ACR_48_0;
|
|
|
+ uint32_t HDMI_ACR_48_1;
|
|
|
+ uint32_t DP_DB_CNTL;
|
|
|
+ uint32_t DP_MSA_MISC;
|
|
|
+ uint32_t DP_MSA_COLORIMETRY;
|
|
|
+ uint32_t DP_MSA_TIMING_PARAM1;
|
|
|
+ uint32_t DP_MSA_TIMING_PARAM2;
|
|
|
+ uint32_t DP_MSA_TIMING_PARAM3;
|
|
|
+ uint32_t DP_MSA_TIMING_PARAM4;
|
|
|
+ uint32_t HDMI_DB_CONTROL;
|
|
|
+};
|
|
|
+
|
|
|
|
|
|
#define SE_SF(reg_name, field_name, post_fix)\
|
|
|
.field_name = reg_name ## __ ## field_name ## post_fix
|
|
@@ -221,348 +287,151 @@
|
|
|
SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_SEND, mask_sh),\
|
|
|
SE_SF(DIG0_HDMI_GENERIC_PACKET_CONTROL0, HDMI_GENERIC1_LINE, mask_sh)
|
|
|
|
|
|
+
|
|
|
+#define SE_REG_FIELD_LIST_DCN1_0(type) \
|
|
|
+ type AFMT_GENERIC_INDEX;\
|
|
|
+ type AFMT_GENERIC_HB0;\
|
|
|
+ type AFMT_GENERIC_HB1;\
|
|
|
+ type AFMT_GENERIC_HB2;\
|
|
|
+ type AFMT_GENERIC_HB3;\
|
|
|
+ type AFMT_GENERIC_LOCK_STATUS;\
|
|
|
+ type AFMT_GENERIC_CONFLICT;\
|
|
|
+ type AFMT_GENERIC_CONFLICT_CLR;\
|
|
|
+ type AFMT_GENERIC0_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC1_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC2_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC3_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC4_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC5_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC6_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC7_FRAME_UPDATE_PENDING;\
|
|
|
+ type AFMT_GENERIC0_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC1_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC2_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC3_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC4_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC5_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC6_FRAME_UPDATE;\
|
|
|
+ type AFMT_GENERIC7_FRAME_UPDATE;\
|
|
|
+ type HDMI_GENERIC0_CONT;\
|
|
|
+ type HDMI_GENERIC0_SEND;\
|
|
|
+ type HDMI_GENERIC0_LINE;\
|
|
|
+ type HDMI_GENERIC1_CONT;\
|
|
|
+ type HDMI_GENERIC1_SEND;\
|
|
|
+ type HDMI_GENERIC1_LINE;\
|
|
|
+ type HDMI_GENERIC2_CONT;\
|
|
|
+ type HDMI_GENERIC2_SEND;\
|
|
|
+ type HDMI_GENERIC2_LINE;\
|
|
|
+ type HDMI_GENERIC3_CONT;\
|
|
|
+ type HDMI_GENERIC3_SEND;\
|
|
|
+ type HDMI_GENERIC3_LINE;\
|
|
|
+ type HDMI_GENERIC4_CONT;\
|
|
|
+ type HDMI_GENERIC4_SEND;\
|
|
|
+ type HDMI_GENERIC4_LINE;\
|
|
|
+ type HDMI_GENERIC5_CONT;\
|
|
|
+ type HDMI_GENERIC5_SEND;\
|
|
|
+ type HDMI_GENERIC5_LINE;\
|
|
|
+ type HDMI_GENERIC6_CONT;\
|
|
|
+ type HDMI_GENERIC6_SEND;\
|
|
|
+ type HDMI_GENERIC6_LINE;\
|
|
|
+ type HDMI_GENERIC7_CONT;\
|
|
|
+ type HDMI_GENERIC7_SEND;\
|
|
|
+ type HDMI_GENERIC7_LINE;\
|
|
|
+ type DP_PIXEL_ENCODING;\
|
|
|
+ type DP_COMPONENT_DEPTH;\
|
|
|
+ type HDMI_PACKET_GEN_VERSION;\
|
|
|
+ type HDMI_KEEPOUT_MODE;\
|
|
|
+ type HDMI_DEEP_COLOR_ENABLE;\
|
|
|
+ type HDMI_CLOCK_CHANNEL_RATE;\
|
|
|
+ type HDMI_DEEP_COLOR_DEPTH;\
|
|
|
+ type HDMI_GC_CONT;\
|
|
|
+ type HDMI_GC_SEND;\
|
|
|
+ type HDMI_NULL_SEND;\
|
|
|
+ type HDMI_DATA_SCRAMBLE_EN;\
|
|
|
+ type HDMI_AUDIO_INFO_SEND;\
|
|
|
+ type AFMT_AUDIO_INFO_UPDATE;\
|
|
|
+ type HDMI_AUDIO_INFO_LINE;\
|
|
|
+ type HDMI_GC_AVMUTE;\
|
|
|
+ type DP_MSE_RATE_X;\
|
|
|
+ type DP_MSE_RATE_Y;\
|
|
|
+ type DP_MSE_RATE_UPDATE_PENDING;\
|
|
|
+ type DP_SEC_GSP0_ENABLE;\
|
|
|
+ type DP_SEC_STREAM_ENABLE;\
|
|
|
+ type DP_SEC_GSP1_ENABLE;\
|
|
|
+ type DP_SEC_GSP2_ENABLE;\
|
|
|
+ type DP_SEC_GSP3_ENABLE;\
|
|
|
+ type DP_SEC_GSP4_ENABLE;\
|
|
|
+ type DP_SEC_GSP5_ENABLE;\
|
|
|
+ type DP_SEC_GSP6_ENABLE;\
|
|
|
+ type DP_SEC_GSP7_ENABLE;\
|
|
|
+ type DP_SEC_MPG_ENABLE;\
|
|
|
+ type DP_VID_STREAM_DIS_DEFER;\
|
|
|
+ type DP_VID_STREAM_ENABLE;\
|
|
|
+ type DP_VID_STREAM_STATUS;\
|
|
|
+ type DP_STEER_FIFO_RESET;\
|
|
|
+ type DP_VID_M_N_GEN_EN;\
|
|
|
+ type DP_VID_N;\
|
|
|
+ type DP_VID_M;\
|
|
|
+ type DIG_START;\
|
|
|
+ type AFMT_AUDIO_SRC_SELECT;\
|
|
|
+ type AFMT_AUDIO_CHANNEL_ENABLE;\
|
|
|
+ type HDMI_AUDIO_PACKETS_PER_LINE;\
|
|
|
+ type HDMI_AUDIO_DELAY_EN;\
|
|
|
+ type AFMT_60958_CS_UPDATE;\
|
|
|
+ type AFMT_AUDIO_LAYOUT_OVRD;\
|
|
|
+ type AFMT_60958_OSF_OVRD;\
|
|
|
+ type HDMI_ACR_AUTO_SEND;\
|
|
|
+ type HDMI_ACR_SOURCE;\
|
|
|
+ type HDMI_ACR_AUDIO_PRIORITY;\
|
|
|
+ type HDMI_ACR_CTS_32;\
|
|
|
+ type HDMI_ACR_N_32;\
|
|
|
+ type HDMI_ACR_CTS_44;\
|
|
|
+ type HDMI_ACR_N_44;\
|
|
|
+ type HDMI_ACR_CTS_48;\
|
|
|
+ type HDMI_ACR_N_48;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_L;\
|
|
|
+ type AFMT_60958_CS_CLOCK_ACCURACY;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_R;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_2;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_3;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_4;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_5;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_6;\
|
|
|
+ type AFMT_60958_CS_CHANNEL_NUMBER_7;\
|
|
|
+ type DP_SEC_AUD_N;\
|
|
|
+ type DP_SEC_TIMESTAMP_MODE;\
|
|
|
+ type DP_SEC_ASP_ENABLE;\
|
|
|
+ type DP_SEC_ATP_ENABLE;\
|
|
|
+ type DP_SEC_AIP_ENABLE;\
|
|
|
+ type DP_SEC_ACM_ENABLE;\
|
|
|
+ type AFMT_AUDIO_SAMPLE_SEND;\
|
|
|
+ type AFMT_AUDIO_CLOCK_EN;\
|
|
|
+ type TMDS_PIXEL_ENCODING;\
|
|
|
+ type TMDS_COLOR_FORMAT;\
|
|
|
+ type DIG_STEREOSYNC_SELECT;\
|
|
|
+ type DIG_STEREOSYNC_GATE_EN;\
|
|
|
+ type DP_DB_DISABLE;\
|
|
|
+ type DP_MSA_MISC0;\
|
|
|
+ type DP_MSA_HTOTAL;\
|
|
|
+ type DP_MSA_VTOTAL;\
|
|
|
+ type DP_MSA_HSTART;\
|
|
|
+ type DP_MSA_VSTART;\
|
|
|
+ type DP_MSA_HSYNCWIDTH;\
|
|
|
+ type DP_MSA_HSYNCPOLARITY;\
|
|
|
+ type DP_MSA_VSYNCWIDTH;\
|
|
|
+ type DP_MSA_VSYNCPOLARITY;\
|
|
|
+ type DP_MSA_HWIDTH;\
|
|
|
+ type DP_MSA_VHEIGHT;\
|
|
|
+ type HDMI_DB_DISABLE;\
|
|
|
+ type DP_VID_N_MUL;\
|
|
|
+ type DP_VID_M_DOUBLE_VALUE_EN
|
|
|
+
|
|
|
struct dcn10_stream_encoder_shift {
|
|
|
- uint8_t AFMT_GENERIC_INDEX;
|
|
|
- uint8_t AFMT_GENERIC_HB0;
|
|
|
- uint8_t AFMT_GENERIC_HB1;
|
|
|
- uint8_t AFMT_GENERIC_HB2;
|
|
|
- uint8_t AFMT_GENERIC_HB3;
|
|
|
- uint8_t AFMT_GENERIC_LOCK_STATUS;
|
|
|
- uint8_t AFMT_GENERIC_CONFLICT;
|
|
|
- uint8_t AFMT_GENERIC_CONFLICT_CLR;
|
|
|
- uint8_t AFMT_GENERIC0_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC1_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC2_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC3_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC4_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC5_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC6_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC7_FRAME_UPDATE_PENDING;
|
|
|
- uint8_t AFMT_GENERIC0_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC1_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC2_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC3_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC4_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC5_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC6_FRAME_UPDATE;
|
|
|
- uint8_t AFMT_GENERIC7_FRAME_UPDATE;
|
|
|
- uint8_t HDMI_GENERIC0_CONT;
|
|
|
- uint8_t HDMI_GENERIC0_SEND;
|
|
|
- uint8_t HDMI_GENERIC0_LINE;
|
|
|
- uint8_t HDMI_GENERIC1_CONT;
|
|
|
- uint8_t HDMI_GENERIC1_SEND;
|
|
|
- uint8_t HDMI_GENERIC1_LINE;
|
|
|
- uint8_t HDMI_GENERIC2_CONT;
|
|
|
- uint8_t HDMI_GENERIC2_SEND;
|
|
|
- uint8_t HDMI_GENERIC2_LINE;
|
|
|
- uint8_t HDMI_GENERIC3_CONT;
|
|
|
- uint8_t HDMI_GENERIC3_SEND;
|
|
|
- uint8_t HDMI_GENERIC3_LINE;
|
|
|
- uint8_t HDMI_GENERIC4_CONT;
|
|
|
- uint8_t HDMI_GENERIC4_SEND;
|
|
|
- uint8_t HDMI_GENERIC4_LINE;
|
|
|
- uint8_t HDMI_GENERIC5_CONT;
|
|
|
- uint8_t HDMI_GENERIC5_SEND;
|
|
|
- uint8_t HDMI_GENERIC5_LINE;
|
|
|
- uint8_t HDMI_GENERIC6_CONT;
|
|
|
- uint8_t HDMI_GENERIC6_SEND;
|
|
|
- uint8_t HDMI_GENERIC6_LINE;
|
|
|
- uint8_t HDMI_GENERIC7_CONT;
|
|
|
- uint8_t HDMI_GENERIC7_SEND;
|
|
|
- uint8_t HDMI_GENERIC7_LINE;
|
|
|
- uint8_t DP_PIXEL_ENCODING;
|
|
|
- uint8_t DP_COMPONENT_DEPTH;
|
|
|
- uint8_t HDMI_PACKET_GEN_VERSION;
|
|
|
- uint8_t HDMI_KEEPOUT_MODE;
|
|
|
- uint8_t HDMI_DEEP_COLOR_ENABLE;
|
|
|
- uint8_t HDMI_CLOCK_CHANNEL_RATE;
|
|
|
- uint8_t HDMI_DEEP_COLOR_DEPTH;
|
|
|
- uint8_t HDMI_GC_CONT;
|
|
|
- uint8_t HDMI_GC_SEND;
|
|
|
- uint8_t HDMI_NULL_SEND;
|
|
|
- uint8_t HDMI_DATA_SCRAMBLE_EN;
|
|
|
- uint8_t HDMI_AUDIO_INFO_SEND;
|
|
|
- uint8_t AFMT_AUDIO_INFO_UPDATE;
|
|
|
- uint8_t HDMI_AUDIO_INFO_LINE;
|
|
|
- uint8_t HDMI_GC_AVMUTE;
|
|
|
- uint8_t DP_MSE_RATE_X;
|
|
|
- uint8_t DP_MSE_RATE_Y;
|
|
|
- uint8_t DP_MSE_RATE_UPDATE_PENDING;
|
|
|
- uint8_t DP_SEC_GSP0_ENABLE;
|
|
|
- uint8_t DP_SEC_STREAM_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP1_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP2_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP3_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP4_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP5_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP6_ENABLE;
|
|
|
- uint8_t DP_SEC_GSP7_ENABLE;
|
|
|
- uint8_t DP_SEC_MPG_ENABLE;
|
|
|
- uint8_t DP_VID_STREAM_DIS_DEFER;
|
|
|
- uint8_t DP_VID_STREAM_ENABLE;
|
|
|
- uint8_t DP_VID_STREAM_STATUS;
|
|
|
- uint8_t DP_STEER_FIFO_RESET;
|
|
|
- uint8_t DP_VID_M_N_GEN_EN;
|
|
|
- uint8_t DP_VID_N;
|
|
|
- uint8_t DP_VID_M;
|
|
|
- uint8_t DIG_START;
|
|
|
- uint8_t AFMT_AUDIO_SRC_SELECT;
|
|
|
- uint8_t AFMT_AUDIO_CHANNEL_ENABLE;
|
|
|
- uint8_t HDMI_AUDIO_PACKETS_PER_LINE;
|
|
|
- uint8_t HDMI_AUDIO_DELAY_EN;
|
|
|
- uint8_t AFMT_60958_CS_UPDATE;
|
|
|
- uint8_t AFMT_AUDIO_LAYOUT_OVRD;
|
|
|
- uint8_t AFMT_60958_OSF_OVRD;
|
|
|
- uint8_t HDMI_ACR_AUTO_SEND;
|
|
|
- uint8_t HDMI_ACR_SOURCE;
|
|
|
- uint8_t HDMI_ACR_AUDIO_PRIORITY;
|
|
|
- uint8_t HDMI_ACR_CTS_32;
|
|
|
- uint8_t HDMI_ACR_N_32;
|
|
|
- uint8_t HDMI_ACR_CTS_44;
|
|
|
- uint8_t HDMI_ACR_N_44;
|
|
|
- uint8_t HDMI_ACR_CTS_48;
|
|
|
- uint8_t HDMI_ACR_N_48;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_L;
|
|
|
- uint8_t AFMT_60958_CS_CLOCK_ACCURACY;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_R;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_2;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_3;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_4;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_5;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_6;
|
|
|
- uint8_t AFMT_60958_CS_CHANNEL_NUMBER_7;
|
|
|
- uint8_t DP_SEC_AUD_N;
|
|
|
- uint8_t DP_SEC_TIMESTAMP_MODE;
|
|
|
- uint8_t DP_SEC_ASP_ENABLE;
|
|
|
- uint8_t DP_SEC_ATP_ENABLE;
|
|
|
- uint8_t DP_SEC_AIP_ENABLE;
|
|
|
- uint8_t DP_SEC_ACM_ENABLE;
|
|
|
- uint8_t AFMT_AUDIO_SAMPLE_SEND;
|
|
|
- uint8_t AFMT_AUDIO_CLOCK_EN;
|
|
|
- uint8_t TMDS_PIXEL_ENCODING;
|
|
|
- uint8_t TMDS_COLOR_FORMAT;
|
|
|
- uint8_t DIG_STEREOSYNC_SELECT;
|
|
|
- uint8_t DIG_STEREOSYNC_GATE_EN;
|
|
|
- uint8_t DP_DB_DISABLE;
|
|
|
- uint8_t DP_MSA_MISC0;
|
|
|
- uint8_t DP_MSA_HTOTAL;
|
|
|
- uint8_t DP_MSA_VTOTAL;
|
|
|
- uint8_t DP_MSA_HSTART;
|
|
|
- uint8_t DP_MSA_VSTART;
|
|
|
- uint8_t DP_MSA_HSYNCWIDTH;
|
|
|
- uint8_t DP_MSA_HSYNCPOLARITY;
|
|
|
- uint8_t DP_MSA_VSYNCWIDTH;
|
|
|
- uint8_t DP_MSA_VSYNCPOLARITY;
|
|
|
- uint8_t DP_MSA_HWIDTH;
|
|
|
- uint8_t DP_MSA_VHEIGHT;
|
|
|
- uint8_t HDMI_DB_DISABLE;
|
|
|
- uint8_t DP_VID_N_MUL;
|
|
|
- uint8_t DP_VID_M_DOUBLE_VALUE_EN;
|
|
|
+ SE_REG_FIELD_LIST_DCN1_0(uint8_t);
|
|
|
};
|
|
|
|
|
|
struct dcn10_stream_encoder_mask {
|
|
|
- uint32_t AFMT_GENERIC_INDEX;
|
|
|
- uint32_t AFMT_GENERIC_HB0;
|
|
|
- uint32_t AFMT_GENERIC_HB1;
|
|
|
- uint32_t AFMT_GENERIC_HB2;
|
|
|
- uint32_t AFMT_GENERIC_HB3;
|
|
|
- uint32_t AFMT_GENERIC_LOCK_STATUS;
|
|
|
- uint32_t AFMT_GENERIC_CONFLICT;
|
|
|
- uint32_t AFMT_GENERIC_CONFLICT_CLR;
|
|
|
- uint32_t AFMT_GENERIC0_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC1_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC2_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC3_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC4_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC5_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC6_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC7_FRAME_UPDATE_PENDING;
|
|
|
- uint32_t AFMT_GENERIC0_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC1_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC2_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC3_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC4_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC5_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC6_FRAME_UPDATE;
|
|
|
- uint32_t AFMT_GENERIC7_FRAME_UPDATE;
|
|
|
- uint32_t HDMI_GENERIC0_CONT;
|
|
|
- uint32_t HDMI_GENERIC0_SEND;
|
|
|
- uint32_t HDMI_GENERIC0_LINE;
|
|
|
- uint32_t HDMI_GENERIC1_CONT;
|
|
|
- uint32_t HDMI_GENERIC1_SEND;
|
|
|
- uint32_t HDMI_GENERIC1_LINE;
|
|
|
- uint32_t HDMI_GENERIC2_CONT;
|
|
|
- uint32_t HDMI_GENERIC2_SEND;
|
|
|
- uint32_t HDMI_GENERIC2_LINE;
|
|
|
- uint32_t HDMI_GENERIC3_CONT;
|
|
|
- uint32_t HDMI_GENERIC3_SEND;
|
|
|
- uint32_t HDMI_GENERIC3_LINE;
|
|
|
- uint32_t HDMI_GENERIC4_CONT;
|
|
|
- uint32_t HDMI_GENERIC4_SEND;
|
|
|
- uint32_t HDMI_GENERIC4_LINE;
|
|
|
- uint32_t HDMI_GENERIC5_CONT;
|
|
|
- uint32_t HDMI_GENERIC5_SEND;
|
|
|
- uint32_t HDMI_GENERIC5_LINE;
|
|
|
- uint32_t HDMI_GENERIC6_CONT;
|
|
|
- uint32_t HDMI_GENERIC6_SEND;
|
|
|
- uint32_t HDMI_GENERIC6_LINE;
|
|
|
- uint32_t HDMI_GENERIC7_CONT;
|
|
|
- uint32_t HDMI_GENERIC7_SEND;
|
|
|
- uint32_t HDMI_GENERIC7_LINE;
|
|
|
- uint32_t DP_PIXEL_ENCODING;
|
|
|
- uint32_t DP_COMPONENT_DEPTH;
|
|
|
- uint32_t HDMI_PACKET_GEN_VERSION;
|
|
|
- uint32_t HDMI_KEEPOUT_MODE;
|
|
|
- uint32_t HDMI_DEEP_COLOR_ENABLE;
|
|
|
- uint32_t HDMI_CLOCK_CHANNEL_RATE;
|
|
|
- uint32_t HDMI_DEEP_COLOR_DEPTH;
|
|
|
- uint32_t HDMI_GC_CONT;
|
|
|
- uint32_t HDMI_GC_SEND;
|
|
|
- uint32_t HDMI_NULL_SEND;
|
|
|
- uint32_t HDMI_DATA_SCRAMBLE_EN;
|
|
|
- uint32_t HDMI_AUDIO_INFO_SEND;
|
|
|
- uint32_t AFMT_AUDIO_INFO_UPDATE;
|
|
|
- uint32_t HDMI_AUDIO_INFO_LINE;
|
|
|
- uint32_t HDMI_GC_AVMUTE;
|
|
|
- uint32_t DP_MSE_RATE_X;
|
|
|
- uint32_t DP_MSE_RATE_Y;
|
|
|
- uint32_t DP_MSE_RATE_UPDATE_PENDING;
|
|
|
- uint32_t DP_SEC_GSP0_ENABLE;
|
|
|
- uint32_t DP_SEC_STREAM_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP1_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP2_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP3_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP4_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP5_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP6_ENABLE;
|
|
|
- uint32_t DP_SEC_GSP7_ENABLE;
|
|
|
- uint32_t DP_SEC_MPG_ENABLE;
|
|
|
- uint32_t DP_VID_STREAM_DIS_DEFER;
|
|
|
- uint32_t DP_VID_STREAM_ENABLE;
|
|
|
- uint32_t DP_VID_STREAM_STATUS;
|
|
|
- uint32_t DP_STEER_FIFO_RESET;
|
|
|
- uint32_t DP_VID_M_N_GEN_EN;
|
|
|
- uint32_t DP_VID_N;
|
|
|
- uint32_t DP_VID_M;
|
|
|
- uint32_t DIG_START;
|
|
|
- uint32_t AFMT_AUDIO_SRC_SELECT;
|
|
|
- uint32_t AFMT_AUDIO_CHANNEL_ENABLE;
|
|
|
- uint32_t HDMI_AUDIO_PACKETS_PER_LINE;
|
|
|
- uint32_t HDMI_AUDIO_DELAY_EN;
|
|
|
- uint32_t AFMT_60958_CS_UPDATE;
|
|
|
- uint32_t AFMT_AUDIO_LAYOUT_OVRD;
|
|
|
- uint32_t AFMT_60958_OSF_OVRD;
|
|
|
- uint32_t HDMI_ACR_AUTO_SEND;
|
|
|
- uint32_t HDMI_ACR_SOURCE;
|
|
|
- uint32_t HDMI_ACR_AUDIO_PRIORITY;
|
|
|
- uint32_t HDMI_ACR_CTS_32;
|
|
|
- uint32_t HDMI_ACR_N_32;
|
|
|
- uint32_t HDMI_ACR_CTS_44;
|
|
|
- uint32_t HDMI_ACR_N_44;
|
|
|
- uint32_t HDMI_ACR_CTS_48;
|
|
|
- uint32_t HDMI_ACR_N_48;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_L;
|
|
|
- uint32_t AFMT_60958_CS_CLOCK_ACCURACY;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_R;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_2;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_3;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_4;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_5;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_6;
|
|
|
- uint32_t AFMT_60958_CS_CHANNEL_NUMBER_7;
|
|
|
- uint32_t DP_SEC_AUD_N;
|
|
|
- uint32_t DP_SEC_TIMESTAMP_MODE;
|
|
|
- uint32_t DP_SEC_ASP_ENABLE;
|
|
|
- uint32_t DP_SEC_ATP_ENABLE;
|
|
|
- uint32_t DP_SEC_AIP_ENABLE;
|
|
|
- uint32_t DP_SEC_ACM_ENABLE;
|
|
|
- uint32_t AFMT_AUDIO_SAMPLE_SEND;
|
|
|
- uint32_t AFMT_AUDIO_CLOCK_EN;
|
|
|
- uint32_t TMDS_PIXEL_ENCODING;
|
|
|
- uint32_t DIG_STEREOSYNC_SELECT;
|
|
|
- uint32_t DIG_STEREOSYNC_GATE_EN;
|
|
|
- uint32_t TMDS_COLOR_FORMAT;
|
|
|
- uint32_t DP_DB_DISABLE;
|
|
|
- uint32_t DP_MSA_MISC0;
|
|
|
- uint32_t DP_MSA_HTOTAL;
|
|
|
- uint32_t DP_MSA_VTOTAL;
|
|
|
- uint32_t DP_MSA_HSTART;
|
|
|
- uint32_t DP_MSA_VSTART;
|
|
|
- uint32_t DP_MSA_HSYNCWIDTH;
|
|
|
- uint32_t DP_MSA_HSYNCPOLARITY;
|
|
|
- uint32_t DP_MSA_VSYNCWIDTH;
|
|
|
- uint32_t DP_MSA_VSYNCPOLARITY;
|
|
|
- uint32_t DP_MSA_HWIDTH;
|
|
|
- uint32_t DP_MSA_VHEIGHT;
|
|
|
- uint32_t HDMI_DB_DISABLE;
|
|
|
- uint32_t DP_VID_N_MUL;
|
|
|
- uint32_t DP_VID_M_DOUBLE_VALUE_EN;
|
|
|
-};
|
|
|
-
|
|
|
-struct dcn10_stream_enc_registers {
|
|
|
- uint32_t AFMT_CNTL;
|
|
|
- uint32_t AFMT_AVI_INFO0;
|
|
|
- uint32_t AFMT_AVI_INFO1;
|
|
|
- uint32_t AFMT_AVI_INFO2;
|
|
|
- uint32_t AFMT_AVI_INFO3;
|
|
|
- uint32_t AFMT_GENERIC_0;
|
|
|
- uint32_t AFMT_GENERIC_1;
|
|
|
- uint32_t AFMT_GENERIC_2;
|
|
|
- uint32_t AFMT_GENERIC_3;
|
|
|
- uint32_t AFMT_GENERIC_4;
|
|
|
- uint32_t AFMT_GENERIC_5;
|
|
|
- uint32_t AFMT_GENERIC_6;
|
|
|
- uint32_t AFMT_GENERIC_7;
|
|
|
- uint32_t AFMT_GENERIC_HDR;
|
|
|
- uint32_t AFMT_INFOFRAME_CONTROL0;
|
|
|
- uint32_t AFMT_VBI_PACKET_CONTROL;
|
|
|
- uint32_t AFMT_VBI_PACKET_CONTROL1;
|
|
|
- uint32_t AFMT_AUDIO_PACKET_CONTROL;
|
|
|
- uint32_t AFMT_AUDIO_PACKET_CONTROL2;
|
|
|
- uint32_t AFMT_AUDIO_SRC_CONTROL;
|
|
|
- uint32_t AFMT_60958_0;
|
|
|
- uint32_t AFMT_60958_1;
|
|
|
- uint32_t AFMT_60958_2;
|
|
|
- uint32_t DIG_FE_CNTL;
|
|
|
- uint32_t DP_MSE_RATE_CNTL;
|
|
|
- uint32_t DP_MSE_RATE_UPDATE;
|
|
|
- uint32_t DP_PIXEL_FORMAT;
|
|
|
- uint32_t DP_SEC_CNTL;
|
|
|
- uint32_t DP_STEER_FIFO;
|
|
|
- uint32_t DP_VID_M;
|
|
|
- uint32_t DP_VID_N;
|
|
|
- uint32_t DP_VID_STREAM_CNTL;
|
|
|
- uint32_t DP_VID_TIMING;
|
|
|
- uint32_t DP_SEC_AUD_N;
|
|
|
- uint32_t DP_SEC_TIMESTAMP;
|
|
|
- uint32_t HDMI_CONTROL;
|
|
|
- uint32_t HDMI_GC;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL0;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL1;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL2;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL3;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL4;
|
|
|
- uint32_t HDMI_GENERIC_PACKET_CONTROL5;
|
|
|
- uint32_t HDMI_INFOFRAME_CONTROL0;
|
|
|
- uint32_t HDMI_INFOFRAME_CONTROL1;
|
|
|
- uint32_t HDMI_VBI_PACKET_CONTROL;
|
|
|
- uint32_t HDMI_AUDIO_PACKET_CONTROL;
|
|
|
- uint32_t HDMI_ACR_PACKET_CONTROL;
|
|
|
- uint32_t HDMI_ACR_32_0;
|
|
|
- uint32_t HDMI_ACR_32_1;
|
|
|
- uint32_t HDMI_ACR_44_0;
|
|
|
- uint32_t HDMI_ACR_44_1;
|
|
|
- uint32_t HDMI_ACR_48_0;
|
|
|
- uint32_t HDMI_ACR_48_1;
|
|
|
- uint32_t TMDS_CNTL;
|
|
|
- uint32_t DP_DB_CNTL;
|
|
|
- uint32_t DP_MSA_MISC;
|
|
|
- uint32_t DP_MSA_COLORIMETRY;
|
|
|
- uint32_t DP_MSA_TIMING_PARAM1;
|
|
|
- uint32_t DP_MSA_TIMING_PARAM2;
|
|
|
- uint32_t DP_MSA_TIMING_PARAM3;
|
|
|
- uint32_t DP_MSA_TIMING_PARAM4;
|
|
|
- uint32_t HDMI_DB_CONTROL;
|
|
|
+ SE_REG_FIELD_LIST_DCN1_0(uint32_t);
|
|
|
};
|
|
|
|
|
|
struct dcn10_stream_encoder {
|
|
@@ -581,4 +450,75 @@ void dcn10_stream_encoder_construct(
|
|
|
const struct dcn10_stream_encoder_shift *se_shift,
|
|
|
const struct dcn10_stream_encoder_mask *se_mask);
|
|
|
|
|
|
+void enc1_update_generic_info_packet(
|
|
|
+ struct dcn10_stream_encoder *enc1,
|
|
|
+ uint32_t packet_index,
|
|
|
+ const struct dc_info_packet *info_packet);
|
|
|
+
|
|
|
+void enc1_stream_encoder_dp_set_stream_attribute(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ struct dc_crtc_timing *crtc_timing,
|
|
|
+ enum dc_color_space output_color_space);
|
|
|
+
|
|
|
+void enc1_stream_encoder_hdmi_set_stream_attribute(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ struct dc_crtc_timing *crtc_timing,
|
|
|
+ int actual_pix_clk_khz,
|
|
|
+ bool enable_audio);
|
|
|
+
|
|
|
+void enc1_stream_encoder_dvi_set_stream_attribute(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ struct dc_crtc_timing *crtc_timing,
|
|
|
+ bool is_dual_link);
|
|
|
+
|
|
|
+void enc1_stream_encoder_set_mst_bandwidth(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ struct fixed31_32 avg_time_slots_per_mtp);
|
|
|
+
|
|
|
+void enc1_stream_encoder_update_dp_info_packets(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ const struct encoder_info_frame *info_frame);
|
|
|
+
|
|
|
+void enc1_stream_encoder_stop_dp_info_packets(
|
|
|
+ struct stream_encoder *enc);
|
|
|
+
|
|
|
+void enc1_stream_encoder_dp_blank(
|
|
|
+ struct stream_encoder *enc);
|
|
|
+
|
|
|
+void enc1_stream_encoder_dp_unblank(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ const struct encoder_unblank_param *param);
|
|
|
+
|
|
|
+void enc1_setup_stereo_sync(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ int tg_inst, bool enable);
|
|
|
+
|
|
|
+void enc1_stream_encoder_set_avmute(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ bool enable);
|
|
|
+
|
|
|
+void enc1_se_audio_mute_control(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ bool mute);
|
|
|
+
|
|
|
+void enc1_se_dp_audio_setup(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ unsigned int az_inst,
|
|
|
+ struct audio_info *info);
|
|
|
+
|
|
|
+void enc1_se_dp_audio_enable(
|
|
|
+ struct stream_encoder *enc);
|
|
|
+
|
|
|
+void enc1_se_dp_audio_disable(
|
|
|
+ struct stream_encoder *enc);
|
|
|
+
|
|
|
+void enc1_se_hdmi_audio_setup(
|
|
|
+ struct stream_encoder *enc,
|
|
|
+ unsigned int az_inst,
|
|
|
+ struct audio_info *info,
|
|
|
+ struct audio_crtc_info *audio_crtc_info);
|
|
|
+
|
|
|
+void enc1_se_hdmi_audio_disable(
|
|
|
+ struct stream_encoder *enc);
|
|
|
+
|
|
|
#endif /* __DC_STREAM_ENCODER_DCN10_H__ */
|