All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 00/26] Introduce memory interconnect for NVIDIA Tegra SoCs
@ 2020-11-11  1:14 ` Dmitry Osipenko
  0 siblings, 0 replies; 108+ messages in thread
From: Dmitry Osipenko @ 2020-11-11  1:14 UTC (permalink / raw)
  To: Thierry Reding, Jonathan Hunter, Georgi Djakov, Rob Herring,
	Michael Turquette, Stephen Boyd, Peter De Schrijver,
	MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Mikko Perttunen,
	Viresh Kumar, Peter Geis, Nicolas Chauvet, Krzysztof Kozlowski
  Cc: linux-tegra, linux-pm, linux-kernel, dri-devel

This series brings initial support for memory interconnect to Tegra20,
Tegra30 and Tegra124 SoCs.

For the starter only display controllers and devfreq devices are getting
interconnect API support, others could be supported later on. The display
controllers have the biggest demand for interconnect API right now because
dynamic memory frequency scaling can't be done safely without taking into
account bandwidth requirement from the displays. In particular this series
fixes distorted display output on T30 Ouya and T124 TK1 devices.

Changelog:

v8: - Patches that are already applied by Krzysztof Kozlowski not included.

    - Removed tegra20-devfreq.c from MAINTAINERS, suggested by Chanwoo Choi.

    - The patch "memory: tegra20-emc: Add devfreq support" now removes
      PM_OPP for Tegra20 EMC driver from Kconfig, suggested by Chanwoo Choi.

    - Now using devm_devfreq_add_device() for Tegra20 devfreq, suggested by
      Chanwoo Choi.

    - Added acks from Chanwoo Choi. Although, devfreq patches probably
      should go via devfreq tree in order to avoid conflicts with the
      other previously-applied patches by Chanwoo.

    - Dropped superfluous dev_pm_opp_get_opp_table() from patch "devfreq:
      tegra30: Support interconnect and OPPs from device-tree".

    - Silenced another minor W=1 compilation warning reported by kernel
      test robot.

    - Added couple extra minor clean-up changes, including those that will
      ease further code changes. Added these new patches:

        memory: tegra20-emc: Remove IRQ number from error message
        memory: tegra20-emc: Factor out clk initialization
        memory: tegra30-emc: Factor out clk initialization

      Note that some of the new T124 changes are compile-tested only,
      but I expect that we will re-test them fully soon.

    - Added patch that fixes compilation of a non-Tegra kernels.

        memory: tegra: Correct stub of devm_tegra_memory_controller_get()

    - Replaced dev_pm_opp_get_opp_table() with dev_pm_opp_set_clkname(),
      as was suggested by Viresh Kumar in other thread.

    - Added patch that will allow T124 EMC driver to probe even if DT
      doesn't have memory timings, this was missed by accident previously.

        memory: tegra124-emc: Continue probing if timings are missing in device-tree

Dmitry Osipenko (26):
  memory: tegra: Correct stub of devm_tegra_memory_controller_get()
  memory: tegra20-emc: Use dev_pm_opp_set_clkname()
  memory: tegra20-emc: Factor out clk initialization
  memory: tegra20-emc: Add devfreq support
  memory: tegra20-emc: Remove IRQ number from error message
  memory: tegra30: Add FIFO sizes to memory clients
  memory: tegra30-emc: Make driver modular
  memory: tegra30-emc: Continue probing if timings are missing in
    device-tree
  memory: tegra30: Support interconnect framework
  memory: tegra30-emc: Factor out clk initialization
  memory: tegra124-emc: Make driver modular
  memory: tegra124-emc: Continue probing if timings are missing in
    device-tree
  memory: tegra124: Support interconnect framework
  drm/tegra: dc: Support memory bandwidth management
  drm/tegra: dc: Extend debug stats with total number of events
  PM / devfreq: tegra30: Support interconnect and OPPs from device-tree
  PM / devfreq: tegra30: Separate configurations per-SoC generation
  PM / devfreq: tegra20: Deprecate in a favor of emc-stat based driver
  ARM: tegra: Correct EMC registers size in Tegra20 device-tree
  ARM: tegra: Add interconnect properties to Tegra20 device-tree
  ARM: tegra: Add interconnect properties to Tegra30 device-tree
  ARM: tegra: Add interconnect properties to Tegra124 device-tree
  ARM: tegra: Add nvidia,memory-controller phandle to Tegra20 EMC
    device-tree
  ARM: tegra: Add DVFS properties to Tegra20 EMC device-tree node
  ARM: tegra: Add DVFS properties to Tegra30 EMC and ACTMON device-tree
    nodes
  ARM: tegra: Add DVFS properties to Tegra124 EMC and ACTMON device-tree
    nodes

 MAINTAINERS                                   |   1 -
 arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |   8 +
 .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |   8 +
 arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  |  10 +
 .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  10 +
 .../boot/dts/tegra124-peripherals-opp.dtsi    | 419 ++++++++++++++++++
 arch/arm/boot/dts/tegra124.dtsi               |  31 ++
 .../boot/dts/tegra20-acer-a500-picasso.dts    |   7 +
 arch/arm/boot/dts/tegra20-colibri.dtsi        |   4 +
 arch/arm/boot/dts/tegra20-paz00.dts           |   6 +
 .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  92 ++++
 arch/arm/boot/dts/tegra20.dtsi                |  33 +-
 .../tegra30-asus-nexus7-grouper-common.dtsi   |   4 +
 ...30-asus-nexus7-grouper-memory-timings.dtsi |  12 +
 .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 383 ++++++++++++++++
 arch/arm/boot/dts/tegra30.dtsi                |  33 +-
 drivers/clk/tegra/Makefile                    |   3 +-
 drivers/clk/tegra/clk-tegra124-emc.c          |  41 +-
 drivers/clk/tegra/clk-tegra124.c              |  27 +-
 drivers/clk/tegra/clk.h                       |  16 +-
 drivers/devfreq/Kconfig                       |  10 -
 drivers/devfreq/Makefile                      |   1 -
 drivers/devfreq/tegra20-devfreq.c             | 210 ---------
 drivers/devfreq/tegra30-devfreq.c             | 154 ++++---
 drivers/gpu/drm/tegra/Kconfig                 |   1 +
 drivers/gpu/drm/tegra/dc.c                    | 359 +++++++++++++++
 drivers/gpu/drm/tegra/dc.h                    |  19 +
 drivers/gpu/drm/tegra/drm.c                   |  14 +
 drivers/gpu/drm/tegra/hub.c                   |   3 +
 drivers/gpu/drm/tegra/plane.c                 | 121 +++++
 drivers/gpu/drm/tegra/plane.h                 |  15 +
 drivers/memory/tegra/Kconfig                  |   9 +-
 drivers/memory/tegra/mc.c                     |   3 +
 drivers/memory/tegra/tegra124-emc.c           | 395 +++++++++++++++--
 drivers/memory/tegra/tegra124.c               |  82 +++-
 drivers/memory/tegra/tegra20-emc.c            | 192 ++++++--
 drivers/memory/tegra/tegra30-emc.c            | 406 +++++++++++++++--
 drivers/memory/tegra/tegra30.c                | 239 +++++++++-
 include/linux/clk/tegra.h                     |   8 +
 include/soc/tegra/emc.h                       |  16 -
 include/soc/tegra/mc.h                        |   2 +-
 41 files changed, 2971 insertions(+), 436 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra124-peripherals-opp.dtsi
 create mode 100644 arch/arm/boot/dts/tegra20-peripherals-opp.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-peripherals-opp.dtsi
 delete mode 100644 drivers/devfreq/tegra20-devfreq.c
 delete mode 100644 include/soc/tegra/emc.h

-- 
2.29.2


^ permalink raw reply	[flat|nested] 108+ messages in thread

end of thread, other threads:[~2020-11-16  1:08 UTC | newest]

Thread overview: 108+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11  1:14 [PATCH v8 00/26] Introduce memory interconnect for NVIDIA Tegra SoCs Dmitry Osipenko
2020-11-11  1:14 ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 01/26] memory: tegra: Correct stub of devm_tegra_memory_controller_get() Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:36   ` Krzysztof Kozlowski
2020-11-14 15:36     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 02/26] memory: tegra20-emc: Use dev_pm_opp_set_clkname() Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  5:45   ` Viresh Kumar
2020-11-11  5:45     ` Viresh Kumar
2020-11-11  5:54     ` Viresh Kumar
2020-11-11  5:54       ` Viresh Kumar
2020-11-11  6:15     ` Dmitry Osipenko
2020-11-11  6:15       ` Dmitry Osipenko
2020-11-14 15:37   ` Krzysztof Kozlowski
2020-11-14 15:37     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 03/26] memory: tegra20-emc: Factor out clk initialization Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:37   ` Krzysztof Kozlowski
2020-11-14 15:37     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 04/26] memory: tegra20-emc: Add devfreq support Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  2:23   ` Chanwoo Choi
2020-11-11  2:23     ` Chanwoo Choi
2020-11-14 15:38   ` Krzysztof Kozlowski
2020-11-14 15:38     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 05/26] memory: tegra20-emc: Remove IRQ number from error message Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:38   ` Krzysztof Kozlowski
2020-11-14 15:38     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 06/26] memory: tegra30: Add FIFO sizes to memory clients Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:39   ` Krzysztof Kozlowski
2020-11-14 15:39     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 07/26] memory: tegra30-emc: Make driver modular Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:41   ` Krzysztof Kozlowski
2020-11-14 15:41     ` Krzysztof Kozlowski
2020-11-11  1:14 ` [PATCH v8 08/26] memory: tegra30-emc: Continue probing if timings are missing in device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-14 15:42   ` Krzysztof Kozlowski
2020-11-14 15:42     ` Krzysztof Kozlowski
2020-11-15  9:25     ` Dmitry Osipenko
2020-11-15  9:25       ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 09/26] memory: tegra30: Support interconnect framework Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  5:53   ` Viresh Kumar
2020-11-11  5:53     ` Viresh Kumar
2020-11-11  6:14     ` Dmitry Osipenko
2020-11-11  6:14       ` Dmitry Osipenko
2020-11-11  6:18       ` Viresh Kumar
2020-11-11  6:18         ` Viresh Kumar
2020-11-11  7:32         ` Dmitry Osipenko
2020-11-11  7:32           ` Dmitry Osipenko
2020-11-11  7:54           ` Viresh Kumar
2020-11-11  7:54             ` Viresh Kumar
2020-11-11 14:08             ` Dmitry Osipenko
2020-11-11 14:08               ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 10/26] memory: tegra30-emc: Factor out clk initialization Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  8:51   ` Krzysztof Kozlowski
2020-11-11  8:51     ` Krzysztof Kozlowski
2020-11-11  8:52     ` Krzysztof Kozlowski
2020-11-11  8:52       ` Krzysztof Kozlowski
2020-11-11  9:01       ` Dmitry Osipenko
2020-11-11  9:01         ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 11/26] memory: tegra124-emc: Make driver modular Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  9:04   ` Krzysztof Kozlowski
2020-11-11  9:04     ` Krzysztof Kozlowski
2020-11-11  9:17     ` Dmitry Osipenko
2020-11-11  9:17       ` Dmitry Osipenko
2020-11-11  9:26       ` Krzysztof Kozlowski
2020-11-11  9:26         ` Krzysztof Kozlowski
2020-11-11 10:25         ` Dmitry Osipenko
2020-11-11 10:25           ` Dmitry Osipenko
2020-11-11 11:53           ` Dmitry Osipenko
2020-11-11 11:53             ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 12/26] memory: tegra124-emc: Continue probing if timings are missing in device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 13/26] memory: tegra124: Support interconnect framework Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 14/26] drm/tegra: dc: Support memory bandwidth management Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 15/26] drm/tegra: dc: Extend debug stats with total number of events Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 16/26] PM / devfreq: tegra30: Support interconnect and OPPs from device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 17/26] PM / devfreq: tegra30: Separate configurations per-SoC generation Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 18/26] PM / devfreq: tegra20: Deprecate in a favor of emc-stat based driver Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 19/26] ARM: tegra: Correct EMC registers size in Tegra20 device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 20/26] ARM: tegra: Add interconnect properties to " Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 21/26] ARM: tegra: Add interconnect properties to Tegra30 device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 22/26] ARM: tegra: Add interconnect properties to Tegra124 device-tree Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 23/26] ARM: tegra: Add nvidia,memory-controller phandle to Tegra20 EMC device-tree Dmitry Osipenko
2020-11-11  1:14   ` [PATCH v8 23/26] ARM: tegra: Add nvidia, memory-controller " Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 24/26] ARM: tegra: Add DVFS properties to Tegra20 EMC device-tree node Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 25/26] ARM: tegra: Add DVFS properties to Tegra30 EMC and ACTMON device-tree nodes Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko
2020-11-11  1:14 ` [PATCH v8 26/26] ARM: tegra: Add DVFS properties to Tegra124 " Dmitry Osipenko
2020-11-11  1:14   ` Dmitry Osipenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.