void intel_psr_irq_handler(struct intel_dp *intel_dp, u32 psr_iir)
 {
-       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        ktime_t time_ns =  ktime_get();
        i915_reg_t imr_reg;
 
        if (DISPLAY_VER(dev_priv) >= 12)
-               imr_reg = TRANS_PSR_IMR(intel_dp->psr.transcoder);
+               imr_reg = TRANS_PSR_IMR(cpu_transcoder);
        else
                imr_reg = EDP_PSR_IMR;
 
 static void hsw_activate_psr1(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        u32 max_sleep_time = 0x1f;
        u32 val = EDP_PSR_ENABLE;
 
        if (DISPLAY_VER(dev_priv) >= 8)
                val |= EDP_PSR_CRC_ENABLE;
 
-       intel_de_rmw(dev_priv, EDP_PSR_CTL(intel_dp->psr.transcoder),
+       intel_de_rmw(dev_priv, EDP_PSR_CTL(cpu_transcoder),
                     ~EDP_PSR_RESTORE_PSR_ACTIVE_CTX_MASK, val);
 }
 
 static void hsw_activate_psr2(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        u32 val = EDP_PSR2_ENABLE;
 
        val |= EDP_PSR2_IDLE_FRAMES(psr_compute_idle_frames(intel_dp));
        if (intel_dp->psr.psr2_sel_fetch_enabled) {
                u32 tmp;
 
-               tmp = intel_de_read(dev_priv, PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder));
+               tmp = intel_de_read(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder));
                drm_WARN_ON(&dev_priv->drm, !(tmp & PSR2_MAN_TRK_CTL_ENABLE));
        } else if (HAS_PSR2_SEL_FETCH(dev_priv)) {
-               intel_de_write(dev_priv,
-                              PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder), 0);
+               intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder), 0);
        }
 
        /*
         * PSR2 HW is incorrectly using EDP_PSR_TP1_TP3_SEL and BSpec is
         * recommending keep this bit unset while PSR2 is enabled.
         */
-       intel_de_write(dev_priv, EDP_PSR_CTL(intel_dp->psr.transcoder), 0);
+       intel_de_write(dev_priv, EDP_PSR_CTL(cpu_transcoder), 0);
 
-       intel_de_write(dev_priv, EDP_PSR2_CTL(intel_dp->psr.transcoder), val);
+       intel_de_write(dev_priv, EDP_PSR2_CTL(cpu_transcoder), val);
 }
 
 static bool
-transcoder_has_psr2(struct drm_i915_private *dev_priv, enum transcoder trans)
+transcoder_has_psr2(struct drm_i915_private *dev_priv, enum transcoder cpu_transcoder)
 {
        if (IS_ALDERLAKE_P(dev_priv) || DISPLAY_VER(dev_priv) >= 14)
-               return trans == TRANSCODER_A || trans == TRANSCODER_B;
+               return cpu_transcoder == TRANSCODER_A || cpu_transcoder == TRANSCODER_B;
        else if (DISPLAY_VER(dev_priv) >= 12)
-               return trans == TRANSCODER_A;
+               return cpu_transcoder == TRANSCODER_A;
        else
-               return trans == TRANSCODER_EDP;
+               return cpu_transcoder == TRANSCODER_EDP;
 }
 
 static u32 intel_get_frame_time_us(const struct intel_crtc_state *cstate)
                                     u32 idle_frames)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
