OSDN Git Service

drm/amd/display: Add HDCP module
authorBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Tue, 6 Aug 2019 21:52:01 +0000 (17:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Oct 2019 14:10:58 +0000 (09:10 -0500)
commit4c283fdac08abf3211533f70623c90a34f41d08d
tree9f2f8b33e1a5e22258536ed67c611468fc8d3281
parent143f23053333c266ca89642e3ce7df83023b4793
drm/amd/display: Add HDCP module

This module manages HDCP for amdgpu driver. The module behaves as a
state machine which handles the different authentication states of HDCP

The module is divided into 3 major components
+--------+
| Hdcp.c |
+--------+
Manages the state machine, sends the events to be executed and communicates
with the dm

+-----------+
|Execution.c|
+-----------+
This executes events based on the current state. Also generates
execution results as transition inputs

+------------+
|Transition.c|
+------------+
Decides the next state based on the input and makes requests to
hdcp.c to handle.
                                +-------------+
                        ------> | Execution.c | ------
                        |       +-------------+       |
                        |                             V
+----+              +--------+                 +--------------+
| DM |    ----->    | Hdcp.c |  <------------  | Transition.c |
+----+    <-----    +--------+                 +--------------+

v2: Drop unused function definitions

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
14 files changed:
drivers/gpu/drm/amd/display/Makefile
drivers/gpu/drm/amd/display/dc/Makefile
drivers/gpu/drm/amd/display/dc/hdcp/Makefile [new file with mode: 0644]
drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/include/hdcp_types.h [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/Makefile [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_transition.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_ddc.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_log.c [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_log.h [new file with mode: 0644]
drivers/gpu/drm/amd/display/modules/inc/mod_hdcp.h [new file with mode: 0644]