mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
drm/rockchip: dw-dp: support fix virtual channel payload id
For simulation aux client, the virtual channel pyaload id can't send by sideband MSG. In this case, the MST device often config a fix payload id. It need DPTX also config fix payload id to match the MST device. Change-Id: I49148e92a80091a50a5b1f44496430f39d9c1aee Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
This commit is contained in:
@@ -3858,6 +3858,7 @@ static int dw_dp_mst_encoder_atomic_check(struct drm_encoder *encoder,
|
||||
struct dw_dp_mst_conn *mst_conn = container_of(connector,
|
||||
struct dw_dp_mst_conn, connector);
|
||||
struct drm_dp_mst_topology_state *mst_state;
|
||||
struct drm_dp_mst_atomic_payload *payload;
|
||||
int pbn, slot;
|
||||
|
||||
mst_state = drm_atomic_get_mst_topology_state(crtc_state->state, &dp->mst_mgr);
|
||||
@@ -3918,6 +3919,14 @@ static int dw_dp_mst_encoder_atomic_check(struct drm_encoder *encoder,
|
||||
|
||||
drm_dp_mst_update_slots(mst_state, DP_CAP_ANSI_8B10B);
|
||||
|
||||
payload = drm_atomic_get_mst_payload_state(mst_state, mst_conn->port);
|
||||
if (dp->aux_client && !payload->vcpi) {
|
||||
payload->vcpi = mst_enc->stream_id + 1;
|
||||
dev_info(dp->dev, "[MST PORT:%p] assigned VCPI #%d\n",
|
||||
payload->port, payload->vcpi);
|
||||
mst_state->payload_mask |= BIT(payload->vcpi - 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user