-       intel_de_rmw(dev_priv, EDP_PSR2_CTL(intel_dp->psr.transcoder),
+       intel_de_rmw(dev_priv, EDP_PSR2_CTL(cpu_transcoder),
                     EDP_PSR2_IDLE_FRAMES_MASK,
                     EDP_PSR2_IDLE_FRAMES(idle_frames));
 }
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
+       enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
        struct intel_dp *intel_dp;
        u32 val;
 
                goto unlock;
 
        if (HAS_PSR2_SEL_FETCH(dev_priv)) {
-               val = intel_de_read(dev_priv, PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder));
                if (val & PSR2_MAN_TRK_CTL_ENABLE)
                        pipe_config->enable_psr2_sel_fetch = true;
        }
 
        if (DISPLAY_VER(dev_priv) >= 12) {
-               val = intel_de_read(dev_priv, TRANS_EXITLINE(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, TRANS_EXITLINE(cpu_transcoder));
                pipe_config->dc3co_exitline = REG_FIELD_GET(EXITLINE_MASK, val);
        }
 unlock:
 static void intel_psr_activate(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
-       enum transcoder transcoder = intel_dp->psr.transcoder;
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
-       if (transcoder_has_psr2(dev_priv, transcoder))
+       if (transcoder_has_psr2(dev_priv, cpu_transcoder))
                drm_WARN_ON(&dev_priv->drm,
-                           intel_de_read(dev_priv, EDP_PSR2_CTL(transcoder)) & EDP_PSR2_ENABLE);
+                           intel_de_read(dev_priv, EDP_PSR2_CTL(cpu_transcoder)) & EDP_PSR2_ENABLE);
 
        drm_WARN_ON(&dev_priv->drm,
-                   intel_de_read(dev_priv, EDP_PSR_CTL(transcoder)) & EDP_PSR_ENABLE);
+                   intel_de_read(dev_priv, EDP_PSR_CTL(cpu_transcoder)) & EDP_PSR_ENABLE);
        drm_WARN_ON(&dev_priv->drm, intel_dp->psr.active);
        lockdep_assert_held(&intel_dp->psr.lock);
 
        if (DISPLAY_VER(dev_priv) < 11)
                mask |= EDP_PSR_DEBUG_MASK_DISP_REG_WRITE;
 
