drm/amd/display: enable_hpo_dp_link_output: Check link_res->hpo_dp_link_enc before using itcommit d925c04d974c657d10471c0c2dba3bc9c7d994ee upstream.[WHAT & HOW]Functions dp_enable_link_phy and d
drm/amd/display: enable_hpo_dp_link_output: Check link_res->hpo_dp_link_enc before using itcommit d925c04d974c657d10471c0c2dba3bc9c7d994ee upstream.[WHAT & HOW]Functions dp_enable_link_phy and dp_disable_link_phy can pass link_reswithout initializing hpo_dp_link_enc and it is necessary to check fornull before dereferencing.This fixes 1 FORWARD_NULL issue reported by Coverity.Fixes: 0beca868cde8 ("drm/amd/display: Check link_res->hpo_dp_link_enc before using it")Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>Signed-off-by: Alex Hung <alex.hung@amd.com>Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
drm/amd/display: Check link_res->hpo_dp_link_enc before using it[ Upstream commit 0beca868cde8742240cd0038141c30482d2b7eb8 ][WHAT & HOW]Functions dp_enable_link_phy and dp_disable_link_phy can p
drm/amd/display: Check link_res->hpo_dp_link_enc before using it[ Upstream commit 0beca868cde8742240cd0038141c30482d2b7eb8 ][WHAT & HOW]Functions dp_enable_link_phy and dp_disable_link_phy can pass link_reswithout initializing hpo_dp_link_enc and it is necessary to check fornull before dereferencing.This fixes 2 FORWARD_NULL issues reported by Coverity.Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>Signed-off-by: Jerry Zuo <jerry.zuo@amd.com>Signed-off-by: Alex Hung <alex.hung@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>Signed-off-by: Sasha Levin <sashal@kernel.org>
drm/amd/display: Add delay to improve LTTPR UHBR interop[ Upstream commit 10839ee6a977ed1f7d0f4deb29f2d7e5d1f2a9dd ][WHY]Avoid race condition which puts LTTPR into bad state during UHBR LT.[HO
drm/amd/display: Add delay to improve LTTPR UHBR interop[ Upstream commit 10839ee6a977ed1f7d0f4deb29f2d7e5d1f2a9dd ][WHY]Avoid race condition which puts LTTPR into bad state during UHBR LT.[HOW]Delay 30ms between starting UHBR TPS1 PHY output and sending TPS1 via DPCD.Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>Signed-off-by: Michael Strauss <michael.strauss@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>Signed-off-by: Sasha Levin <sashal@kernel.org>
drm/amd/display: Support Compliance Test Pattern Generation with DP2 Retimer[WHY]Certain retimer requires workarounds in order to correctly output test patterns.[HOW]Add vendor-specific aux seq
drm/amd/display: Support Compliance Test Pattern Generation with DP2 Retimer[WHY]Certain retimer requires workarounds in order to correctly output test patterns.[HOW]Add vendor-specific aux sequences to program retimer's TX and pattern generatorwhen specific compliance test patterns are requested by sink.Note: SQ128 w/a in DPMF mode only works in one flip orientation currentlyReviewed-by: Hansen Dsouza <hansen.dsouza@amd.com>Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>Acked-by: Stylon Wang <stylon.wang@amd.com>Signed-off-by: Michael Strauss <michael.strauss@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Add symclk enable/disable during stream enable/disable[Why & How]Using dig_stream_mapper, program symclk_en and symclk_fe_src_sel whenenabling or disabling the corresponding stre
drm/amd/display: Add symclk enable/disable during stream enable/disable[Why & How]Using dig_stream_mapper, program symclk_en and symclk_fe_src_sel whenenabling or disabling the corresponding stream.Reviewed-by: Charlene Liu <charlene.liu@amd.com>Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>Signed-off-by: Taimur Hassan <syed.hassan@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Fix DP2 link training failure with RCO[Why]When RCO is enabled for symclk32_le we get failures duringDP2 link traing compliance tests.[How]Break out symclk32_le RCO into a sep
drm/amd/display: Fix DP2 link training failure with RCO[Why]When RCO is enabled for symclk32_le we get failures duringDP2 link traing compliance tests.[How]Break out symclk32_le RCO into a separate function that iscalled for hpo when link is enabled/disabled.Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>Acked-by: Alan Liu <haoping.liu@amd.com>Signed-off-by: Daniel Miess <daniel.miess@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Clean FPGA code in dc[Why]Drop dead code for Linux.[How]Remove all IS_FPGA_MAXIMUS_DC and IS_DIAG_DCReviewed-by: Ariel Bernstein <eric.bernstein@amd.com>Acked-by: Tom Chung
drm/amd/display: Clean FPGA code in dc[Why]Drop dead code for Linux.[How]Remove all IS_FPGA_MAXIMUS_DC and IS_DIAG_DCReviewed-by: Ariel Bernstein <eric.bernstein@amd.com>Acked-by: Tom Chung <chiahsuan.chung@amd.com>Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: convert link.h functions to function pointer style[Why & How]All dc subcomponents should call another dc component via function pointersstored in a component structure. This is p
drm/amd/display: convert link.h functions to function pointer style[Why & How]All dc subcomponents should call another dc component via function pointersstored in a component structure. This is part of dc coding convention sincethe beginning. The reason behind this is to improve encapsulation andpolymorphism. The function contract is extracted into a single link servicestructure defined in link.h header file and implemented only in link_factory.c insteadof spreading across multiple files in link component file structure.Reviewed-by: Jun Lei <Jun.Lei@amd.com>Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: break down dc_link.c[why]dc_link contains over 30k line of code, the decision is to break itdown to files residing in link folder based on functionality. Thischange is the last
drm/amd/display: break down dc_link.c[why]dc_link contains over 30k line of code, the decision is to break itdown to files residing in link folder based on functionality. Thischange is the last break down change which will remove dc_link.cfile after everything is broken down.[how]Move remaining dc_link.c functions into link_detection, link_dpms,link_validation, link_resource, and link_fpga and remove dc_link.Reviewed-by: George Shen <George.Shen@amd.com>Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: merge dc_link_dp into dc_link[why]Temporarly merge dc_link_dp functions into dc_link for thepurpose of removing dc_link_dp files. This is a transitionalchange for later commits
drm/amd/display: merge dc_link_dp into dc_link[why]Temporarly merge dc_link_dp functions into dc_link for thepurpose of removing dc_link_dp files. This is a transitionalchange for later commits where we will further refactor dc_linkfile.Reviewed-by: George Shen <George.Shen@amd.com>Acked-by: Alan Liu <HaoPing.Liu@amd.com>Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: create accessories, hwss and protocols sub folders in link[why]link component contains three sub folders:accessories - utilities for improving testability, logging or tracing, d
drm/amd/display: create accessories, hwss and protocols sub folders in link[why]link component contains three sub folders:accessories - utilities for improving testability, logging or tracing, doesn't impactend user use cases.protocols - specs defined protocols used in end user use caseshwss - hwss owned link_hwss object, served as an abstraction layer in hwss toaccess various types of encoder/phy/dpia endpoints in a unified interface.sooner we will have files directly under link folder one for the implementation ofeach major link behavior such as link_create, link_detect, link_validateand link_set_dpms.Reviewed-by: George Shen <George.Shen@amd.com>Reviewed-by: Jun Lei <Jun.Lei@amd.com>Acked-by: Alan Liu <HaoPing.Liu@amd.com>Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>