Johnny Liu
d171c817ec
drm/tegra: Correct icc cleanup logic
...
Since devm_of_icc_get is used, no need to call icc_put when device probe
fails or device driver is removed.
Bug 4222919
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ide313c6f56e1bef83ffe3718cd434abbdaeec869
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2947933
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-08-04 14:09:18 -07:00
Jon Hunter
9f2ed528c8
drm/tegra: Fix interconnect support for Linux v6.2+
...
Interconnect support for multimedia engines is disable for Linux v6.2
kernels. Rather than always disabling interconnect support for these
kernels, we just need to ensure the necessary upstream kernel patches
are in place for Linux v6.2 kernels. Therefore, enable interconnect
support for all kernels.
Bug 4097374
Change-Id: Ibceb866ba239454a131543cdff90e68007b28942
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2937758
Reviewed-by: Johnny Liu <johnliu@nvidia.com >
Reviewed-by: Sumit Gupta <sumitg@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-07-20 01:16:09 -07:00
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
97c41a6222
drm/tegra: Enabling ICC for NVENC
...
In order to avoid the NVENC performance bottleneck from EMC,
NVENC 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: I504a741126d52c3ae847918b4c4ab6e6a27823e7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2914622
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-06-10 19:35:33 -07:00
Johnny Liu
bd6fc54120
drm/tegra: Bridge tegra_wmark devfreq with host1x
...
To support actmon DFS for nvenc with tegra_wmark govenor, the nvenc
driver needs to provide interrupt handling callback function for host1x,
and watermark update callback for tegra_wmark govenor.
Bug 4077910
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: Ibe1e2aa220e534f095261b609adca851a075fc09
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2900048
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:32 -07:00
Johnny Liu
a61d58efd6
drm/tegra: Enable devfreq for the nvenc client
...
Enable devfreq for the nvenc client with userspace governor by default.
Bug 4077910
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: I2a7f3c047f3d7a6ba8d9219fcd0af85eeeaf7e99
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2895731
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:19:56 -07:00
Johnny Liu
16620428cd
drm/tegra: Register actmon for the nvenc client
...
Register nvenc actmon to export the engine utilization information in
the debugfs.
Bug 4077910
Bug 3923137
Signed-off-by: Johnny Liu <johnliu@nvidia.com >
Change-Id: I70800bbc2ad37d69e9697a47a161e64c60dcb383
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2891911
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-04-27 08:12:32 -07:00
Mikko Perttunen
5395e466bf
drm/tegra: Job hardware timestamping support
...
Add support for emitting ftrace events for job submissions with
hardware timestamps, including configuring engines to capture
timestamps when execution starts and ends.
Bug 3829397
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Change-Id: I3a3f6fcf931d7f8fb337f029af7729ffc2cbb972
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2891349
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-26 20:08:33 -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