disp: msm: dp: pass correct vdo value to the simulate_attention cb

In DPSIM, while calling the hpd callback from dp_sim_host_hpd_irq,
the hpd argument is passed in as false. In the hpd callback, both
the hpd_irq and hpd arguments need to be encoded into the vdo
parameter. Currently, MST DPSIM testcases are broken because this
is not implemented properly.

This change sets the hpd argument to true in the hpd_irq callback, and
encodes the hpd and hpd_irq parameter in the vdo object before passing
it to the simulate_attention callback.

Change-Id: I07155716699aad8554b6e08b446139bcd0d7fa74
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
此提交包含在:
Sudarsan Ramesh
2021-04-01 12:28:44 -04:00
父節點 a40c87b676
當前提交 3bb21d12c2
共有 2 個檔案被更改,包括 11 行新增4 行删除

查看文件

@@ -54,11 +54,18 @@ struct dp_debug_private {
static int dp_debug_sim_hpd_cb(void *arg, bool hpd, bool hpd_irq)
{
struct dp_debug_private *debug = arg;
int vdo = 0;
if (hpd_irq)
return debug->hpd->simulate_attention(debug->hpd, 0);
else
if (hpd_irq) {
vdo |= BIT(7);
if (hpd)
vdo |= BIT(8);
return debug->hpd->simulate_attention(debug->hpd, vdo);
} else {
return debug->hpd->simulate_connect(debug->hpd, hpd);
}
}
static int dp_debug_attach_sim_bridge(struct dp_debug_private *debug)