Răsfoiți Sursa

Merge "disp: msm: dp: fix call to undeclared function build error" into display-kernel.lnx.1.0

Linux Build Service Account 1 an în urmă
părinte
comite
8bbb79fffb
1 a modificat fișierele cu 6 adăugiri și 3 ștergeri
  1. 6 3
      msm/dp/dp_mst_drm.c

+ 6 - 3
msm/dp/dp_mst_drm.c

@@ -2057,6 +2057,7 @@ static void dp_mst_display_hpd_irq(void *dp_display)
 	struct dp_display *dp = dp_display;
 	struct dp_mst_private *mst = dp->dp_mst_prv_info;
 	u8 esi[14];
+	u8 ack[8] = {};
 	unsigned int esi_res = DP_SINK_COUNT_ESI + 1;
 	bool handled;
 
@@ -2075,17 +2076,19 @@ static void dp_mst_display_hpd_irq(void *dp_display)
 	DP_MST_DEBUG("mst irq: esi1[0x%x] esi2[0x%x] esi3[%x]\n",
 			esi[1], esi[2], esi[3]);
 
-	rc = drm_dp_mst_hpd_irq(&mst->mst_mgr, esi, &handled);
+	rc = drm_dp_mst_hpd_irq_handle_event(&mst->mst_mgr, esi, ack, &handled);
 
 	/* ack the request */
 	if (handled) {
-		rc = drm_dp_dpcd_write(mst->caps.drm_aux, esi_res, &esi[1], 3);
+		rc = drm_dp_dpcd_writeb(mst->caps.drm_aux, esi_res, ack[1]);
 
 		if (esi[1] & DP_UP_REQ_MSG_RDY)
 			dp_mst_clear_edid_cache(dp);
 
-		if (rc != 3)
+		if (rc != 1)
 			DP_ERR("dpcd esi_res failed. rlen=%d\n", rc);
+		else
+			drm_dp_mst_hpd_irq_send_new_request(&mst->mst_mgr);
 	}
 
 	DP_MST_DEBUG("mst display hpd_irq handled:%d rc:%d\n", handled, rc);