From: Douglas Anderson <dianders@chromium.org> To: Rob Herring <robh@kernel.org>, Andy Gross <agross@kernel.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, Stephen Boyd <sboyd@kernel.org> Cc: Jeffrey Hugo <jhugo@codeaurora.org>, Taniya Das <tdas@codeaurora.org>, jeffrey.l.hugo@gmail.com, linux-arm-msm@vger.kernel.org, harigovi@codeaurora.org, devicetree@vger.kernel.org, mka@chromium.org, kalyan_t@codeaurora.org, Mark Rutland <mark.rutland@arm.com>, linux-clk@vger.kernel.org, hoegsberg@chromium.org, Douglas Anderson <dianders@chromium.org>, Michael Turquette <mturquette@baylibre.com>, linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org> Subject: [PATCH v4 00/15] clk: qcom: Fix parenting for dispcc/gpucc/videocc Date: Mon, 3 Feb 2020 10:31:33 -0800 Message-ID: <20200203183149.73842-1-dianders@chromium.org> (raw) The aim of this series is to get the dispcc and gpucc in a workable shape upstream for sc7180. I personally wasn't focusing on (and didn't test much) videocc but pulled it along for the ride. Most of the work in this series deals with the fact that the parenting info for these clock controllers was in a bad shape. It looks like it was half transitioned from the old way of doing things (relying on global names) to the new way of doing things (putting the linkage in the device tree). This should fully transition us. As part of this transition I update the sdm845.dtsi file to specify the info as per the new way of doing things. Although I've now put the linkage info in the sdm845.dtsi file, though, I haven't updated the sdm845 clock drivers in Linux so they still work via the global name matching. It's left as an exercise to the reader to update the sdm845 clock drivers in Linux. This series passes these things for me on linux-next (next-20200129) after picking the recent gcc fix I posted [1]: for f in \ Documentation/devicetree/bindings/clock/qcom,msm8998-gpucc.yaml \ Documentation/devicetree/bindings/clock/qcom,sc7180-dispcc.yaml \ Documentation/devicetree/bindings/clock/qcom,sc7180-gpucc.yaml \ Documentation/devicetree/bindings/clock/qcom,sc7180-videocc.yaml \ Documentation/devicetree/bindings/clock/qcom,sdm845-dispcc.yaml \ Documentation/devicetree/bindings/clock/qcom,sdm845-gpucc.yaml \ Documentation/devicetree/bindings/clock/qcom,sdm845-videocc.yaml; do \ ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=$f; \ done I also tried this: # Delete broken yaml: rm Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml ARCH=arm64 make dt_binding_check | grep 'clock/qcom' ...and that didn't seem to indicate problems. I also tried this (make sure you don't run w/ -j64 or diff is hard): # Delete broken yaml: rm Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml git checkout beforeMyCode ARCH=arm64 make dt_binding_check > old.txt 2>&1 git checkout myCode ARCH=arm64 make dt_binding_check > new.txt 2>&1 diff old.txt new.txt ...and that didn't seem to indicate problems. I have confirmed that (with extra patches) the display/gpu come up on sc7180 and sdm845-cheza. You can find the top of my downstream tree at: https://crrev.com/c/2017976/4 I have confirmed that sdm845-cheza display / GPU come up atop next-20200129, which is what this series is posted against. From v2 to v3, this series has quite a few changes. Mostly it's: - Always split into multiple files (Stephen). - Use internal names, not purist names (Taniya). - I realized that I forgot to update the sc7180 video clock controller driver in v2. - A few other misc cleanups / fixes, see each patch for details. From v3 to v4 this just removes the "bindings/" from the schema ID and adds Rob's tag to two of the bindings patches. The third binding patch didn't get Rob's Ack because he suggested combining two files might be a good idea. I'm assuming he'll be OK with leaving them split since Stephen prefers it that way, but if I have to do a v5 I can do that. It feels like with this many patches there's very little chance I didn't do something stupid like make a tpyo or a paste-o paste-o, though I tried to cross-check as much as I could. I apologize in advance for the stupid things I did that I should have known better about. [1] https://lore.kernel.org/r/20200129152458.v2.1.I4452dc951d7556ede422835268742b25a18b356b@changeid Changes in v4: - (non-change): Didn't combine sdm845 & sc7180 gpucc as per Stephen. - Added Rob's review tag. - Fixed schema id to not have "bindings/" as per Rob. Changes in v3: - Add Matthias tag. - Added include file to description. - Added pointer to inlude file in description. - Added videocc include file. - Discovered / added new gcc input clock on sdm845. - Everyone but msm8998 now uses internal QC names. - Fixed typo grpahics => graphics - Newly discovered gcc_disp_gpll0_div_clk_src added. - Patch ("clk: qcom: Get rid of fallback...dispcc-sc7180") split out for v3. - Patch ("clk: qcom: Get rid of the test...dispcc-sc7180") split out for v3. - Patch ("clk: qcom: Get rid of the test...gpucc-sc7180") split out for v3. - Patch ("clk: qcom: Get rid of the test...videocc-sc7180") new for v3. - Patch ("clk: qcom: Use ARRAY_SIZE in dispcc-sc7180...") split out for v3. - Patch ("clk: qcom: Use ARRAY_SIZE in gpucc-sc7180...") split out for v3. - Patch ("clk: qcom: Use ARRAY_SIZE in videocc-sc7180...") new for v3. - Split bindings into 3 files. - Split sc7180 and sdm845 into two files. - Split videocc bindings into 2 files. - Switched names to internal QC names rather than logical ones. - Unlike in v2, use internal name instead of purist name. - Updated commit description. Changes in v2: - Added includes - Changed various parent names to match bindings / driver - Patch ("arm64: dts: qcom: sdm845: Add...dispcc") new for v2. - Patch ("arm64: dts: qcom: sdm845: Add...gpucc") new for v2. - Patch ("arm64: dts: qcom: sdm845: Add...videocc") new for v2. - Patch ("clk: qcom: rcg2: Don't crash...") new for v2. - Patch ("dt-bindings: clock: Cleanup qcom,videocc") new for v2. - Patch ("dt-bindings: clock: Fix qcom,dispcc...") new for v2. - Patch ("dt-bindings: clock: Fix qcom,gpucc...") new for v2. Douglas Anderson (14): clk: qcom: rcg2: Don't crash if our parent can't be found; return an error dt-bindings: clock: Fix qcom,dispcc bindings for sdm845/sc7180 arm64: dts: qcom: sdm845: Add the missing clocks on the dispcc clk: qcom: Get rid of fallback global names for dispcc-sc7180 clk: qcom: Get rid of the test clock for dispcc-sc7180 clk: qcom: Use ARRAY_SIZE in dispcc-sc7180 for parent clocks dt-bindings: clock: Fix qcom,gpucc bindings for sdm845/sc7180/msm8998 arm64: dts: qcom: sdm845: Add missing clocks / fix names on the gpucc clk: qcom: Get rid of the test clock for gpucc-sc7180 clk: qcom: Use ARRAY_SIZE in gpucc-sc7180 for parent clocks dt-bindings: clock: Cleanup qcom,videocc bindings for sdm845/sc7180 clk: qcom: Get rid of the test clock for videocc-sc7180 clk: qcom: Use ARRAY_SIZE in videocc-sc7180 for parent clocks arm64: dts: qcom: sdm845: Add the missing clock on the videocc Taniya Das (1): arm64: dts: sc7180: Add clock controller nodes .../devicetree/bindings/clock/qcom,gpucc.yaml | 72 -------------- ...om,dispcc.yaml => qcom,msm8998-gpucc.yaml} | 33 +++---- .../bindings/clock/qcom,sc7180-dispcc.yaml | 84 ++++++++++++++++ .../bindings/clock/qcom,sc7180-gpucc.yaml | 72 ++++++++++++++ .../bindings/clock/qcom,sc7180-videocc.yaml | 63 ++++++++++++ .../bindings/clock/qcom,sdm845-dispcc.yaml | 99 +++++++++++++++++++ .../bindings/clock/qcom,sdm845-gpucc.yaml | 72 ++++++++++++++ ...,videocc.yaml => qcom,sdm845-videocc.yaml} | 27 ++--- arch/arm64/boot/dts/qcom/sc7180.dtsi | 47 +++++++++ arch/arm64/boot/dts/qcom/sdm845.dtsi | 28 +++++- drivers/clk/qcom/clk-rcg2.c | 3 + drivers/clk/qcom/dispcc-sc7180.c | 45 +++------ drivers/clk/qcom/gpucc-sc7180.c | 4 +- drivers/clk/qcom/videocc-sc7180.c | 4 +- 14 files changed, 513 insertions(+), 140 deletions(-) delete mode 100644 Documentation/devicetree/bindings/clock/qcom,gpucc.yaml rename Documentation/devicetree/bindings/clock/{qcom,dispcc.yaml => qcom,msm8998-gpucc.yaml} (51%) create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7180-dispcc.yaml create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7180-gpucc.yaml create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7180-videocc.yaml create mode 100644 Documentation/devicetree/bindings/clock/qcom,sdm845-dispcc.yaml create mode 100644 Documentation/devicetree/bindings/clock/qcom,sdm845-gpucc.yaml rename Documentation/devicetree/bindings/clock/{qcom,videocc.yaml => qcom,sdm845-videocc.yaml} (61%) -- 2.25.0.341.g760bfbb309-goog
next reply index Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-03 18:31 Douglas Anderson [this message] 2020-02-03 18:31 ` [PATCH v4 01/15] clk: qcom: rcg2: Don't crash if our parent can't be found; return an error Douglas Anderson 2020-02-04 17:47 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 02/15] dt-bindings: clock: Fix qcom,dispcc bindings for sdm845/sc7180 Douglas Anderson 2020-02-04 17:47 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 03/15] arm64: dts: qcom: sdm845: Add the missing clocks on the dispcc Douglas Anderson 2020-02-03 18:31 ` [PATCH v4 04/15] clk: qcom: Get rid of fallback global names for dispcc-sc7180 Douglas Anderson 2020-02-04 17:47 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 05/15] clk: qcom: Get rid of the test clock " Douglas Anderson 2020-02-04 17:47 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 06/15] clk: qcom: Use ARRAY_SIZE in dispcc-sc7180 for parent clocks Douglas Anderson 2020-02-04 17:48 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 07/15] dt-bindings: clock: Fix qcom,gpucc bindings for sdm845/sc7180/msm8998 Douglas Anderson 2020-02-04 17:48 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 08/15] arm64: dts: qcom: sdm845: Add missing clocks / fix names on the gpucc Douglas Anderson 2020-02-03 18:31 ` [PATCH v4 09/15] clk: qcom: Get rid of the test clock for gpucc-sc7180 Douglas Anderson 2020-02-04 17:48 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 10/15] clk: qcom: Use ARRAY_SIZE in gpucc-sc7180 for parent clocks Douglas Anderson 2020-02-04 17:48 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 11/15] dt-bindings: clock: Cleanup qcom,videocc bindings for sdm845/sc7180 Douglas Anderson 2020-02-04 17:48 ` Stephen Boyd 2020-02-04 20:49 ` Doug Anderson 2020-02-03 18:31 ` [PATCH v4 12/15] clk: qcom: Get rid of the test clock for videocc-sc7180 Douglas Anderson 2020-02-04 17:49 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 13/15] clk: qcom: Use ARRAY_SIZE in videocc-sc7180 for parent clocks Douglas Anderson 2020-02-04 17:49 ` Stephen Boyd 2020-02-03 18:31 ` [PATCH v4 14/15] arm64: dts: qcom: sdm845: Add the missing clock on the videocc Douglas Anderson 2020-02-03 18:31 ` [PATCH v4 15/15] arm64: dts: sc7180: Add clock controller nodes Douglas Anderson 2020-02-03 19:30 ` [PATCH v4 00/15] clk: qcom: Fix parenting for dispcc/gpucc/videocc Stephen Boyd 2020-02-03 19:41 ` Doug Anderson 2020-02-03 20:04 ` Bjorn Andersson 2020-02-03 20:48 ` Doug Anderson 2020-02-03 23:17 ` Bjorn Andersson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200203183149.73842-1-dianders@chromium.org \ --to=dianders@chromium.org \ --cc=agross@kernel.org \ --cc=bjorn.andersson@linaro.org \ --cc=devicetree@vger.kernel.org \ --cc=harigovi@codeaurora.org \ --cc=hoegsberg@chromium.org \ --cc=jeffrey.l.hugo@gmail.com \ --cc=jhugo@codeaurora.org \ --cc=kalyan_t@codeaurora.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mka@chromium.org \ --cc=mturquette@baylibre.com \ --cc=robh+dt@kernel.org \ --cc=robh@kernel.org \ --cc=sboyd@kernel.org \ --cc=tdas@codeaurora.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-ARM-MSM Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-arm-msm/0 linux-arm-msm/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-arm-msm linux-arm-msm/ https://lore.kernel.org/linux-arm-msm \ linux-arm-msm@vger.kernel.org public-inbox-index linux-arm-msm Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-arm-msm AGPL code for this site: git clone https://public-inbox.org/public-inbox.git