Re: [PATCH V3 2/8] soc: qcom: geni: Support for ICC voting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Georgi, Bjorn, Evan,

On 4/7/2020 3:28 PM, Georgi Djakov wrote:
Hi,

On 4/7/20 09:46, Akash Asthana wrote:
Hi Bjorn, Evan,

Given that these two functions only switch the bandwidth request between
some value and 0, I really think we should carry a "bool enabled" on the
path and replace these two functions with
icc_bulk_enable()/icc_bulk_disable().
So, if above is implementation "bool enabled" on path can be used directly in
aggregation of ICC votes on particular node without using icc_set_bw call, if
yes then I am not aware how? or we'll be using icc_set_bw API indirectly inside
icc_bulk APIs?
If there is a repeated pattern to switch between some bandwidth value and zero,
it really makes sense to introduce such functions in the framework core. I think
that this might be very useful especially for suspend and resume cases.
Something like icc_{enable,disable}(struct icc_path *path) functions and also
the bulk versions, that will flag the path as disabled, re-aggregate and do
icc_set_bw().

This appears to be a non-trivial change to ICC core, as my understanding of ICC core is limited as of now hence, I am not very clear of the implementation of icc_bulk APIs.

Will it be okay if I keep geni_icc_vote_on/off API as is@https://patchwork.kernel.org/patch/11467511/ for now and later will switch to icc_bulk once it's introduced in ICC core.

Regards,

Akash

The added benefit of this would be that you call icc_set_bw() instead of
changing the geni_icc_path->{avg_bw,peak_bw} and don't need to keep
track of them here.
Ok IIUC, we need to call icc_set_bw() from GENI driver only if we change (avg_bw
| peak_bw)?
Yes, exactly.

Thanks,
Georgi

Regards,

Akash

Yes yes! I had the same thought here [1].

Georgi, what do you think?
-Evan

[1]
https://lore.kernel.org/linux-arm-msm/CAE=gft58QsgTCUHMHKJhcM9ZxAeMiY16CrbNv2HaTCRqwtmt7A@xxxxxxxxxxxxxx/

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na Linux Foundation Collaborative Project



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux