Merge "disp: msm: dp: Update sink sync check to be disabled by default"
Este cometimento está contido em:

cometido por
Gerrit - the friendly Code Review server

cometimento
8c8fad0d91
@@ -1933,6 +1933,16 @@ static int dp_debug_init(struct dp_debug *dp_debug)
|
||||
goto error_remove_dir;
|
||||
}
|
||||
|
||||
file = debugfs_create_bool("hdcp_wait_sink_sync", 0644, dir,
|
||||
&debug->dp_debug.hdcp_wait_sink_sync);
|
||||
|
||||
if (IS_ERR_OR_NULL(file)) {
|
||||
rc = PTR_ERR(file);
|
||||
pr_err("[%s] debugfs hdcp_wait_sink_sync failed, rc=%d\n",
|
||||
DEBUG_NAME, rc);
|
||||
goto error_remove_dir;
|
||||
}
|
||||
|
||||
file = debugfs_create_bool("dsc_feature_enable", 0644, dir,
|
||||
&debug->parser->dsc_feature_enable);
|
||||
if (IS_ERR_OR_NULL(file)) {
|
||||
|
@@ -16,6 +16,7 @@
|
||||
/**
|
||||
* struct dp_debug
|
||||
* @debug_en: specifies whether debug mode enabled
|
||||
* @hdcp_wait_sink_sync: used to wait for sink synchronization before HDCP auth
|
||||
* @vdisplay: used to filter out vdisplay value
|
||||
* @hdisplay: used to filter out hdisplay value
|
||||
* @vrefresh: used to filter out vrefresh value
|
||||
@@ -28,6 +29,7 @@ struct dp_debug {
|
||||
bool sim_mode;
|
||||
bool psm_enabled;
|
||||
bool hdcp_disabled;
|
||||
bool hdcp_wait_sink_sync;
|
||||
int aspect_ratio;
|
||||
int vdisplay;
|
||||
int hdisplay;
|
||||
|
@@ -324,12 +324,16 @@ static void dp_display_hdcp_cb_work(struct work_struct *work)
|
||||
dp->hdcp_delayed_off = false;
|
||||
}
|
||||
|
||||
drm_dp_dpcd_readb(dp->aux->drm_aux, DP_SINK_STATUS, &sink_status);
|
||||
sink_status &= (DP_RECEIVE_PORT_0_STATUS | DP_RECEIVE_PORT_1_STATUS);
|
||||
if (sink_status < 1) {
|
||||
pr_debug("Sink not synchronized. Queuing again then exiting\n");
|
||||
queue_delayed_work(dp->wq, &dp->hdcp_cb_work, HZ);
|
||||
return;
|
||||
if (dp->debug->hdcp_wait_sink_sync) {
|
||||
drm_dp_dpcd_readb(dp->aux->drm_aux, DP_SINK_STATUS,
|
||||
&sink_status);
|
||||
sink_status &= (DP_RECEIVE_PORT_0_STATUS |
|
||||
DP_RECEIVE_PORT_1_STATUS);
|
||||
if (sink_status < 1) {
|
||||
pr_debug("Sink not synchronized. Queuing again then exiting\n");
|
||||
queue_delayed_work(dp->wq, &dp->hdcp_cb_work, HZ);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
status = &dp->link->hdcp_status;
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador