Commit 24143e50 authored by Qingqing Zhuo's avatar Qingqing Zhuo Committed by Alex Deucher
Browse files

drm/amd/display: Update DCN314 for DCN35 support



[Why & How]
Update DCN314 files for DCN35 usage.

Signed-off-by: default avatarQingqing Zhuo <Qingqing.Zhuo@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent efc1d1c9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -245,7 +245,7 @@ static void dccg314_set_dtbclk_dto(
	}
}

static void dccg314_set_dpstreamclk(
void dccg314_set_dpstreamclk(
		struct dccg *dccg,
		enum streamclk_source src,
		int otg_inst,
+6 −0
Original line number Diff line number Diff line
@@ -203,4 +203,10 @@ struct dccg *dccg314_create(
	const struct dccg_shift *dccg_shift,
	const struct dccg_mask *dccg_mask);

void dccg314_set_dpstreamclk(
		struct dccg *dccg,
		enum streamclk_source src,
		int otg_inst,
		int dp_hpo_inst);

#endif //__DCN314_DCCG_H__
+11 −11
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@
#define CTX \
	enc1->base.ctx

static void enc314_reset_fifo(struct stream_encoder *enc, bool reset)
void enc314_reset_fifo(struct stream_encoder *enc, bool reset)
{
	struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);
	uint32_t reset_val = reset ? 1 : 0;
@@ -64,7 +64,7 @@ static void enc314_reset_fifo(struct stream_encoder *enc, bool reset)
		udelay(10);
}

static void enc314_enable_fifo(struct stream_encoder *enc)
void enc314_enable_fifo(struct stream_encoder *enc)
{
	struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);

@@ -76,14 +76,14 @@ static void enc314_enable_fifo(struct stream_encoder *enc)
	REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_ENABLE, 1);
}

static void enc314_disable_fifo(struct stream_encoder *enc)
void enc314_disable_fifo(struct stream_encoder *enc)
{
	struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);

	REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_ENABLE, 0);
}

static void enc314_dp_set_odm_combine(
void enc314_dp_set_odm_combine(
	struct stream_encoder *enc,
	bool odm_combine)
{
@@ -93,7 +93,7 @@ static void enc314_dp_set_odm_combine(
}

/* setup stream encoder in dvi mode */
static void enc314_stream_encoder_dvi_set_stream_attribute(
void enc314_stream_encoder_dvi_set_stream_attribute(
	struct stream_encoder *enc,
	struct dc_crtc_timing *crtc_timing,
	bool is_dual_link)
@@ -133,7 +133,7 @@ static void enc314_stream_encoder_dvi_set_stream_attribute(
}

/* setup stream encoder in hdmi mode */
static void enc314_stream_encoder_hdmi_set_stream_attribute(
void enc314_stream_encoder_hdmi_set_stream_attribute(
	struct stream_encoder *enc,
	struct dc_crtc_timing *crtc_timing,
	int actual_pix_clk_khz,
@@ -274,7 +274,7 @@ static bool is_two_pixels_per_containter(const struct dc_crtc_timing *timing)
	return two_pix;
}

static void enc314_stream_encoder_dp_blank(
void enc314_stream_encoder_dp_blank(
	struct dc_link *link,
	struct stream_encoder *enc)
{
@@ -285,7 +285,7 @@ static void enc314_stream_encoder_dp_blank(
		enc314_disable_fifo(enc);
}

static void enc314_stream_encoder_dp_unblank(
void enc314_stream_encoder_dp_unblank(
		struct dc_link *link,
		struct stream_encoder *enc,
		const struct encoder_unblank_param *param)
@@ -380,7 +380,7 @@ static void enc314_stream_encoder_dp_unblank(
 *   sc_bytes_per_pixel: DP_DSC_BYTES_PER_PIXEL removed in DCN32
 *   dsc_slice_width: DP_DSC_SLICE_WIDTH removed in DCN32
 */
static void enc314_dp_set_dsc_config(struct stream_encoder *enc,
void enc314_dp_set_dsc_config(struct stream_encoder *enc,
					enum optc_dsc_mode dsc_mode,
					uint32_t dsc_bytes_per_pixel,
					uint32_t dsc_slice_width)
@@ -393,7 +393,7 @@ static void enc314_dp_set_dsc_config(struct stream_encoder *enc,
/* this function read dsc related register fields to be logged later in dcn10_log_hw_state
 * into a dcn_dsc_state struct.
 */
static void enc314_read_state(struct stream_encoder *enc, struct enc_state *s)
void enc314_read_state(struct stream_encoder *enc, struct enc_state *s)
{
	struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);

@@ -410,7 +410,7 @@ static void enc314_read_state(struct stream_encoder *enc, struct enc_state *s)
	}
}

static void enc314_set_dig_input_mode(struct stream_encoder *enc, unsigned int pix_per_container)
void enc314_set_dig_input_mode(struct stream_encoder *enc, unsigned int pix_per_container)
{
	struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc);

+40 −0
Original line number Diff line number Diff line
@@ -312,4 +312,44 @@ void enc3_dp_set_dsc_pps_info_packet(
	uint8_t *dsc_packed_pps,
	bool immediate_update);

void enc314_stream_encoder_dvi_set_stream_attribute(
	struct stream_encoder *enc,
	struct dc_crtc_timing *crtc_timing,
	bool is_dual_link);

void enc314_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 enc314_stream_encoder_dp_blank(
	struct dc_link *link,
	struct stream_encoder *enc);

void enc314_stream_encoder_dp_unblank(
		struct dc_link *link,
		struct stream_encoder *enc,
		const struct encoder_unblank_param *param);

void enc314_reset_fifo(struct stream_encoder *enc, bool reset);

void enc314_enable_fifo(struct stream_encoder *enc);

void enc314_disable_fifo(struct stream_encoder *enc);

void enc314_set_dig_input_mode(struct stream_encoder *enc, unsigned int pix_per_container);

void enc314_read_state(struct stream_encoder *enc, struct enc_state *s);

void enc314_dp_set_odm_combine(
	struct stream_encoder *enc,
	bool odm_combine);

void enc314_dp_set_dsc_config(
	struct stream_encoder *enc,
	enum optc_dsc_mode dsc_mode,
	uint32_t dsc_bytes_per_pixel,
	uint32_t dsc_slice_width);

#endif /* __DC_DIO_STREAM_ENCODER_DCN314_H__ */