]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
memory: samsung: exynos5422-dmc: Fix tFAW timings alignment
authorBernard Zhao <bernard@vivo.com>
Thu, 7 May 2020 11:45:14 +0000 (04:45 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jun 2020 07:33:05 +0000 (09:33 +0200)
commit 4bff7214d263b5235263136cb53147a759b3f3ab upstream.

Aligning of tFAW timing with standard was using wrong argument as
minimum acceptable value.  This could lead to wrong timing if provided
timings and clock period do not match the standard.

Fixes: 6e7674c3c6df ("memory: Add DMC driver for Exynos5422")
Cc: <stable@vger.kernel.org>
Signed-off-by: Bernard Zhao <bernard@vivo.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/memory/samsung/exynos5422-dmc.c

index 81a1b1d016836bf5b93bc3be3c4faf3810423565..22a43d6628336b224660d6004eae5e9fa0a15ae1 100644 (file)
@@ -1091,7 +1091,7 @@ static int create_timings_aligned(struct exynos5_dmc *dmc, u32 *reg_timing_row,
        /* power related timings */
        val = dmc->timings->tFAW / clk_period_ps;
        val += dmc->timings->tFAW % clk_period_ps ? 1 : 0;
-       val = max(val, dmc->min_tck->tXP);
+       val = max(val, dmc->min_tck->tFAW);
        reg = &timing_power[0];
        *reg_timing_power |= TIMING_VAL2REG(reg, val);