[PATCH] drm/ast: Fix mclk calculation

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Feb 16 09:17:22 UTC 2017


The very large values observed were the result of a bug in the
calculation. Y.C. Chen gave me the right formula so here is
a patch fixing it.

Thankfully nothing seem to use that unless you try to POST the
chip.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
--

diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 60f23cc..3b87877 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -350,7 +350,7 @@ static int ast_get_dram_info(struct drm_device *dev)
 		div = 0x1;
 		break;
 	}
-	ast->mclk = ref_pll * (num + 2) / (denum + 2) * (div * 1000);
+	ast->mclk = ref_pll * (num + 2) / ((denum + 2) * (div * 1000));
 	return 0;
 }
 


More information about the dri-devel mailing list