Message ID | 20240313135424.3731410-1-jonathon.hall@puri.sm (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Do not match JSL in ehl_combo_pll_div_frac_wa_needed() | expand |
On Wed, 13 Mar 2024, Jani Nikula <jani.nikula@linux.intel.com> wrote: > On Wed, 13 Mar 2024, Jonathon Hall <jonathon.hall@puri.sm> wrote: >> Since commit 0c65dc062611 ("drm/i915/jsl: s/JSL/JASPERLAKE for >> platform/subplatform defines"), boot freezes on a Jasper Lake tablet >> (Librem 11), usually with graphical corruption on the eDP display, >> but sometimes just a black screen. This commit was included in 6.6 and >> later. >> >> That commit was intended to refactor EHL and JSL macros, but the change >> to ehl_combo_pll_div_frac_wa_needed() started matching JSL incorrectly >> when it was only intended to match EHL. >> >> It replaced: >> return ((IS_PLATFORM(i915, INTEL_ELKHARTLAKE) && >> IS_JSL_EHL_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || >> with: >> return (((IS_ELKHARTLAKE(i915) || IS_JASPERLAKE(i915)) && >> IS_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || >> >> Remove IS_JASPERLAKE() to fix the regression. >> >> Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm> >> Cc: stable@vger.kernel.org > > Thanks for the patch! > > Fixes: 0c65dc062611 ("drm/i915/jsl: s/JSL/JASPERLAKE for platform/subplatform defines") > Cc: <stable@vger.kernel.org> # v6.6+ > Reviewed-by: Jani Nikula <jani.nikula@intel.com> And pushed to drm-intel-next. BR, Jani. > >> --- >> drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c >> index ef57dad1a9cb..57a97880dcb3 100644 >> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c >> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c >> @@ -2509,7 +2509,7 @@ static void icl_wrpll_params_populate(struct skl_wrpll_params *params, >> static bool >> ehl_combo_pll_div_frac_wa_needed(struct drm_i915_private *i915) >> { >> - return (((IS_ELKHARTLAKE(i915) || IS_JASPERLAKE(i915)) && >> + return ((IS_ELKHARTLAKE(i915) && >> IS_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || >> IS_TIGERLAKE(i915) || IS_ALDERLAKE_S(i915) || IS_ALDERLAKE_P(i915)) && >> i915->display.dpll.ref_clks.nssc == 38400;
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c index ef57dad1a9cb..57a97880dcb3 100644 --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c @@ -2509,7 +2509,7 @@ static void icl_wrpll_params_populate(struct skl_wrpll_params *params, static bool ehl_combo_pll_div_frac_wa_needed(struct drm_i915_private *i915) { - return (((IS_ELKHARTLAKE(i915) || IS_JASPERLAKE(i915)) && + return ((IS_ELKHARTLAKE(i915) && IS_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || IS_TIGERLAKE(i915) || IS_ALDERLAKE_S(i915) || IS_ALDERLAKE_P(i915)) && i915->display.dpll.ref_clks.nssc == 38400;
Since commit 0c65dc062611 ("drm/i915/jsl: s/JSL/JASPERLAKE for platform/subplatform defines"), boot freezes on a Jasper Lake tablet (Librem 11), usually with graphical corruption on the eDP display, but sometimes just a black screen. This commit was included in 6.6 and later. That commit was intended to refactor EHL and JSL macros, but the change to ehl_combo_pll_div_frac_wa_needed() started matching JSL incorrectly when it was only intended to match EHL. It replaced: return ((IS_PLATFORM(i915, INTEL_ELKHARTLAKE) && IS_JSL_EHL_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || with: return (((IS_ELKHARTLAKE(i915) || IS_JASPERLAKE(i915)) && IS_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) || Remove IS_JASPERLAKE() to fix the regression. Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm> Cc: stable@vger.kernel.org --- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)