mbox series

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

Message ID 20200521122841.8867-1-s.nawrocki@samsung.com (mailing list archive)
Headers show
Series interconnect: Support Samsung Exynos use-case | expand

Message

Hi All,

This is a continuation of Artur's efforts to add interconnect and PM QoS
support for Exynos SoCs. Previous version of the patch set can be found 
at [1]. The only change comparing to v4 is an addition of missing 'static
inline' qualifier to the of_icc_get_from_provider() function stub, i.e.
addresing Georgi's review comments.

The patches have been tested on Odroid U3 (Exynos4412 SoC). 

Below is detailed description of the patch set as in v3.

                              ---------
Previously posted as a part of a larger RFC [2].

The Exynos SoC family relies on the devfreq driver for frequency
scaling. However, a means for programmatically enforcing QoS constraints
(i.e., minimum frequency) for devices is required. A solution which uses 
the interconnect framework to ensure QoS is currently being developed [2].

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 an 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 [2]).
* 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 we will not cause regressions in any existing driver.

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

[1] https://lore.kernel.org/linux-pm/20200116144202.12116-4-a.swigon@samsung.com/T
[2] https://patchwork.kernel.org/patch/11305287/

--
Regards,
Sylwester


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(-)

Comments

Georgi Djakov May 27, 2020, 1:49 p.m. UTC | #1
Hi Sylwester,

Thank you for re-sending these!

On 5/21/20 15:28, Sylwester Nawrocki wrote:
> Hi All,
> 
> This is a continuation of Artur's efforts to add interconnect and PM QoS
> support for Exynos SoCs. Previous version of the patch set can be found 
> at [1]. The only change comparing to v4 is an addition of missing 'static
> inline' qualifier to the of_icc_get_from_provider() function stub, i.e.
> addresing Georgi's review comments.
> 
> The patches have been tested on Odroid U3 (Exynos4412 SoC). 
> 
> Below is detailed description of the patch set as in v3.
> 
>                               ---------
> Previously posted as a part of a larger RFC [2].

The patches look good to me and i am planning to apply them for v5.9,
but what happened to the devfreq patches, which will make use of this?
Are they posted separately?

Thanks,
Georgi
Hi Georgi,

On 27.05.2020 15:49, Georgi Djakov wrote:
> Hi Sylwester,
> 
> Thank you for re-sending these!
> 
> On 5/21/20 15:28, Sylwester Nawrocki wrote:
>> Hi All,
>>
>> This is a continuation of Artur's efforts to add interconnect and PM QoS
>> support for Exynos SoCs. Previous version of the patch set can be found 
>> at [1]. The only change comparing to v4 is an addition of missing 'static
>> inline' qualifier to the of_icc_get_from_provider() function stub, i.e.
>> addresing Georgi's review comments.
>>
>> The patches have been tested on Odroid U3 (Exynos4412 SoC). 
>>
>> Below is detailed description of the patch set as in v4.
>>
>>                               ---------
>> Previously posted as a part of a larger RFC [2].
> 
> The patches look good to me and i am planning to apply them for v5.9,
> but what happened to the devfreq patches, which will make use of this?
> Are they posted separately?

Thank you, remaining patches are not posted yet. I'm still working on them
and should be posting them this week. They are almost ready and I'm doing
some more tests. 

I have converted the code that was previously added to the exynos-bus driver
to a separate interconnect driver as you suggested. In the exynos devfreq 
only a child platform device is registered for the interconnect driver,
which then registers a PM QoS request for its parent device. After rebasing 
today I noticed something very similar has been recently added in the devfreq
subsystem for the imx platforms. Let's discuss further after I actually post 
the patches.

--
Regards,
Sylwester