-       intel_de_write(dev_priv, EDP_PSR_DEBUG(intel_dp->psr.transcoder),
+       intel_de_write(dev_priv, EDP_PSR_DEBUG(cpu_transcoder),
                       mask);
 
        psr_irq_control(intel_dp);
 static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        u32 val;
 
        /*
         * to avoid any rendering problems.
         */
        if (DISPLAY_VER(dev_priv) >= 12)
-               val = intel_de_read(dev_priv,
-                                   TRANS_PSR_IIR(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, TRANS_PSR_IIR(cpu_transcoder));
        else
                val = intel_de_read(dev_priv, EDP_PSR_IIR);
        val &= psr_irq_psr_error_bit_get(intel_dp);
 static void intel_psr_exit(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        u32 val;
 
        if (!intel_dp->psr.active) {
-               if (transcoder_has_psr2(dev_priv, intel_dp->psr.transcoder)) {
-                       val = intel_de_read(dev_priv,
-                                           EDP_PSR2_CTL(intel_dp->psr.transcoder));
+               if (transcoder_has_psr2(dev_priv, cpu_transcoder)) {
+                       val = intel_de_read(dev_priv, EDP_PSR2_CTL(cpu_transcoder));
                        drm_WARN_ON(&dev_priv->drm, val & EDP_PSR2_ENABLE);
                }
 
-               val = intel_de_read(dev_priv,
-                                   EDP_PSR_CTL(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, EDP_PSR_CTL(cpu_transcoder));
                drm_WARN_ON(&dev_priv->drm, val & EDP_PSR_ENABLE);
 
                return;
        if (intel_dp->psr.psr2_enabled) {
                tgl_disallow_dc3co_on_psr2_exit(intel_dp);
 
-               val = intel_de_rmw(dev_priv, EDP_PSR2_CTL(intel_dp->psr.transcoder),
+               val = intel_de_rmw(dev_priv, EDP_PSR2_CTL(cpu_transcoder),
                                   EDP_PSR2_ENABLE, 0);
 
                drm_WARN_ON(&dev_priv->drm, !(val & EDP_PSR2_ENABLE));
        } else {
-               val = intel_de_rmw(dev_priv, EDP_PSR_CTL(intel_dp->psr.transcoder),
+               val = intel_de_rmw(dev_priv, EDP_PSR_CTL(cpu_transcoder),
                                   EDP_PSR_ENABLE, 0);
 
                drm_WARN_ON(&dev_priv->drm, !(val & EDP_PSR_ENABLE));
 static void intel_psr_wait_exit_locked(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        i915_reg_t psr_status;
        u32 psr_status_mask;
 
        if (intel_dp->psr.psr2_enabled) {
-               psr_status = EDP_PSR2_STATUS(intel_dp->psr.transcoder);
+               psr_status = EDP_PSR2_STATUS(cpu_transcoder);
                psr_status_mask = EDP_PSR2_STATUS_STATE_MASK;
        } else {
-               psr_status = EDP_PSR_STATUS(intel_dp->psr.transcoder);
+               psr_status = EDP_PSR_STATUS(cpu_transcoder);
                psr_status_mask = EDP_PSR_STATUS_STATE_MASK;
        }
 
 static void intel_psr_disable_locked(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        enum phy phy = intel_port_to_phy(dev_priv,
                                         dp_to_dig_port(intel_dp)->base.port);
 
                /* Wa_16012604467:adlp,mtl[a0,b0] */
                if (IS_MTL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_B0))
                        intel_de_rmw(dev_priv,
-                                    MTL_CLKGATE_DIS_TRANS(intel_dp->psr.transcoder),
+                                    MTL_CLKGATE_DIS_TRANS(cpu_transcoder),
                                     MTL_CLKGATE_DIS_TRANS_DMASC_GATING_DIS, 0);
                else if (IS_ALDERLAKE_P(dev_priv))
                        intel_de_rmw(dev_priv, CLKGATE_DIS_MISC,
 static void psr_force_hw_tracking_exit(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
        if (intel_dp->psr.psr2_sel_fetch_enabled)
                intel_de_write(dev_priv,
-                              PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder),
+                              PSR2_MAN_TRK_CTL(cpu_transcoder),
                               man_trk_ctl_enable_bit_get(dev_priv) |
                               man_trk_ctl_partial_frame_bit_get(dev_priv) |
                               man_trk_ctl_single_full_frame_bit_get(dev_priv) |
 void intel_psr2_program_trans_man_trk_ctl(const struct intel_crtc_state *crtc_state)
 {
        struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
+       enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
        struct intel_encoder *encoder;
 
        if (!crtc_state->enable_psr2_sel_fetch)
                break;
        }
 
-       intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(crtc_state->cpu_transcoder),
+       intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder),
                       crtc_state->psr2_man_track_ctl);
 }
 
 static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
        /*
         * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
         * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
         */
        return intel_de_wait_for_clear(dev_priv,
-                                      EDP_PSR2_STATUS(intel_dp->psr.transcoder),
+                                      EDP_PSR2_STATUS(cpu_transcoder),
                                       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
 }
 
 static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
        /*
         * From bspec: Panel Self Refresh (BDW+)
         * defensive enough to cover everything.
         */
        return intel_de_wait_for_clear(dev_priv,
-                                      EDP_PSR_STATUS(intel_dp->psr.transcoder),
+                                      EDP_PSR_STATUS(cpu_transcoder),
                                       EDP_PSR_STATUS_STATE_MASK, 50);
 }
 
 static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        i915_reg_t reg;
        u32 mask;
        int err;
                return false;
 
        if (intel_dp->psr.psr2_enabled) {
-               reg = EDP_PSR2_STATUS(intel_dp->psr.transcoder);
+               reg = EDP_PSR2_STATUS(cpu_transcoder);
                mask = EDP_PSR2_STATUS_STATE_MASK;
        } else {
-               reg = EDP_PSR_STATUS(intel_dp->psr.transcoder);
+               reg = EDP_PSR_STATUS(cpu_transcoder);
                mask = EDP_PSR_STATUS_STATE_MASK;
        }
 
 static void _psr_invalidate_handle(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
        if (intel_dp->psr.psr2_sel_fetch_enabled) {
                u32 val;
                val = man_trk_ctl_enable_bit_get(dev_priv) |
                      man_trk_ctl_partial_frame_bit_get(dev_priv) |
                      man_trk_ctl_continuos_full_frame(dev_priv);
-               intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder), val);
+               intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder), val);
                intel_de_write(dev_priv, CURSURFLIVE(intel_dp->psr.pipe), 0);
                intel_dp->psr.psr2_sel_fetch_cff_enabled = true;
        } else {
 static void _psr_flush_handle(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
 
        if (intel_dp->psr.psr2_sel_fetch_enabled) {
                if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
                                 * SU configuration in case update is sent for any reason after
                                 * sff bit gets cleared by the HW on next vblank.
                                 */
-                               intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(intel_dp->psr.transcoder),
+                               intel_de_write(dev_priv, PSR2_MAN_TRK_CTL(cpu_transcoder),
                                               val);
                                intel_de_write(dev_priv, CURSURFLIVE(intel_dp->psr.pipe), 0);
                                intel_dp->psr.psr2_sel_fetch_cff_enabled = false;
 psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        const char *status = "unknown";
        u32 val, status_val;
 
                        "BUF_ON",
                        "TG_ON"
                };
-               val = intel_de_read(dev_priv,
-                                   EDP_PSR2_STATUS(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, EDP_PSR2_STATUS(cpu_transcoder));
                status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
                if (status_val < ARRAY_SIZE(live_status))
                        status = live_status[status_val];
                        "SRDOFFACK",
                        "SRDENT_ON",
                };
-               val = intel_de_read(dev_priv,
-                                   EDP_PSR_STATUS(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, EDP_PSR_STATUS(cpu_transcoder));
                status_val = REG_FIELD_GET(EDP_PSR_STATUS_STATE_MASK, val);
                if (status_val < ARRAY_SIZE(live_status))
                        status = live_status[status_val];
 static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+       enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
        struct intel_psr *psr = &intel_dp->psr;
        intel_wakeref_t wakeref;
        const char *status;
        }
 
        if (psr->psr2_enabled) {
-               val = intel_de_read(dev_priv,
-                                   EDP_PSR2_CTL(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, EDP_PSR2_CTL(cpu_transcoder));
                enabled = val & EDP_PSR2_ENABLE;
        } else {
-               val = intel_de_read(dev_priv,
-                                   EDP_PSR_CTL(intel_dp->psr.transcoder));
+               val = intel_de_read(dev_priv, EDP_PSR_CTL(cpu_transcoder));
                enabled = val & EDP_PSR_ENABLE;
        }
        seq_printf(m, "Source PSR ctl: %s [0x%08x]\n",
        /*
         * SKL+ Perf counter is reset to 0 everytime DC state is entered
         */
-       val = intel_de_read(dev_priv,
-                           EDP_PSR_PERF_CNT(intel_dp->psr.transcoder));
+       val = intel_de_read(dev_priv, EDP_PSR_PERF_CNT(cpu_transcoder));
        seq_printf(m, "Performance counter: %u\n",
                   REG_FIELD_GET(EDP_PSR_PERF_CNT_MASK, val));
 
                 * frame boundary between register reads
                 */
                for (frame = 0; frame < PSR2_SU_STATUS_FRAMES; frame += 3) {
-                       val = intel_de_read(dev_priv,
-                                           PSR2_SU_STATUS(intel_dp->psr.transcoder, frame));
+                       val = intel_de_read(dev_priv, PSR2_SU_STATUS(cpu_transcoder, frame));
                        su_frames_val[frame / 3] = val;
                }