Commit Graph

428 Commits

Author SHA1 Message Date
Jon Hunter
d088bfa37d drm/tegra: Update Tegra DRM to align with v5.10
Update the Tegra DRM driver to Linux v5.10 with the 'Host1x/Tegra UAPI'
series [0] applied. This driver is built as an external module for
testing and development with upstream Linux kernels.

[0] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=215770

Bug 3205478

Change-Id: I901aa45779e56cbbef6c58fd9d3bb50ea6bfd472
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2460064
Reviewed-by: Shanker Donthineni <sdonthineni@nvidia.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-03 09:18:59 +00:00
Jon Hunter
b8c2d943ed drm/tegra: Add upstream tegra-drm driver
Add the upstream tegra-drm driver with the 'Host1x/Tegra UAPI' series
[0] applied. This driver will be built as an external module for testing
and development with upstream Linux kernels.

The following modifications have been made to the series posted upstream
1. Update the Makefile to always build the driver as a module
2. Always enable the tegra_drm_ioctl_xxx in the tegra_drm_ioctls and
   remove the dependency on CONFIG_DRM_TEGRA_STAGING.
3. Rename the include/uapi/drm/tegra_drm.h to
   include/uapi/drm/tegra_drm_next.h to avoid conflicts with upstream
   headers when building as an external module.
5. Rename the module that is built to be tegra-drm-next.ko instead of
   tegra-drm.ko to avoid any depmod conflicts with the upstream driver.

[0] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=215770

Bug 3156385

Change-Id: I19206f989325c9c6ff3c2b9301d964140d52234f
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2435802
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Jon Hunter
46b9df5186 gpu: Remove unused host1x and tegra-drm drivers
The host1x and tegra-drm drivers located in the linux-nvidia repository
are not referenced by any upper level Makefile and so are never
compiled. Therefore, remove the unused host1x and tegra-drm drivers
from the linux-nvidia repository.

Bug 3156385

Change-Id: I770844f1255541628eb4fc962f1c19866cbae31b
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2435652
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Bitan Biswas
0761c746f9 iommu: k5.9: remove archdata.iommu accesses
k5.9 build needs below changes:
read archdata.iommu replaced by iommu_get_domain_for_dev
write archdata.iommu removed as alternative implementation used.

k5.9 build error fixed by explicit include of header <linux/iommu.h>

Change-Id: I464fd4144e4317b10aaa5460482f35e46527339a
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2400862
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-03 09:18:59 +00:00
Stephen Warren
107b92c698 nvidia: use $(srctree.$(overlay))
Update all Makefiles to make use of the new srctree.$(overlay) variables
to remove hard-coding the path to any overlays. One direct reference
remains in a hard-coded include statement in drivers/misc/tegra-cec/.

Bug 1978395

Change-Id: I5cdce04e019567a9bbfffaf0e92a61bd16806e99
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1593800
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Timo Alho <talho@nvidia.com>
Tested-by: Timo Alho <talho@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-03 09:18:59 +00:00
Stephen Warren
e9e22f3af8 nvidia: use kernel overlay features
Update all Kconfig files and Makefiles to rely on the kernel overlay
feature. In particular, don't include any Kconfig files or Makefiles
from other overlays. -I directives in CFLAGS are not yet cleaned up.

Bug 1978395

Change-Id: I425d37d55f8ea61fb3a082a1504f994ff30cec03
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1561187
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-03 09:18:59 +00:00
Ishan Mittal
ad28eb2f5c nvidia: Replace t18x/ in relative path with nvidia/
t18x repo will be discontinued and all code that
resides there is moved into nvidia/.
So, every reference to t18x/ should be corrected
to nvidia/

Bug 200295104

Change-Id: I01ca1118de043511edca829e1cb2b8b52fb398df
Signed-off-by: Vandana Salve <vsalve@nvidia.com>
2023-04-03 09:18:59 +00:00
Ishan Mittal
81a5163715 nvidia: Setting proper names to Makefiles & Kconfig
Makefiles and Kconfig files are picked up based
on project name being the extension.

Makefiles and Kconfig files brought over from
t18x have .t18x suffix.

Changed to .nvidia

Bug 200295104

Change-Id: Idade26f293c1faaf74f53b2ab20798c47652bdb9
Signed-off-by: Ishan Mittal <imittal@nvidia.com>
2023-04-03 09:18:59 +00:00
Laxman Dewangan
d37fe08e47 drm/tegra: nvdec: se soc/tegra/kfuse header for kfuse
Use the header <soc/tegra/kfuse.h> for kfuse defines instead of
legacy header <linux/platform/tegra/tegra_kfuse.h>.

The legacy header for kfuse <linux/platform/tegra/tegra_kfuse.h>
is going to be removed.

bug 200257381

Change-Id: I83b894e1d912b87fde7b24b78c54a633027e0c09
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/1291988
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
Reviewed-by: Shardar Mohammed <smohammed@nvidia.com>
Reviewed-by: Sujeet Baranwal <sbaranwal@nvidia.com>
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
dmitry pervushin
a3207fc093 t18x: renaming KConfigs & Makefiles to add suffix
Bug 1783210

Signed-off-by: dmitry pervushin <dpervushin@nvidia.com>
Change-Id: I20c29b4dd5947d296a6ab1e83d47e569e386855b
Reviewed-on: http://git-master/r/1176347
Reviewed-on: http://git-master/r/1177303
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
Tested-by: Alexander Van Brunt <avanbrunt@nvidia.com>
Reviewed-on: http://git-master/r/1183017
2023-04-03 09:18:59 +00:00
Pritesh Raithatha
c79c8e5d6c kernel: t18x: change kernel path
All kernel versions are getting moved inside $TOP/kernel folder.
Changing kernel paths accordingly.

Bug 200190733

Change-Id: Ia0353dd4be3fb3d76bbfc82609be99546a217f92
Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/1143409
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2023-04-03 09:18:59 +00:00
Deepak Nibade
37dfa4b276 drm/tegra: add T186 support to TSEC
Define tsec_t186_config/tsecb_t186_config and
tsec_t186_ops for TSEC

Define .load_regs = tsec_load_streamid_regs() for TSEC
streamid support

Bug 1704301

Change-Id: Ibf3219973627802ee4301c5a23e766d9953dbc3b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029501
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 09:18:59 +00:00
Deepak Nibade
115fb9a93e drm/tegra: add T186 support to NVJPG
Define nvjpg_t186_config and nvjpg_t186_ops for NVJPG

Define .load_regs = nvjpg_load_streamid_regs() for NVJPG
streamid support

Bug 1704301

Change-Id: I7181a414ebe4ff5db3ce70592494cda13f03f784
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029499
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 09:18:59 +00:00
Deepak Nibade
61639b472d drm/tegra: add T186 support to NVDEC
Define nvdec_t186_config and nvenc_t186_ops for NVDEC

Define .load_regs = nvdec_load_streamid_regs() for NVDEC
streamid support

Define prepare_poweroff() and finalize_poweron()

Bug 1704301

Change-Id: Ibfbb9f40ca4646e7d3afa4a150f6303e0399299c
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029498
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 09:18:59 +00:00
Deepak Nibade
f430961408 drm/tegra: add T186 support to NVENC
Define nvenc_t186_config and nvenc_t186_ops for NVENC

Define .load_regs = nvenc_load_streamid_regs() for NVENC
streamid support.

Bug 1704301

Change-Id: I71efcfe4208568b5e4cbc463444d7d4a6ccfb96c
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1026451
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 09:18:59 +00:00
Deepak Nibade
27cb8a37fc drm/tegra: add T186 support to VIC
Define vic_t186_config and vic_t186_ops for VIC

Define .load_regs = vic_load_streamid_regs() for VIC
streamid support

Bug 1704301

Change-Id: Ib364c773c6c340c30e2644ef0baca500d89de55c
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1023439
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 09:18:59 +00:00
Laxman Dewangan
969bd376ed drm: Remove dummy Makefile
Preparing the drm/tegra folder for integrating the
drivers of drm from kernel/nvidia.

Change-Id: Ia15d4e31d951f7c04dd17f189106032146f47f6d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-03 09:17:32 +00:00
Mikko Perttunen
0898aa355a gpu: host1x-fence: Multiple triggers for pollfd
Allow multiple simultaneous triggers for pollfd, as is
required by CUDA.

