clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs

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@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Taniya Das <quic_tdas@quicinc.com>
Reported-by: Amit Pundir <amit.pundir@linaro.org>
Closes: https://lore.kernel.org/CAMi1Hd1KQBE4kKUdAn8E5FV+BiKzuv+8FoyWQrrTHPDoYTuhgA@mail.gmail.com
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20240819233628.2074654-2-swboyd@chromium.org
Tested-by: Amit Pundir <amit.pundir@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by Stephen Boyd and committed by Stephen Boyd d10eeb75 ca082333

+26 -26
+26 -26
drivers/clk/qcom/gcc-sm8550.c
··· 536 536 .parent_data = gcc_parent_data_0, 537 537 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 538 538 .flags = CLK_SET_RATE_PARENT, 539 - .ops = &clk_rcg2_shared_ops, 539 + .ops = &clk_rcg2_ops, 540 540 }, 541 541 }; 542 542 ··· 551 551 .parent_data = gcc_parent_data_0, 552 552 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 553 553 .flags = CLK_SET_RATE_PARENT, 554 - .ops = &clk_rcg2_shared_ops, 554 + .ops = &clk_rcg2_ops, 555 555 }, 556 556 }; 557 557 ··· 566 566 .parent_data = gcc_parent_data_0, 567 567 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 568 568 .flags = CLK_SET_RATE_PARENT, 569 - .ops = &clk_rcg2_shared_ops, 569 + .ops = &clk_rcg2_ops, 570 570 }, 571 571 }; 572 572 ··· 581 581 .parent_data = gcc_parent_data_0, 582 582 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 583 583 .flags = CLK_SET_RATE_PARENT, 584 - .ops = &clk_rcg2_shared_ops, 584 + .ops = &clk_rcg2_ops, 585 585 }, 586 586 }; 587 587 ··· 596 596 .parent_data = gcc_parent_data_0, 597 597 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 598 598 .flags = CLK_SET_RATE_PARENT, 599 - .ops = &clk_rcg2_shared_ops, 599 + .ops = &clk_rcg2_ops, 600 600 }, 601 601 }; 602 602 ··· 611 611 .parent_data = gcc_parent_data_0, 612 612 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 613 613 .flags = CLK_SET_RATE_PARENT, 614 - .ops = &clk_rcg2_shared_ops, 614 + .ops = &clk_rcg2_ops, 615 615 }, 616 616 }; 617 617 ··· 626 626 .parent_data = gcc_parent_data_0, 627 627 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 628 628 .flags = CLK_SET_RATE_PARENT, 629 - .ops = &clk_rcg2_shared_ops, 629 + .ops = &clk_rcg2_ops, 630 630 }, 631 631 }; 632 632 ··· 641 641 .parent_data = gcc_parent_data_0, 642 642 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 643 643 .flags = CLK_SET_RATE_PARENT, 644 - .ops = &clk_rcg2_shared_ops, 644 + .ops = &clk_rcg2_ops, 645 645 }, 646 646 }; 647 647 ··· 656 656 .parent_data = gcc_parent_data_0, 657 657 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 658 658 .flags = CLK_SET_RATE_PARENT, 659 - .ops = &clk_rcg2_shared_ops, 659 + .ops = &clk_rcg2_ops, 660 660 }, 661 661 }; 662 662 ··· 671 671 .parent_data = gcc_parent_data_0, 672 672 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 673 673 .flags = CLK_SET_RATE_PARENT, 674 - .ops = &clk_rcg2_shared_ops, 674 + .ops = &clk_rcg2_ops, 675 675 }, 676 676 }; 677 677 ··· 700 700 .parent_data = gcc_parent_data_0, 701 701 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 702 702 .flags = CLK_SET_RATE_PARENT, 703 - .ops = &clk_rcg2_shared_ops, 703 + .ops = &clk_rcg2_ops, 704 704 }; 705 705 706 706 static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = { ··· 717 717 .parent_data = gcc_parent_data_0, 718 718 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 719 719 .flags = CLK_SET_RATE_PARENT, 720 - .ops = &clk_rcg2_shared_ops, 720 + .ops = &clk_rcg2_ops, 721 721 }; 722 722 723 723 static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = { ··· 750 750 .parent_data = gcc_parent_data_0, 751 751 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 752 752 .flags = CLK_SET_RATE_PARENT, 753 - .ops = &clk_rcg2_shared_ops, 753 + .ops = &clk_rcg2_ops, 754 754 }; 755 755 756 756 static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = { ··· 767 767 .parent_data = gcc_parent_data_0, 768 768 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 769 769 .flags = CLK_SET_RATE_PARENT, 770 - .ops = &clk_rcg2_shared_ops, 770 + .ops = &clk_rcg2_ops, 771 771 }; 772 772 773 773 static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = { ··· 784 784 .parent_data = gcc_parent_data_0, 785 785 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 786 786 .flags = CLK_SET_RATE_PARENT, 787 - .ops = &clk_rcg2_shared_ops, 787 + .ops = &clk_rcg2_ops, 788 788 }; 789 789 790 790 static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = { ··· 801 801 .parent_data = gcc_parent_data_0, 802 802 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 803 803 .flags = CLK_SET_RATE_PARENT, 804 - .ops = &clk_rcg2_shared_ops, 804 + .ops = &clk_rcg2_ops, 805 805 }; 806 806 807 807 static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = { ··· 818 818 .parent_data = gcc_parent_data_0, 819 819 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 820 820 .flags = CLK_SET_RATE_PARENT, 821 - .ops = &clk_rcg2_shared_ops, 821 + .ops = &clk_rcg2_ops, 822 822 }; 823 823 824 824 static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = { ··· 835 835 .parent_data = gcc_parent_data_0, 836 836 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 837 837 .flags = CLK_SET_RATE_PARENT, 838 - .ops = &clk_rcg2_shared_ops, 838 + .ops = &clk_rcg2_ops, 839 839 }; 840 840 841 841 static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = { ··· 852 852 .parent_data = gcc_parent_data_0, 853 853 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 854 854 .flags = CLK_SET_RATE_PARENT, 855 - .ops = &clk_rcg2_shared_ops, 855 + .ops = &clk_rcg2_ops, 856 856 }; 857 857 858 858 static struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src = { ··· 869 869 .parent_data = gcc_parent_data_0, 870 870 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 871 871 .flags = CLK_SET_RATE_PARENT, 872 - .ops = &clk_rcg2_shared_ops, 872 + .ops = &clk_rcg2_ops, 873 873 }; 874 874 875 875 static struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src = { ··· 886 886 .parent_data = gcc_parent_data_0, 887 887 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 888 888 .flags = CLK_SET_RATE_PARENT, 889 - .ops = &clk_rcg2_shared_ops, 889 + .ops = &clk_rcg2_ops, 890 890 }; 891 891 892 892 static struct clk_rcg2 gcc_qupv3_wrap2_s2_clk_src = { ··· 903 903 .parent_data = gcc_parent_data_0, 904 904 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 905 905 .flags = CLK_SET_RATE_PARENT, 906 - .ops = &clk_rcg2_shared_ops, 906 + .ops = &clk_rcg2_ops, 907 907 }; 908 908 909 909 static struct clk_rcg2 gcc_qupv3_wrap2_s3_clk_src = { ··· 920 920 .parent_data = gcc_parent_data_0, 921 921 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 922 922 .flags = CLK_SET_RATE_PARENT, 923 - .ops = &clk_rcg2_shared_ops, 923 + .ops = &clk_rcg2_ops, 924 924 }; 925 925 926 926 static struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src = { ··· 937 937 .parent_data = gcc_parent_data_0, 938 938 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 939 939 .flags = CLK_SET_RATE_PARENT, 940 - .ops = &clk_rcg2_shared_ops, 940 + .ops = &clk_rcg2_ops, 941 941 }; 942 942 943 943 static struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src = { ··· 975 975 .parent_data = gcc_parent_data_8, 976 976 .num_parents = ARRAY_SIZE(gcc_parent_data_8), 977 977 .flags = CLK_SET_RATE_PARENT, 978 - .ops = &clk_rcg2_shared_ops, 978 + .ops = &clk_rcg2_ops, 979 979 }; 980 980 981 981 static struct clk_rcg2 gcc_qupv3_wrap2_s6_clk_src = { ··· 992 992 .parent_data = gcc_parent_data_0, 993 993 .num_parents = ARRAY_SIZE(gcc_parent_data_0), 994 994 .flags = CLK_SET_RATE_PARENT, 995 - .ops = &clk_rcg2_shared_ops, 995 + .ops = &clk_rcg2_ops, 996 996 }; 997 997 998 998 static struct clk_rcg2 gcc_qupv3_wrap2_s7_clk_src = {