|
@@ -76,9 +76,16 @@ struct dp_drm_mst_fw_helper_ops {
|
|
|
int (*update_payload_part2)(struct drm_dp_mst_topology_mgr *mgr,
|
|
|
struct drm_atomic_state *state,
|
|
|
struct drm_dp_mst_atomic_payload *payload);
|
|
|
+#if (KERNEL_VERSION(6, 1, 25) <= LINUX_VERSION_CODE)
|
|
|
+ void (*reset_vcpi_slots)(struct drm_dp_mst_topology_mgr *mgr,
|
|
|
+ struct drm_dp_mst_topology_state *mst_state,
|
|
|
+ const struct drm_dp_mst_atomic_payload *old_payload,
|
|
|
+ struct drm_dp_mst_atomic_payload *new_payload);
|
|
|
+#else
|
|
|
void (*reset_vcpi_slots)(struct drm_dp_mst_topology_mgr *mgr,
|
|
|
struct drm_dp_mst_topology_state *mst_state,
|
|
|
struct drm_dp_mst_atomic_payload *payload);
|
|
|
+#endif
|
|
|
#else
|
|
|
|
|
|
int (*atomic_find_vcpi_slots)(struct drm_atomic_state *state,
|
|
@@ -708,7 +715,11 @@ static void _dp_mst_bridge_pre_disable_part1(struct dp_mst_bridge *dp_bridge)
|
|
|
#if (KERNEL_VERSION(6, 1, 0) <= LINUX_VERSION_CODE)
|
|
|
mst_state = to_drm_dp_mst_topology_state(mst->mst_mgr.base.state);
|
|
|
payload = drm_atomic_get_mst_payload_state(mst_state, port);
|
|
|
+#if (KERNEL_VERSION(6, 1, 25) <= LINUX_VERSION_CODE)
|
|
|
+ mst->mst_fw_cbs->reset_vcpi_slots(&mst->mst_mgr, mst_state, payload, payload);
|
|
|
+#else
|
|
|
mst->mst_fw_cbs->reset_vcpi_slots(&mst->mst_mgr, mst_state, payload);
|
|
|
+#endif
|
|
|
#else
|
|
|
mst->mst_fw_cbs->reset_vcpi_slots(&mst->mst_mgr, port);
|
|
|
#endif
|