Bug 3960834
Bug 4011607
Jira HOSTX-4670

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I69479551f5f56cfb565699123ced35d844423703
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2872368
Reviewed-by: Santosh BS <santoshb@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-03-22 18:53:57 -07:00
Jon Hunter
ee4413e974 gpu: host1x-fence: Fix build for Linux v6.2
Upstream Linux kernel commit ff62b8e6588f ("driver core: make struct
class.devnode() take a const *") updated the 'devnode' function pointer
under the class structure to take a const device struct. This breaks
building the Tegra host1x-fence driver with Linux v6.2. Make the
necessary changes to the host1x-fence driver to fix the build breakage.

Bug 3936429

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Change-Id: Ia7abb62424c9532342a16ca7b5e8470e96b91d25
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2841034
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-01-11 11:26:51 -08:00
Mikko Perttunen
e2b55e1a2c gpu: host1x-fence: Add Tegra234 compatible string
To allow detection of host1x instances on Tegra234, add the
corresponding compatible string.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: Idf3259403793faeedd467e3b3fd012acb468e608
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2823261
Reviewed-by: Deepak Kumar Badgaiyan <dbadgaiyan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Deepak Kumar Badgaiyan <dbadgaiyan@nvidia.com>
2022-12-12 15:06:29 -08:00
Mikko Perttunen
f4a3e6b49a gpu: host1x-fence: Add pollfd support
Add support for pollfds, which are essentially file descriptors
with SYNC_FILE polling characteristics but that can have new
fences assigned to after the previous expires.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I6471720089041d3cc72dfaf2d1de221d80d28c27
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2806032
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-24 18:08:56 -08:00
Mikko Perttunen
6da4ac36e6 gpu: host1x-fence: Adapt for change in host1x_fence_create
Add 'true' parameter to enable internal timeout since there is no
external cancellation mechanism.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I6ff40e7a38a6273cfa4ee07c2a347636f5f0ecc5
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2786639
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-27 11:55:13 -07:00
Jon Hunter
4c27f460dd nvidia: oot: Fix include paths
When building NVGPU and Host1x-Nvhost driver as OOT modules it is not
necessary to copy the host1x-next.h and nvmap_exports.h header files
because these headers files are already present in the source
repository. Fix this by updating the include paths used for building
these drivers and remove the copy of these headers.

Bug 3817518

Change-Id: I0084055a27d3547642c034546a4b7192e8da52e6
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785906
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-07 03:09:59 -07:00
Mikko Perttunen
5b33382ce2 gpu: Add host1x-fence driver
Add driver for implementing an UAPI for conversion between
SYNC_FILE FDs and raw syncpoint ID / value pairs.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Change-Id: I54e30877f782e3e67ca91e09589d0c4862a257cd
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2729238
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-07-05 14:30:11 -07:00
Laxman Dewangan
32987b224a nvgpu: Copy source file from kernel/nvgpu to build nvgpu module
Copy the sources of nvgpu module from kernel/nvgpu to
kernel/nvidia-oot to build nvgpu as OOT module.

Files get copied at build time.

Change-Id: I4053685edd5e3f8cec6e16aefb183a13c6210d0e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2718331
GVS: Gerrit_Virtual_Submit
2022-05-28 18:05:29 -07:00
Laxman Dewangan
53115452ad drm: Copy source file from kernel/nvidia to build drm module
Copy the sources of drm module from kernel/nvidia to
kernel/nvidia-oot to build drm as OOT module.

Files get copied at build time.

Bug 3583645

Change-Id: I1f63c834368f178b36e9935a5bd5d8db77d10c60
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2718332
GVS: Gerrit_Virtual_Submit
2022-05-27 15:49:33 -07:00
Laxman Dewangan
b2bf35ce6d host1x-nvhost: Copy source file from kernel/nvidia to build host1x-nvhost module
Copy the sources of host1x-nvhost module from kernel/nvidia to
kernel/nvidia-oot to build host1x-nvhost as OOT module.

Files get copied at build time.

Change-Id: I86a8757d9beb3e760fbaef85ccf46974d1bbc303
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2715739
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-05-25 05:01:46 -07:00
Laxman Dewangan
f77fc4cdef host1x: Copy source file from kernel/nvidia to build host1x module
Copy the sources of host1x module from kernel/nvidia to
kernel/nvidia-oot to build host1x as OOT module.

Files get copied at build time.

Change-Id: Iecd491630b8296f1da8f543003b26c2be8f62db5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2715738
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-05-25 05:01:42 -07:00