Add clock capping driver which can be used to cap the max freq of the
specified clocks via Common Clock Framework (CCF) directly. The exposed
sysfs nodes can be used to ensure the clock running within the
predefined frequency cap in selected power mode.
As bandwidth manager is implemented in BPMP, the EMC max freq capping
request should be approved by BPMP. Therefore, there is MRQ call to BPMP
when there is new EMC max freq capping request.
Please note that the request will be rejected by BPMP when EMC current
freq is higher than requested capping freq. On BPMP MRQ failure, the
driver will try to restore previous EMC max freq in CCF. On CCF failure,
the driver will try to remove the cap on EMC max freq.
Bug 3997304
Bug 3972888
Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: Iff574ff5e529119c65a9af2456241d9102bd7956
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2878601
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Port the downstream nvpmodel driver to the OOT project.
The following items summarize the change:
- Original bwmgr APIs are removed
- Clock cap for other clocks except for EMC is removed since userspace
nvpmodel service will handle clock cap for other clocks
Bug 3779573
Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Ib297dfed808dad03d1450860c24156da1a84b4ca
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2773538
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>