mbox series

[v4,00/15] rk3399: Clean up and enable DDR DVFS

Message ID 20220308190901.3144566-1-briannorris@chromium.org
Headers show
Series rk3399: Clean up and enable DDR DVFS | expand

Message

Brian Norris March 8, 2022, 7:08 p.m. UTC
This series covers 2 primary tasks:

1) Resubmit prior work:

[RESEND PATCH v5 3/4] arm64: dts: rockchip: Enable dmc and dfi nodes on gru.
https://lore.kernel.org/lkml/20210308233858.24741-2-daniel.lezcano@linaro.org/
[RESEND PATCH v5 2/4] arm64: dts: rk3399: Add dfi and dmc nodes.
https://lore.kernel.org/lkml/20210308233858.24741-3-daniel.lezcano@linaro.org/

This series was partially merged a while back, but the remaining 2
patches were blocked mostly on stylistic grounds (alpha/numerical
ordering).

2) Integrate many updates, bugfixes, and clarifications that were done
by Rockchip and Google engineers when first launching this platform.
Many of these were not integrated in the earlier series (e.g., the OPPs
changed before production; earlier patchsets used pre-production
numbers).

Along the way, it seemed worthwhile to convert the binding docs to a
schema. Among other reasons, it actually helped catch several errors and
omissions in translation between downstream device trees and the version
that actually landed upstream.

See the patches for further details.

Regards,
Brian

Changes in v4:
 * Update .yaml to use more "default" entries, instead of free-form text
 * s/phandle-array/phandle/
 * Move to .../memory-controllers, update filename

Changes in v3:
 * Add |maxItems| for devfreq-events
 * Improve deprecation notes
 * Add Reviewed-by tags
 * Collect some Acked/Reviewed tags

Changes in v2:
 * Fix yamllint issues
 * Adapt to various review comments (use of *-hz, hyphens, node naming)
 * Add a few new bugfixes
 * Add some new properties (ported from downstream kernels) required for
   stability
 * Convert more properties from "cycles" to "nanoseconds"

Brian Norris (13):
  dt-bindings: devfreq: rk3399_dmc: Convert to YAML
  dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant
    properties
  dt-bindings: devfreq: rk3399_dmc: Fix Hz units
  dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
  dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
  PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
  PM / devfreq: rk3399_dmc: Drop excess timing properties
  PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
  PM / devfreq: rk3399_dmc: Support new disable-freq properties
  PM / devfreq: rk3399_dmc: Support new *-ns properties
  PM / devfreq: rk3399_dmc: Disable edev on remove()
  PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
  PM / devfreq: rk3399_dmc: Avoid static (reused) profile

Lin Huang (2):
  arm64: dts: rk3399: Add dfi and dmc nodes
  arm64: dts: rockchip: Enable dmc and dfi nodes on gru

 .../bindings/devfreq/rk3399_dmc.txt           | 212 ----------
 .../rockchip,rk3399-dmc.yaml                  | 384 ++++++++++++++++++
 .../dts/rockchip/rk3399-gru-chromebook.dtsi   |   7 +
 .../boot/dts/rockchip/rk3399-gru-scarlet.dtsi |  12 +
 arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi  |  28 ++
 .../boot/dts/rockchip/rk3399-op1-opp.dtsi     |  25 ++
 arch/arm64/boot/dts/rockchip/rk3399.dtsi      |  19 +
 drivers/devfreq/rk3399_dmc.c                  | 299 ++++++--------
 8 files changed, 609 insertions(+), 377 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt
 create mode 100644 Documentation/devicetree/bindings/memory-controllers/rockchip,rk3399-dmc.yaml

Comments

Krzysztof Kozlowski March 9, 2022, 9:34 a.m. UTC | #1
On 08/03/2022 20:08, Brian Norris wrote:
> I want to add, deprecate, and bugfix some properties, as well as add the
> first users. This is easier with a proper schema.
> 
> The transformation is mostly straightforward, plus a few notable tweaks:
> 
>  * Renamed rockchip,dram_speed_bin to rockchip,ddr3_speed_bin. The
>    driver code and the example matched, but the description was
>    different. I went with the implementation. Note that this property is
>    also slated for deprecation/deletion in the subsequent patches.
> 
>  * Drop upthreshold and downdifferential properties from the example.
>    These were undocumented (so, wouldn't pass validation), but were
>    representing software properties (governor tweaks). I drop them from
>    the driver in subsequent patches.
> 
>  * Rename clock from pclk_ddr_mon to dmc_clk. The driver, DT example,
>    and all downstream users matched -- the binding definition was the
>    exception. Anyway, "dmc_clk" is a more appropriately generic name.
> 
>  * Choose a better filename and location (this is a memory controller).
> 
> Signed-off-by: Brian Norris <briannorris@chromium.org>
> ---
> 
> Changes in v4:
>  * Update .yaml to use more "default" entries, instead of free-form text
>  * s/phandle-array/phandle/
>  * Move to .../memory-controllers, update filename
> 
> Changes in v3:
>  * Add |maxItems| for devfreq-events
>  * Improve deprecation notes
> 
> Changes in v2:
>  * rename to 'memory-controller' in example
>  * place 'required' after properties
>  * drop superluous free-form references and repetitions of other
>    bindings
>  * fix for yamllint
> 
>  .../bindings/devfreq/rk3399_dmc.txt           | 212 ------------
>  .../rockchip,rk3399-dmc.yaml                  | 306 ++++++++++++++++++
>  2 files changed, 306 insertions(+), 212 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt
>  create mode 100644 Documentation/devicetree/bindings/memory-controllers/rockchip,rk3399-dmc.yaml
> 

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

Best regards,
Krzysztof
Chanwoo Choi March 21, 2022, 3:39 a.m. UTC | #2
Hi Brian,


On 3/9/22 4:08 AM, Brian Norris wrote:
> This series covers 2 primary tasks:
> 
> 1) Resubmit prior work:
> 
> [RESEND PATCH v5 3/4] arm64: dts: rockchip: Enable dmc and dfi nodes on gru.
> https://lore.kernel.org/lkml/20210308233858.24741-2-daniel.lezcano@linaro.org/
> [RESEND PATCH v5 2/4] arm64: dts: rk3399: Add dfi and dmc nodes.
> https://lore.kernel.org/lkml/20210308233858.24741-3-daniel.lezcano@linaro.org/
> 
> This series was partially merged a while back, but the remaining 2
> patches were blocked mostly on stylistic grounds (alpha/numerical
> ordering).
> 
> 2) Integrate many updates, bugfixes, and clarifications that were done
> by Rockchip and Google engineers when first launching this platform.
> Many of these were not integrated in the earlier series (e.g., the OPPs
> changed before production; earlier patchsets used pre-production
> numbers).
> 
> Along the way, it seemed worthwhile to convert the binding docs to a
> schema. Among other reasons, it actually helped catch several errors and
> omissions in translation between downstream device trees and the version
> that actually landed upstream.
> 
> See the patches for further details.
> 
> Regards,
> Brian
> 
> Changes in v4:
>  * Update .yaml to use more "default" entries, instead of free-form text
>  * s/phandle-array/phandle/
>  * Move to .../memory-controllers, update filename
> 
> Changes in v3:
>  * Add |maxItems| for devfreq-events
>  * Improve deprecation notes
>  * Add Reviewed-by tags
>  * Collect some Acked/Reviewed tags
> 
> Changes in v2:
>  * Fix yamllint issues
>  * Adapt to various review comments (use of *-hz, hyphens, node naming)
>  * Add a few new bugfixes
>  * Add some new properties (ported from downstream kernels) required for
>    stability
>  * Convert more properties from "cycles" to "nanoseconds"
> 
> Brian Norris (13):
>   dt-bindings: devfreq: rk3399_dmc: Convert to YAML
>   dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant
>     properties
>   dt-bindings: devfreq: rk3399_dmc: Fix Hz units
>   dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
>   dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
>   PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
>   PM / devfreq: rk3399_dmc: Drop excess timing properties
>   PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
>   PM / devfreq: rk3399_dmc: Support new disable-freq properties
>   PM / devfreq: rk3399_dmc: Support new *-ns properties
>   PM / devfreq: rk3399_dmc: Disable edev on remove()
>   PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
>   PM / devfreq: rk3399_dmc: Avoid static (reused) profile
> 
> Lin Huang (2):
>   arm64: dts: rk3399: Add dfi and dmc nodes
>   arm64: dts: rockchip: Enable dmc and dfi nodes on gru


Applied them except for patch11/patch12 about dts patches.

Thanks for your work.
Chanwoo Choi
Heiko Stuebner April 10, 2022, 5:12 p.m. UTC | #3
On Tue, 8 Mar 2022 11:08:46 -0800, Brian Norris wrote:
> This series covers 2 primary tasks:
> 
> 1) Resubmit prior work:
> 
> [RESEND PATCH v5 3/4] arm64: dts: rockchip: Enable dmc and dfi nodes on gru.
> https://lore.kernel.org/lkml/20210308233858.24741-2-daniel.lezcano@linaro.org/
> [RESEND PATCH v5 2/4] arm64: dts: rk3399: Add dfi and dmc nodes.
> https://lore.kernel.org/lkml/20210308233858.24741-3-daniel.lezcano@linaro.org/
> 
> [...]

Applied, thanks!

[11/15] arm64: dts: rk3399: Add dfi and dmc nodes
        commit: 1b3f36854ab74839693582bc957930f4416ce8ff
[12/15] arm64: dts: rockchip: Enable dmc and dfi nodes on gru
        commit: 80bc6f34c559c97069b75d6eb453d4218c3ed017

Best regards,