intel_de_write_fw(dev_priv, PLANE_SIZE(pipe, plane_id),
                          (src_h << 16) | src_w);
 
+       if (intel_fb_is_rc_ccs_cc_modifier(fb->modifier)) {
+               intel_de_write_fw(dev_priv, PLANE_CC_VAL(pipe, plane_id, 0),
+                                 lower_32_bits(plane_state->ccval));
+               intel_de_write_fw(dev_priv, PLANE_CC_VAL(pipe, plane_id, 1),
+                                 upper_32_bits(plane_state->ccval));
+       }
+
        if (icl_is_hdr_plane(dev_priv, plane_id))
                intel_de_write_fw(dev_priv, PLANE_CUS_CTL(pipe, plane_id),
                                  plane_state->cus_ctl);
        if (fb->format->is_yuv && icl_is_hdr_plane(dev_priv, plane_id))
                icl_program_input_csc(plane, crtc_state, plane_state);
 
-       if (intel_fb_is_rc_ccs_cc_modifier(fb->modifier))
-               intel_uncore_write64_fw(&dev_priv->uncore,
-                                       PLANE_CC_VAL(pipe, plane_id), plane_state->ccval);
-
        skl_write_plane_wm(plane, crtc_state);
 
        intel_psr2_program_plane_sel_fetch(plane, crtc_state, plane_state, color_plane);
 
 #define _PLANE_NV12_BUF_CFG_1_A                0x70278
 #define _PLANE_NV12_BUF_CFG_2_A                0x70378
 
-#define _PLANE_CC_VAL_1_B                      0x711b4
-#define _PLANE_CC_VAL_2_B                      0x712b4
-#define _PLANE_CC_VAL_1(pipe)  _PIPE(pipe, _PLANE_CC_VAL_1_A, _PLANE_CC_VAL_1_B)
-#define _PLANE_CC_VAL_2(pipe)  _PIPE(pipe, _PLANE_CC_VAL_2_A, _PLANE_CC_VAL_2_B)
-#define PLANE_CC_VAL(pipe, plane)      \
-       _MMIO_PLANE(plane, _PLANE_CC_VAL_1(pipe), _PLANE_CC_VAL_2(pipe))
+#define _PLANE_CC_VAL_1_B              0x711b4
+#define _PLANE_CC_VAL_2_B              0x712b4
+#define _PLANE_CC_VAL_1(pipe, dw)      (_PIPE(pipe, _PLANE_CC_VAL_1_A, _PLANE_CC_VAL_1_B) + (dw) * 4)
+#define _PLANE_CC_VAL_2(pipe, dw)      (_PIPE(pipe, _PLANE_CC_VAL_2_A, _PLANE_CC_VAL_2_B) + (dw) * 4)
+#define PLANE_CC_VAL(pipe, plane, dw) \
+       _MMIO_PLANE((plane), _PLANE_CC_VAL_1((pipe), (dw)), _PLANE_CC_VAL_2((pipe), (dw)))
 
 /* Input CSC Register Definitions */
 #define _PLANE_INPUT_CSC_RY_GY_1_A     0x701E0