mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 05:04:02 +02:00
drm/amd/display: Skip Update HDCP Config In Transition State
Transition state does not have a valid dm_stream_ctx that should skip configuring HDCP routine. The routine is valid to go through only when a valid stream is created. Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Fangzhi Zuo <Jerry.Zuo@amd.com> Signed-off-by: George Zhang <george.zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c6a13d145c
commit
d5164580a9
|
|
@ -589,15 +589,27 @@ static bool enable_assr(void *handle, struct dc_link *link)
|
|||
static void update_config(void *handle, struct cp_psp_stream_config *config)
|
||||
{
|
||||
struct hdcp_workqueue *hdcp_work = handle;
|
||||
struct amdgpu_dm_connector *aconnector = config->dm_stream_ctx;
|
||||
int link_index = aconnector->dc_link->link_index;
|
||||
unsigned int conn_index = aconnector->base.index;
|
||||
struct mod_hdcp_display *display = &hdcp_work[link_index].display;
|
||||
struct mod_hdcp_link *link = &hdcp_work[link_index].link;
|
||||
struct hdcp_workqueue *hdcp_w = &hdcp_work[link_index];
|
||||
struct amdgpu_dm_connector *aconnector;
|
||||
const struct dc *dc;
|
||||
int link_index;
|
||||
unsigned int conn_index;
|
||||
struct mod_hdcp_display *display;
|
||||
struct mod_hdcp_link *link;
|
||||
struct hdcp_workqueue *hdcp_w;
|
||||
struct dc_sink *sink = NULL;
|
||||
bool link_is_hdcp14 = false;
|
||||
const struct dc *dc = aconnector->dc_link->dc;
|
||||
|
||||
aconnector = config->dm_stream_ctx;
|
||||
if (!aconnector || !aconnector->dc_link)
|
||||
return;
|
||||
|
||||
link_index = aconnector->dc_link->link_index;
|
||||
display = &hdcp_work[link_index].display;
|
||||
link = &hdcp_work[link_index].link;
|
||||
hdcp_w = &hdcp_work[link_index];
|
||||
|
||||
conn_index = aconnector->base.index;
|
||||
dc = aconnector->dc_link->dc;
|
||||
|
||||
if (config->dpms_off) {
|
||||
hdcp_remove_display(hdcp_work, link_index, aconnector);
|
||||
|
|
@ -635,7 +647,7 @@ static void update_config(void *handle, struct cp_psp_stream_config *config)
|
|||
link->dp.mst_enabled = config->mst_enabled;
|
||||
link->dp.dp2_enabled = config->dp2_enabled;
|
||||
link->dp.usb4_enabled = config->usb4_enabled;
|
||||
if (aconnector->dc_sink->sink_signal == SIGNAL_TYPE_HDMI_FRL)
|
||||
if (sink && sink->sink_signal == SIGNAL_TYPE_HDMI_FRL)
|
||||
link->hdmi.frl_enabled = config->frl_enabled;
|
||||
display->adjust.disable = MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION;
|
||||
link->adjust.auth_delay = 2;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user