summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c
diff options
context:
space:
mode:
authorWesley Chalmers <Wesley.Chalmers@amd.com>2021-04-01 12:23:06 -0400
committerAlex Deucher <alexander.deucher@amd.com>2021-06-15 17:25:41 -0400
commit30adeee52d1ebadd8e4e594a54c7cf77250b91db (patch)
treef4378d55155ea19356cb5f8c4036cfae9df33a31 /drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c
parent788797c793788415426ef7249ca81c66bbfb9f14 (diff)
downloadlinux-stable-30adeee52d1ebadd8e4e594a54c7cf77250b91db.tar.gz
linux-stable-30adeee52d1ebadd8e4e594a54c7cf77250b91db.tar.bz2
linux-stable-30adeee52d1ebadd8e4e594a54c7cf77250b91db.zip
drm/amd/display: Enforce DPCD Address ranges
[WHY] Some DPCD addresses, notably LTTPR Capability registers, are expected to be read all together in a single DPCD transaction. Rather than force callers to read registers they don't need, we want to quietly extend the addresses read, and only return back the values the caller asked for. This does not affect DPCD writes. [HOW] Create an additional layer above AUX to perform 'checked' DPCD transactions. Iterate through an array of DPCD address ranges that are marked as being contiguous. If a requested read falls within one of those ranges, extend the read to include the entire range. After DPCD has been queried, copy the requested bytes into the caller's data buffer, and deallocate all resources used. Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Anson Jacob <Anson.Jacob@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/hdcp/hdcp_msg.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c b/drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c
index 51855a2624cf..4233955e3c47 100644
--- a/drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c
+++ b/drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c
@@ -33,6 +33,7 @@
#include "core_types.h"
#include "dc_link_ddc.h"
#include "link_hwss.h"
+#include "inc/link_dpcd.h"
#define DC_LOGGER \
link->ctx->logger