]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
clk: qcom: clk-rcg2: document calc_rate function
authorDzmitry Sankouski <dsankouski@gmail.com>
Mon, 18 Nov 2024 10:15:19 +0000 (13:15 +0300)
committerBjorn Andersson <andersson@kernel.org>
Tue, 7 Jan 2025 17:16:00 +0000 (11:16 -0600)
Update calc_rate docs to reflect, that pre_div
is not pure divisor, but a register value, and requires conversion.

Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
Link: https://lore.kernel.org/r/20241118-starqltechn_integration_upstream-v8-1-ac8e36a3aa65@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/clk-rcg2.c

index bf6406f5279a4c75c0a42534c15e9884e4965c00..4da70be280cefc39b943ff00d3c433a555d0d732 100644 (file)
@@ -148,12 +148,21 @@ static int clk_rcg2_set_parent(struct clk_hw *hw, u8 index)
        return update_config(rcg);
 }
 
-/*
- * Calculate m/n:d rate
+/**
+ * calc_rate() - Calculate rate based on m/n:d values
+ *
+ * @rate: Parent rate.
+ * @m: Multiplier.
+ * @n: Divisor.
+ * @mode: Use zero to ignore m/n calculation.
+ * @hid_div: Pre divisor register value. Pre divisor value
+ *                  relates to hid_div as pre_div = (hid_div + 1) / 2.
+ *
+ * Return calculated rate according to formula:
  *
  *          parent_rate     m
  *   rate = ----------- x  ---
- *            hid_div       n
+ *            pre_div       n
  */
 static unsigned long
 calc_rate(unsigned long rate, u32 m, u32 n, u32 mode, u32 hid_div)