[Intel-gfx] [PATCH] drm/i915: Fix wrong escape clock divisor init for GLK
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Wed Jul 10 14:33:32 UTC 2019
Op 10-07-2019 om 16:12 schreef Stanislav Lisovskiy:
> According to Bspec clock divisor registers in GeminiLake
> should be initialized by shifting 1(<<) to amount of correspondent
> divisor. While i915 was writing all this time that value as is.
>
> Surprisingly that it by accident worked, until we met some issues
> with Microtech Etab.
>
> Signed-off-by: Stanislav.Lisovskiy at intel.com
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108826
> ---
> drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> index 99cc3e2e9c2c..f016a776a39e 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> @@ -396,8 +396,8 @@ static void glk_dsi_program_esc_clock(struct drm_device *dev,
> else
> txesc2_div = 10;
>
> - I915_WRITE(MIPIO_TXESC_CLK_DIV1, txesc1_div & GLK_TX_ESC_CLK_DIV1_MASK);
> - I915_WRITE(MIPIO_TXESC_CLK_DIV2, txesc2_div & GLK_TX_ESC_CLK_DIV2_MASK);
> + I915_WRITE(MIPIO_TXESC_CLK_DIV1, (1 << (txesc1_div - 1)) & GLK_TX_ESC_CLK_DIV1_MASK);
> + I915_WRITE(MIPIO_TXESC_CLK_DIV2, (1 << (txesc2_div - 1)) & GLK_TX_ESC_CLK_DIV2_MASK);
> }
>
> /* Program BXT Mipi clocks and dividers */
Missing a fixes tag?
find the original commit that introduced this, then run dim fixes $commitid.
Cheers,
Maarten
More information about the Intel-gfx
mailing list