Commit 8867ae8c authored by Relja Vojvodic's avatar Relja Vojvodic Committed by Alex Deucher
Browse files

drm/amd/display: Add dcn401 DIG fifo enable/disable



[Why]
Found while hotplugging MST daisy chain displays. Changing dispclk
during this sequence caused SMU hang due to DIG fifo not being disabled
correctly (caused by missing functions).

[How]
Adding disable/enable DIG fifo functions for dcn401

Reviewed-by: default avatarWenjing Liu <wenjing.liu@amd.com>
Acked-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: default avatarRelja Vojvodic <relja.vojvodic@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 6184bd57
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -392,7 +392,7 @@ static void enc35_reset_fifo(struct stream_encoder *enc, bool reset)
		udelay(10);
}

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

@@ -401,7 +401,7 @@ static void enc35_disable_fifo(struct stream_encoder *enc)
	REG_UPDATE(DIG_FE_CLK_CNTL, DIG_FE_CLK_EN, 0);
}

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

+6 −0
Original line number Diff line number Diff line
@@ -322,5 +322,11 @@ void enc3_dp_set_dsc_pps_info_packet(
	uint8_t *dsc_packed_pps,
	bool immediate_update);

void enc35_disable_fifo(
	struct stream_encoder *enc);

void enc35_enable_fifo(
	struct stream_encoder *enc);


#endif /* __DC_DIO_STREAM_ENCODER_DCN35_H__ */
+3 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include "dc_bios_types.h"
#include "dcn30/dcn30_dio_stream_encoder.h"
#include "dcn32/dcn32_dio_stream_encoder.h"
#include "dcn35/dcn35_dio_stream_encoder.h"

#include "dcn401_dio_stream_encoder.h"
#include "reg_helper.h"
@@ -764,7 +765,8 @@ static const struct stream_encoder_funcs dcn401_str_enc_funcs = {
	.enable_stream = enc401_stream_encoder_enable,

	.set_input_mode = enc401_set_dig_input_mode,
	.enable_fifo = enc32_enable_fifo,
	.enable_fifo = enc35_enable_fifo,
	.disable_fifo = enc35_disable_fifo,
	.map_stream_to_link = enc401_stream_encoder_map_to_link,
};