Quoting Stephen Boyd (2024-08-19 16:36:26) > The QUPs aren't shared in a way that requires parking the RCG at an > always on parent in case some other entity turns on the clk. The > hardware is capable of setting a new frequency itself with the DFS mode, > so parking is unnecessary. Furthermore, there aren't any GDSCs for these > devices, so there isn't a possibility of the GDSC turning on the clks > for housekeeping purposes. > > This wasn't a problem to mark these clks shared until we started parking > shared RCGs at clk registration time in commit 01a0a6cc8cfd ("clk: qcom: > Park shared RCGs upon registration"). Parking at init is actually > harmful to the UART when earlycon is used. If the device is pumping out > data while the frequency changes you'll see garbage on the serial > console until the driver can probe and actually set a proper frequency. > > Revert the QUP part of commit 929c75d57566 ("clk: qcom: gcc-sm8550: Mark > RCGs shared where applicable") so that the QUPs don't get parked during > clk registration and break UART operations. > > Fixes: 01a0a6cc8cfd ("clk: qcom: Park shared RCGs upon registration") > Fixes: 929c75d57566 ("clk: qcom: gcc-sm8550: Mark RCGs shared where applicable") > Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx> > Cc: Bjorn Andersson <andersson@xxxxxxxxxx> > Cc: Taniya Das <quic_tdas@xxxxxxxxxxx> > Reported-by: Amit Pundir <amit.pundir@xxxxxxxxxx> > Closes: https://lore.kernel.org/CAMi1Hd1KQBE4kKUdAn8E5FV+BiKzuv+8FoyWQrrTHPDoYTuhgA@xxxxxxxxxxxxxx > Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> > --- Applied to clk-fixes