Re: [RFC PATCH 09/11] devfreq: exynos-bus: Add interconnect functionality to exynos-bus

From: Artur ÅwigoÅ
Date: Thu Aug 08 2019 - 09:19:31 EST


Hi,

Thank you for your comments.

On Tue, 2019-08-06 at 13:41 +0000, Leonard Crestez wrote:
> On 23.07.2019 15:21, Artur ÅwigoÅ wrote:
>
> > +static int exynos_bus_icc_aggregate(struct icc_node *node, u32 avg_bw,
> > + u32 peak_bw, u32 *agg_avg, u32 *agg_peak)
> > +{
> > + *agg_peak = *agg_avg = peak_bw;
> > +
> > + return 0;
> > +}
>
> The only current provider aggregates "avg" with "sum" and "peak" with
> "max", any particular reason to do something different? This function
> doesn't even really do aggregation, if there is a second request for "0"
> then the first request is lost.

Yes, you're right. I adopted an oversimplified solution for the purpose of this
RFC (please bear in mind that currently only one icc_path is used, so there is
no aggregation anyway).

> I didn't find any docs but my interpretation of avg/peak is that "avg"
> is for constant traffic like a display or VPU pushing pixels and "peak"
> is for variable traffic like networking. I assume devices which make
> "peak" requests are aggregated with max because they're not expected to
> all max-out together.

That's correct (according to my understanding).

> In PATCH 11 you're making a bandwidth request based on resolution, that
> traffic is constant and guaranteed to happend while the display is on so
> it would make sense to request it as an "avg" and aggregate it with "sum".
>
> --
> Regards,
> Leonard
>
--
Artur ÅwigoÅ
Samsung R&D Institute Poland
Samsung Electronics