Commit 419e91ea authored by Wayne Lin's avatar Wayne Lin Committed by Lyude Paul

drm/dp_mst: Revise broadcast msg lct & lcr

[Why & How]
According to DP spec, broadcast message LCT equals to 1 and LCR equals
to 6. Current implementation is incorrect. Fix it.
In addition, revise a bit the hdr->rad handling to include broadcast
case.
Signed-off-by: default avatarWayne Lin <Wayne.Lin@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210224101521.6713-2-Wayne.Lin@amd.com
parent 66922f85
...@@ -2827,10 +2827,15 @@ static int set_hdr_from_dst_qlock(struct drm_dp_sideband_msg_hdr *hdr, ...@@ -2827,10 +2827,15 @@ static int set_hdr_from_dst_qlock(struct drm_dp_sideband_msg_hdr *hdr,
else else
hdr->broadcast = 0; hdr->broadcast = 0;
hdr->path_msg = txmsg->path_msg; hdr->path_msg = txmsg->path_msg;
hdr->lct = mstb->lct; if (hdr->broadcast) {
hdr->lcr = mstb->lct - 1; hdr->lct = 1;
if (mstb->lct > 1) hdr->lcr = 6;
memcpy(hdr->rad, mstb->rad, mstb->lct / 2); } else {
hdr->lct = mstb->lct;
hdr->lcr = mstb->lct - 1;
}
memcpy(hdr->rad, mstb->rad, hdr->lct / 2);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment