drm/amd/display: Fix incorrect HDCP caps for dongle
[Why] Previously we used link signal type to get the caps. We should use the sink signal type [How] Use sink signal type instead of link signal type Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com> Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
b56e90ea33
commit
0023b7eec0
|
@ -859,8 +859,8 @@ static int hdcp_sink_capability_show(struct seq_file *m, void *data)
|
|||
|
||||
seq_printf(m, "%s:%d HDCP version: ", connector->name, connector->base.id);
|
||||
|
||||
hdcp_cap = dc_link_is_hdcp14(aconnector->dc_link);
|
||||
hdcp2_cap = dc_link_is_hdcp22(aconnector->dc_link);
|
||||
hdcp_cap = dc_link_is_hdcp14(aconnector->dc_link, aconnector->dc_sink->sink_signal);
|
||||
hdcp2_cap = dc_link_is_hdcp22(aconnector->dc_link, aconnector->dc_sink->sink_signal);
|
||||
|
||||
|
||||
if (hdcp_cap)
|
||||
|
|
|
@ -521,11 +521,11 @@ static void link_disconnect_remap(struct dc_sink *prev_sink, struct dc_link *lin
|
|||
}
|
||||
|
||||
#if defined(CONFIG_DRM_AMD_DC_HDCP)
|
||||
bool dc_link_is_hdcp14(struct dc_link *link)
|
||||
bool dc_link_is_hdcp14(struct dc_link *link, enum signal_type signal)
|
||||
{
|
||||
bool ret = false;
|
||||
|
||||
switch (link->connector_signal) {
|
||||
switch (signal) {
|
||||
case SIGNAL_TYPE_DISPLAY_PORT:
|
||||
case SIGNAL_TYPE_DISPLAY_PORT_MST:
|
||||
ret = link->hdcp_caps.bcaps.bits.HDCP_CAPABLE;
|
||||
|
@ -545,11 +545,11 @@ bool dc_link_is_hdcp14(struct dc_link *link)
|
|||
return ret;
|
||||
}
|
||||
|
||||
bool dc_link_is_hdcp22(struct dc_link *link)
|
||||
bool dc_link_is_hdcp22(struct dc_link *link, enum signal_type signal)
|
||||
{
|
||||
bool ret = false;
|
||||
|
||||
switch (link->connector_signal) {
|
||||
switch (signal) {
|
||||
case SIGNAL_TYPE_DISPLAY_PORT:
|
||||
case SIGNAL_TYPE_DISPLAY_PORT_MST:
|
||||
ret = (link->hdcp_caps.bcaps.bits.HDCP_CAPABLE &&
|
||||
|
|
|
@ -312,8 +312,8 @@ bool dc_link_detect_sink(struct dc_link *link, enum dc_connection_type *type);
|
|||
*/
|
||||
|
||||
#ifdef CONFIG_DRM_AMD_DC_HDCP
|
||||
bool dc_link_is_hdcp14(struct dc_link *link);
|
||||
bool dc_link_is_hdcp22(struct dc_link *link);
|
||||
bool dc_link_is_hdcp14(struct dc_link *link, enum signal_type signal);
|
||||
bool dc_link_is_hdcp22(struct dc_link *link, enum signal_type signal);
|
||||
#endif
|
||||
void dc_link_set_drive_settings(struct dc *dc,
|
||||
struct link_training_settings *lt_settings,
|
||||
|
|
Loading…
Reference in New Issue