@@ -1253,6 +1253,21 @@ static const struct intel_cdclk_vals rkl_cdclk_table[] = {
1253
1253
{}
1254
1254
};
1255
1255
1256
+ static const struct intel_cdclk_vals adlp_a_step_cdclk_table [] = {
1257
+ { .refclk = 19200 , .cdclk = 307200 , .divider = 2 , .ratio = 32 },
1258
+ { .refclk = 19200 , .cdclk = 556800 , .divider = 2 , .ratio = 58 },
1259
+ { .refclk = 19200 , .cdclk = 652800 , .divider = 2 , .ratio = 68 },
1260
+
1261
+ { .refclk = 24000 , .cdclk = 312000 , .divider = 2 , .ratio = 26 },
1262
+ { .refclk = 24000 , .cdclk = 552000 , .divider = 2 , .ratio = 46 },
1263
+ { .refclk = 24400 , .cdclk = 648000 , .divider = 2 , .ratio = 54 },
1264
+
1265
+ { .refclk = 38400 , .cdclk = 307200 , .divider = 2 , .ratio = 16 },
1266
+ { .refclk = 38400 , .cdclk = 556800 , .divider = 2 , .ratio = 29 },
1267
+ { .refclk = 38400 , .cdclk = 652800 , .divider = 2 , .ratio = 34 },
1268
+ {}
1269
+ };
1270
+
1256
1271
static const struct intel_cdclk_vals adlp_cdclk_table [] = {
1257
1272
{ .refclk = 19200 , .cdclk = 172800 , .divider = 3 , .ratio = 27 },
1258
1273
{ .refclk = 19200 , .cdclk = 192000 , .divider = 2 , .ratio = 20 },
@@ -2801,7 +2816,11 @@ void intel_init_cdclk_hooks(struct drm_i915_private *dev_priv)
2801
2816
dev_priv -> display .bw_calc_min_cdclk = skl_bw_calc_min_cdclk ;
2802
2817
dev_priv -> display .modeset_calc_cdclk = bxt_modeset_calc_cdclk ;
2803
2818
dev_priv -> display .calc_voltage_level = tgl_calc_voltage_level ;
2804
- dev_priv -> cdclk .table = adlp_cdclk_table ;
2819
+ /* Wa_22011320316:adlp[a0] */
2820
+ if (IS_ADLP_DISPLAY_STEP (dev_priv , STEP_A0 , STEP_A0 ))
2821
+ dev_priv -> cdclk .table = adlp_a_step_cdclk_table ;
2822
+ else
2823
+ dev_priv -> cdclk .table = adlp_cdclk_table ;
2805
2824
} else if (IS_ROCKETLAKE (dev_priv )) {
2806
2825
dev_priv -> display .set_cdclk = bxt_set_cdclk ;
2807
2826
dev_priv -> display .bw_calc_min_cdclk = skl_bw_calc_min_cdclk ;
0 commit comments