clk: rs9: Fix DIF OEn bit placement on 9FGV0241
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Sun, 5 Nov 2023 20:06:15 +0000 (21:06 +0100)
committerStephen Boyd <sboyd@kernel.org>
Sun, 17 Dec 2023 22:10:08 +0000 (14:10 -0800)
On 9FGV0241, the DIF OE0 is BIT(1) and DIF OE1 is BIT(2), on the other
chips like 9FGV0441 and 9FGV0841 DIF OE0 is BIT(0) and so on. Increment
the index in BIT() macro instead of the result of BIT() macro to shift
the bit correctly on 9FGV0241.

Fixes: 603df193ec51 ("clk: rs9: Support device specific dif bit calculation")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Link: https://lore.kernel.org/r/20231105200642.62792-1-marek.vasut+renesas@mailbox.org
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-renesas-pcie.c

index 380245f635d66cb8b6891f28fed2f45e38eeb5fb..6606aba253c562142753bd3b7c02f1be899512e1 100644 (file)
@@ -163,7 +163,7 @@ static u8 rs9_calc_dif(const struct rs9_driver_data *rs9, int idx)
        enum rs9_model model = rs9->chip_info->model;
 
        if (model == RENESAS_9FGV0241)
-               return BIT(idx) + 1;
+               return BIT(idx + 1);
        else if (model == RENESAS_9FGV0441)
                return BIT(idx);