static void dce110_stream_encoder_stop_hdmi_info_packets( struct stream_encoder *enc) { struct dce110_stream_encoder *enc110 = DCE110STRENC_FROM_STRENC(enc); /* stop generic packets 0 & 1 on HDMI */ REG_SET_6(HDMI_GENERIC_PACKET_CONTROL0, 0, HDMI_GENERIC1_CONT, 0, HDMI_GENERIC1_LINE, 0, HDMI_GENERIC1_SEND, 0, HDMI_GENERIC0_CONT, 0, HDMI_GENERIC0_LINE, 0, HDMI_GENERIC0_SEND, 0); /* stop generic packets 2 & 3 on HDMI */ REG_SET_6(HDMI_GENERIC_PACKET_CONTROL1, 0, HDMI_GENERIC0_CONT, 0, HDMI_GENERIC0_LINE, 0, HDMI_GENERIC0_SEND, 0, HDMI_GENERIC1_CONT, 0, HDMI_GENERIC1_LINE, 0, HDMI_GENERIC1_SEND, 0); #if defined(CONFIG_DRM_AMD_DC_DCN1_0) /* stop generic packets 2 & 3 on HDMI */ if (REG(HDMI_GENERIC_PACKET_CONTROL2)) REG_SET_6(HDMI_GENERIC_PACKET_CONTROL2, 0, HDMI_GENERIC0_CONT, 0, HDMI_GENERIC0_LINE, 0, HDMI_GENERIC0_SEND, 0, HDMI_GENERIC1_CONT, 0, HDMI_GENERIC1_LINE, 0, HDMI_GENERIC1_SEND, 0); if (REG(HDMI_GENERIC_PACKET_CONTROL3)) REG_SET_6(HDMI_GENERIC_PACKET_CONTROL3, 0, HDMI_GENERIC0_CONT, 0, HDMI_GENERIC0_LINE, 0, HDMI_GENERIC0_SEND, 0, HDMI_GENERIC1_CONT, 0, HDMI_GENERIC1_LINE, 0, HDMI_GENERIC1_SEND, 0); #endif }
static void set_dither( struct dce_transform *xfm_dce, bool dither_enable, enum dcp_spatial_dither_mode dither_mode, enum dcp_spatial_dither_depth dither_depth, bool frame_random_enable, bool rgb_random_enable, bool highpass_random_enable) { int dither_depth_bits = 0; int dither_mode_bits = 0; switch (dither_mode) { case DCP_SPATIAL_DITHER_MODE_AAAA: dither_mode_bits = 0; break; case DCP_SPATIAL_DITHER_MODE_A_AA_A: dither_mode_bits = 1; break; case DCP_SPATIAL_DITHER_MODE_AABBAABB: dither_mode_bits = 2; break; case DCP_SPATIAL_DITHER_MODE_AABBCCAABBCC: dither_mode_bits = 3; break; default: /* Invalid dcp_spatial_dither_mode */ BREAK_TO_DEBUGGER(); } switch (dither_depth) { case DCP_SPATIAL_DITHER_DEPTH_30BPP: dither_depth_bits = 0; break; case DCP_SPATIAL_DITHER_DEPTH_24BPP: dither_depth_bits = 1; break; default: /* Invalid dcp_spatial_dither_depth */ BREAK_TO_DEBUGGER(); } /* write the register */ REG_SET_6(DCP_SPATIAL_DITHER_CNTL, 0, DCP_SPATIAL_DITHER_EN, dither_enable, DCP_SPATIAL_DITHER_MODE, dither_mode_bits, DCP_SPATIAL_DITHER_DEPTH, dither_depth_bits, DCP_FRAME_RANDOM_ENABLE, frame_random_enable, DCP_RGB_RANDOM_ENABLE, rgb_random_enable, DCP_HIGHPASS_RANDOM_ENABLE, highpass_random_enable); }