Johnny Liu
ff572997a3
drm/tegra: Wrap register init code in function
...
Put the actmon-related register initialization code in the function for
readability.
Bug 4183393
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Id68d128ae330105da0d3f76270fe38d57c12c740
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2931793
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-07-10 10:05:47 -07:00
Johnny Liu
3264c9dfca
drm/tegra: Skip non-clock update in suspend mode
...
When the device is in suspend mode, There is no point to update
actmon count weight and send ICC request for the device.
If ICC request is sent for the device in suspend mode, in osidle state,
the default EMC frequency will be affected due to the accumulated ICC
bandwidth QoS constraint, and affect the overall osidle power.
Bug 4168788
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: I8700b131b5f914d93feed9f8a9d792c2fdaa9b53
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2931905
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-07-07 07:01:02 -07:00
Johnny Liu
da7cd1c546
drm/tegra: Enable disable actmon in RPM callbacks
...
Actmon should be enabled only when engines are active.
Bug 4168788
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ifb4bfe67357402266080331ea18ae2a9af2d85ee
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2931890
Reviewed-by: Santosh BS <santoshb@nvidia.com >
Reviewed-by: Bibek Basu <bbasu@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-07-07 07:00:52 -07:00
Johnny Liu
4241a7c976
drm/tegra: Export active signal to actmon
...
As long as the subcomponents in the engine are active, we consider the
engine as active and the engine should export active signal to the
actmon.
Bug 4179140
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ic4cccf29e8ac87da24f6fe3bf1f1e93a11511762
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2930445
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com >
Reviewed-by: Bibek Basu <bbasu@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-07-05 14:55:49 -07:00
Johnny Liu
5c4d5e62a0
drm/tegra: Enabling ICC for NVJPG
...
In order to avoid the NVJPG performance bottleneck from EMC,
NVJPG needs to ask for the required memory bandwidth for itself
according to its current frequency and load.
Bug 4097374
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ia4835bca4fcf7a3e085fa528d0b2c781b100636b
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2914633
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-06-10 19:35:38 -07:00
Johnny Liu
4d3c70f632
drm/tegra: Bridge tegra_wmark devfreq with host1x
...
To support actmon DFS for nvjpg with tegra_wmark govenor, the nvjpg
driver needs to provide interrupt handling callback function for host1x,
and watermark update callback for tegra_wmark govenor.
Bug 4074193
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ib651d5c6519bcf455416185220a18b52cef6b6f0
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2900058
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-05-09 22:27:37 -07:00
Johnny Liu
df86f78c76
drm/tegra: Enable devfreq for the nvjpg client
...
Enable devfreq for the nvjpg client with userspace governor by default.
Bug 4074193
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ic70651b5af4648808b188560e4c09da00c5dde55
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2895739
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-05-02 09:20:01 -07:00
Johnny Liu
9db84e035b
drm/tegra: Register actmon for the nvjpg client
...
Register nvjpg actmon to export the engine utilization information in
the debugfs.
Bug 4074193
Bug 3923137
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: If061703e23d9de8b270e93694a295f7e1153ceb5
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2891935
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-27 08:12:37 -07:00
Mikko Perttunen
5ad064a2bb
drm/tegra: Enable runtime PM during probe for internal engines
...
Currently, engine drivers only enable runtime PM during the host1x
init callback. This can happen slightly later than the probe, which
can cause the power domain to intermittently not be turned off after
probe.
My hypothesis is that there is a race condition between the post-probe
power domain poweroff that is done from a queued work, and the
pm_runtime_enable call happening in the host1x init callback.
If the pm_runtime_enable call happens first, everything is OK and
the power off work can disable the power domain as PM runtime is
enabled and the device is runtime suspended. If power off work runs
first, PM runtime is still disabled for the device and the domain
must be kept powered.
Resolve the issue by moving the runtime PM enablement to the
probe function.
Bug 3982357
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Change-Id: I9a10e1dff580affebe05d9cc9ab3e24d1d3ca547
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2859476
Reviewed-by: Santosh BS <santoshb@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-03 09:18:59 +00:00
Mikko Perttunen
8f676020f2
drm/tegra: Add isolation related callbacks for NVENC/NVJPG
...
Add context isolation related engine callbacks to NVENC and NVJPG
drivers. These are now required on Tegra234 for things to work at
all.
Bug 3778105
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Change-Id: I4208965a70941ebcd68d6acd7f4db29635d741d5
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2772957
(cherry picked from commit 777f40bfb4f008f82bd2901b849a254d8a5c40a8)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2772921
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-03 09:18:59 +00:00
Mikko Perttunen
6dc646d619
drm/tegra: Use iommu regs helper in nvenc/nvjpg engines
...
As TRANSCFG regs move into util.c, we must now adapt these engines'
drivers to use the iommu regs helper as well.
Bug 3778105
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Change-Id: I2f2cc92c013eff50ab3aab1a4a8e49ba82e91dbf
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2771767
(cherry picked from commit d24bd9b4aa44b31a1053c559b0f58c3bd62a696d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2759059
Tested-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-03 09:18:59 +00:00
Mikko Perttunen
59a24174d4
drm/tegra: Add NVENC/NVJPG support on Tegra234
...
Add NVENC/NVJPG support on Tegra234. These work similarly to the
ones on Tegra194, so no big changes.
Bug 3778105
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Change-Id: I4a4b12d5625f927c69a6dc1c6b6bade1bca7b171
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2771770
(cherry picked from commit ee6576a1493dae1ddc5c8dc3b415d0987f670390)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2759062
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
Tested-by: Jonathan Hunter <jonathanh@nvidia.com >
2023-04-03 09:18:59 +00:00
Jon Hunter
57b7756289
drm/tegra: Update to Linux v5.19-rc1
...
Update the Tegra DRM driver to align with the latest upstream Tegra DRM
driver from Linux v5.19-rc1.
Bug 3724727
Change-Id: I5dc54eee6cd2c5c62832e1844cd3df59fcabe976
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2739541
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Bibek Basu <bbasu@nvidia.com >
2023-04-03 09:18:59 +00:00
Jon Hunter
96b2a8c5ea
drm/tegra: Add support for NVENC and NVJPG
...
Add support for the Host1x NVENC and NVJPG engines.
JIRA LS-411
Change-Id: Ied1c64c17d337e571512c053ef9552642faa430c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2490297
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-03 09:18:59 +00:00