mbox series

[v4,0/3] interconnect: Support Samsung Exynos use-case

Message ID 20200116144202.12116-1-a.swigon@samsung.com
Headers show
Series interconnect: Support Samsung Exynos use-case | expand

Message

Artur Świgoń Jan. 16, 2020, 2:41 p.m. UTC
Previously posted as a part of a larger RFC: [1].

The Exynos SoC family relies on the devfreq driver for frequency
scaling. However, a way to programmatically enforce QoS contraints
(i.e., minimum frequency) is desired. A solution which uses the
interconnect framework to ensure QoS is currently being developed[1].

The exynos-bus hierarchy is composed of multiple buses which are probed
separately. Sometimes the DMC is even handled by a different driver.
Since the exynos-bus driver is generic and supports multiple differing
bus hierarchies, IDs for nodes (i.e. buses) are assigned dynamically. Due
to the unspecified relative probing order, every bus registers its own
interconnect provider.

Rationale for each patch in this series:
* Patch 01 (exporting of_icc_get_from_provider()) makes it easy to
  retrieve the parent node from the DT (cf. patch 05 in [1]).
* Patch 02 (allowing #interconnect-cells = <0>) allows to remove dummy
  node IDs from the DT.
* Patch 03 (allowing inter-provider node pairs) is necessary to make
  such multi-provider hierarchy work. A new approach implemented in v3
  ensures not to break any existing drivers.

---
Changes since v3 (to patches in this series):
* Improve commit messages.

---
Artur Świgoń
Samsung R&D Institute Poland
Samsung Electronics

---
References:
[1] https://patchwork.kernel.org/patch/11305287/

Artur Świgoń (3):
  interconnect: Export of_icc_get_from_provider()
  interconnect: Relax requirement in of_icc_get_from_provider()
  interconnect: Allow inter-provider pairs to be configured

 drivers/interconnect/core.c           | 16 ++++++++--------
 include/linux/interconnect-provider.h |  8 ++++++++
 2 files changed, 16 insertions(+), 8 deletions(-)