Re: [RFC PATCH 09/11] devfreq: exynos-bus: Add interconnect functionality to exynos-bus
From: Leonard Crestez
Date: Tue Aug 06 2019 - 09:41:38 EST
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.
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.
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