Patch "clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     clk-vc5-fix-5p49v6901-outputs-disabling-when-enablin.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 98ed80f78654c8f699ca2105d7d94c3193c9ee46
Author: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Sep 30 01:53:55 2022 +0300

    clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD
    
    [ Upstream commit c388cc804016cf0f65afdc2362b120aa594ff3e6 ]
    
    We have discovered random glitches during the system boot up procedure.
    The problem investigation led us to the weird outcomes: when none of the
    Renesas 5P49V6901 ports are explicitly enabled by the kernel driver, the
    glitches disappeared. It was a mystery since the SoC external clock
    domains were fed with different 5P49V6901 outputs. The driver code didn't
    seem like bogus either. We almost despaired to find out a root cause when
    the solution has been found for a more modern revision of the chip. It
    turned out the 5P49V6901 clock generator stopped its output for a short
    period of time during the VC5_OUT_DIV_CONTROL register writing. The same
    problem was found for the 5P49V6965 revision of the chip and was
    successfully fixed in commit fc336ae622df ("clk: vc5: fix output disabling
    when enabling a FOD") by enabling the "bypass_sync" flag hidden inside
    "Unused Factory Reserved Register". Even though the 5P49V6901 registers
    description and programming guide doesn't provide any intel regarding that
    flag, setting it up anyway in the officially unused register completely
    eliminated the denoted glitches. Thus let's activate the functionality
    submitted in commit fc336ae622df ("clk: vc5: fix output disabling when
    enabling a FOD") for the Renesas 5P49V6901 chip too in order to remove the
    ports implicit inter-dependency.
    
    Fixes: dbf6b16f5683 ("clk: vc5: Add support for IDT VersaClock 5P49V6901")
    Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
    Reviewed-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20220929225402.9696-2-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
    Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c
index c6d3b1ab3d55..5f8bd49b0810 100644
--- a/drivers/clk/clk-versaclock5.c
+++ b/drivers/clk/clk-versaclock5.c
@@ -1204,7 +1204,7 @@ static const struct vc5_chip_info idt_5p49v6901_info = {
 	.model = IDT_VC6_5P49V6901,
 	.clk_fod_cnt = 4,
 	.clk_out_cnt = 5,
-	.flags = VC5_HAS_PFD_FREQ_DBL,
+	.flags = VC5_HAS_PFD_FREQ_DBL | VC5_HAS_BYPASS_SYNC_BIT,
 };
 
 static const struct vc5_chip_info idt_5p49v6965_info = {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux