From cbaf919f3313af6a8415076f315d63d0cda1635e Mon Sep 17 00:00:00 2001 From: Nicholas Kazlauskas Date: Wed, 19 May 2021 10:58:19 -0400 Subject: drm/amd/display: Add DCN3.1 DIO Add support for the DIO (Display IO) block of DCN3.1 which controls legacy HDMI/DP stream/link encoding. HW Blocks: +--------+ +--------+ | DIO | | DCCG | +--------+ +--------+ Includes some updates to core logic for link encoder assignment and future support for new high bandwidth output. v2: squash in unused variable fix (Alex) Acked-by: Huang Rui Signed-off-by: Nicholas Kazlauskas Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h') diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h b/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h index 80bc99500645..f643fe3ed064 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/link_encoder.h @@ -127,6 +127,14 @@ struct link_enc_state { }; +#if defined(CONFIG_DRM_AMD_DC_DCN3_1) + enum encoder_type_select { + ENCODER_TYPE_DIG = 0, + ENCODER_TYPE_HDMI_FRL = 1, + ENCODER_TYPE_DP_128B132B = 2 + }; +#endif + struct link_encoder_funcs { void (*read_state)( struct link_encoder *enc, struct link_enc_state *s); @@ -185,6 +193,12 @@ struct link_encoder_funcs { enum signal_type (*get_dig_mode)( struct link_encoder *enc); +#if defined(CONFIG_DRM_AMD_DC_DCN3_1) + void (*set_dio_phy_mux)( + struct link_encoder *enc, + enum encoder_type_select sel, + uint32_t hpo_inst); +#endif }; /* -- cgit v1.2.3