summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/link/link_validation.c
diff options
context:
space:
mode:
authorMustapha Ghaddar <mghaddar@amd.com>2023-03-08 10:27:17 -0500
committerAlex Deucher <alexander.deucher@amd.com>2023-03-22 00:59:45 -0400
commita8b537605e22bfe277e666727fa0e9e01f2c729b (patch)
tree5af944e163e5d558280d544ba2d97f49bc0f14fd /drivers/gpu/drm/amd/display/dc/link/link_validation.c
parentb5006f873b99a26f8bd36d691c09083495bc0a03 (diff)
downloadlinux-stable-a8b537605e22bfe277e666727fa0e9e01f2c729b.tar.gz
linux-stable-a8b537605e22bfe277e666727fa0e9e01f2c729b.tar.bz2
linux-stable-a8b537605e22bfe277e666727fa0e9e01f2c729b.zip
drm/amd/display: Add function pointer for validate bw usb4
[WHY] In order to follow the new protocol of calling link functions [HOW] Add the function pointer to the link_srv Reviewed-by: Kshitij Bhardwaj <kshitij.bhardwaj1@amd.com> Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com> Signed-off-by: Mustapha Ghaddar <mghaddar@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/link/link_validation.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/link/link_validation.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/link/link_validation.c b/drivers/gpu/drm/amd/display/dc/link/link_validation.c
index afbd22631721..d4b7da526f0a 100644
--- a/drivers/gpu/drm/amd/display/dc/link/link_validation.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_validation.c
@@ -30,6 +30,7 @@
*/
#include "link_validation.h"
#include "protocols/link_dp_capability.h"
+#include "protocols/link_dp_dpia_bw.h"
#include "resource.h"
#define DC_LOGGER_INIT(logger)
@@ -343,3 +344,20 @@ enum dc_status link_validate_mode_timing(
return DC_OK;
}
+
+bool link_validate_dpia_bandwidth(const struct dc_stream_state *stream, const unsigned int num_streams)
+{
+ bool ret = true;
+ int bw_needed[MAX_DPIA_NUM];
+ struct dc_link *link[MAX_DPIA_NUM];
+
+ if (!num_streams || num_streams > MAX_DPIA_NUM)
+ return ret;
+
+ for (uint8_t i = 0; i < num_streams; ++i) {
+
+ link[i] = stream[i].link;
+ bw_needed[i] = dc_bandwidth_in_kbps_from_timing(&stream[i].timing);
+ }
+ return ret;
+}