num_joined_pipes);
 }
 
-static int mst_stream_find_vcpi_slots_for_bpp(struct intel_encoder *encoder,
+static int mst_stream_find_vcpi_slots_for_bpp(struct intel_dp *intel_dp,
                                              struct intel_crtc_state *crtc_state,
                                              int max_bpp, int min_bpp,
                                              struct link_config_limits *limits,
                                              struct drm_connector_state *conn_state,
                                              int step, bool dsc)
 {
-       struct intel_display *display = to_intel_display(encoder);
+       struct intel_display *display = to_intel_display(intel_dp);
        struct drm_atomic_state *state = crtc_state->uapi.state;
-       struct intel_dp *intel_dp = to_primary_dp(encoder);
        struct drm_dp_mst_topology_state *mst_state;
        struct intel_connector *connector =
                to_intel_connector(conn_state->connector);
        return slots;
 }
 
-static int mst_stream_compute_link_config(struct intel_encoder *encoder,
+static int mst_stream_compute_link_config(struct intel_dp *intel_dp,
                                          struct intel_crtc_state *crtc_state,
                                          struct drm_connector_state *conn_state,
                                          struct link_config_limits *limits)
         * FIXME: allocate the BW according to link_bpp, which in the case of
         * YUV420 is only half of the pipe bpp value.
         */
-       slots = mst_stream_find_vcpi_slots_for_bpp(encoder, crtc_state,
+       slots = mst_stream_find_vcpi_slots_for_bpp(intel_dp, crtc_state,
                                                   fxp_q4_to_int(limits->link.max_bpp_x16),
                                                   fxp_q4_to_int(limits->link.min_bpp_x16),
                                                   limits,
        return 0;
 }
 
-static int mst_stream_dsc_compute_link_config(struct intel_encoder *encoder,
+static int mst_stream_dsc_compute_link_config(struct intel_dp *intel_dp,
                                              struct intel_crtc_state *crtc_state,
                                              struct drm_connector_state *conn_state,
                                              struct link_config_limits *limits)
 {
-       struct intel_display *display = to_intel_display(encoder);
+       struct intel_display *display = to_intel_display(intel_dp);
        struct intel_connector *connector = to_intel_connector(conn_state->connector);
        struct drm_i915_private *i915 = to_i915(connector->base.dev);
        int slots = -EINVAL;
        min_compressed_bpp = intel_dp_dsc_nearest_valid_bpp(i915, min_compressed_bpp,
                                                            crtc_state->pipe_bpp);
 
-       slots = mst_stream_find_vcpi_slots_for_bpp(encoder, crtc_state, max_compressed_bpp,
+       slots = mst_stream_find_vcpi_slots_for_bpp(intel_dp, crtc_state, max_compressed_bpp,
                                                   min_compressed_bpp, limits,
                                                   conn_state, 1, true);
 
        return 0;
 }
 
-static int mst_stream_update_slots(struct intel_encoder *encoder,
+static int mst_stream_update_slots(struct intel_dp *intel_dp,
                                   struct intel_crtc_state *crtc_state,
                                   struct drm_connector_state *conn_state)
 {
-       struct intel_display *display = to_intel_display(encoder);
-       struct intel_dp *intel_dp = to_primary_dp(encoder);
+       struct intel_display *display = to_intel_display(intel_dp);
        struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr;
        struct drm_dp_mst_topology_state *topology_state;
        u8 link_coding_cap = intel_dp_is_uhbr(crtc_state) ?
                                                  pipe_config, false, &limits);
 
        if (!dsc_needed) {
-               ret = mst_stream_compute_link_config(encoder, pipe_config,
+               ret = mst_stream_compute_link_config(intel_dp, pipe_config,
                                                     conn_state, &limits);
 
                if (ret == -EDEADLK)
                 */
                drm_dbg_kms(display->drm, "Trying to find VCPI slots in DSC mode\n");
 
-               ret = mst_stream_dsc_compute_link_config(encoder, pipe_config,
+               ret = mst_stream_dsc_compute_link_config(intel_dp, pipe_config,
                                                         conn_state, &limits);
                if (ret < 0)
                        return ret;
        if (ret)
                return ret;
 
-       ret = mst_stream_update_slots(encoder, pipe_config, conn_state);
+       ret = mst_stream_update_slots(intel_dp, pipe_config, conn_state);
        if (ret)
                return ret;