Merge "disp: msm: dp: force disconnect at simulation mode off"

This commit is contained in:
qctecmdr
2019-06-13 00:19:10 -07:00
committed by Gerrit - the friendly Code Review server

View File

@@ -27,6 +27,7 @@ struct dp_debug_private {
u32 dpcd_size;
u32 mst_con_id;
bool hotplug;
char exe_mode[SZ_32];
char reg_dump[SZ_32];
@@ -338,10 +339,18 @@ static ssize_t dp_debug_write_hpd(struct file *file,
goto end;
hpd &= hpd_data_mask;
debug->hotplug = !!(hpd & BIT(0));
debug->dp_debug.psm_enabled = !!(hpd & BIT(1));
debug->hpd->simulate_connect(debug->hpd, !!(hpd & BIT(0)));
/*
* print hotplug value as this code is executed
* only while running in debug mode which is manually
* triggered by a tester or a script.
*/
pr_info("%s\n", debug->hotplug ? "[CONNECT]" : "[DISCONNECT]");
debug->hpd->simulate_connect(debug->hpd, debug->hotplug);
end:
return len;
}
@@ -1504,6 +1513,11 @@ static void dp_debug_set_sim_mode(struct dp_debug_private *debug, bool sim)
debug->aux->set_sim_mode(debug->aux, true,
debug->edid, debug->dpcd);
} else {
if (debug->hotplug) {
pr_warn("sim mode off before hotplug disconnect\n");
debug->hpd->simulate_connect(debug->hpd, false);
debug->hotplug = false;
}
debug->aux->abort(debug->aux);
debug->ctrl->abort(debug->ctrl);