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:
quoted
+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