Commit Graph

22 Commits

Author SHA1 Message Date
Stephen Warren
40abcf46b7 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 12:36:25 +00:00
Stephen Warren
2b60a9ec66 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 12:36:25 +00:00
Ishan Mittal
b9a1518110 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 12:36:25 +00:00
Ishan Mittal
2f242453cd 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 12:36:25 +00:00
dmitry pervushin
440739938d 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 12:36:25 +00:00
Pritesh Raithatha
c7871478e1 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 12:36:25 +00:00
Deepak Nibade
6d83772d00 gpu: host1x: enable gather filter for T186
Bug 1704301

Change-Id: Id783a06f353ae4627103ac48ab903eefd9b2ec7b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029502
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 12:36:25 +00:00
Deepak Nibade
6bd4b830bf gpu: host1x: keep device powered on during submit
Get pm_runtime reference on device to keep device
powered on during submit

Bug 1704301

Change-Id: I71d4b4dc6317445bc3d1832ffd3bd4c7afadc654
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1029500
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 12:36:25 +00:00
Deepak Nibade
1859542c94 gpu: host1x: API to load streamid registers
Define host1x_dev_ops for T186

Add API load_streamid_regs() to load streamid registers
Set this API to host1x_dev_ops.load_regs so that we
set streamid registers during host1x_probe()

Add a static table which includes streamid mappings
for all the clients

Bug 1704301

Change-Id: I7aeefc43776472a7ccf868bfa18c810f3b80b52b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1023438
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 12:36:25 +00:00
Deepak Nibade
685eb2c8d2 gpu: host1x: add T186 support
Add host1x05 version and fill in the h/w details
in host1x05_info

Add all the hardware accessors for T186
(channel, sync, uclass accessors)

Add hardware support files for host1x channel,
syncpoints, cdma, pushbuffer, interrupt, and debug support

Keep gather filter disabled

Things working with this :
- cdma operations
- basic channel job submit path
- syncpoint support
- syncpoint interrupt mechanism
- debug dump

With this support, below tests pass for VIC client
$nvrm_channel channel_Basic
$nvrm_channel --module=vic

Bug 1704301

Change-Id: I7d97560cb1e3a57733fa0853936b0783c71b7060
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1021434
GVS: Gerrit_Virtual_Submit
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
2023-04-03 12:36:25 +00:00
Laxman Dewangan
7c1da7c4a9 host1x: Remove Makefile to prepare for host1x integration
host1x driver is available in the kernel/nvidia and to
integrate with git history, it is required to remove the
dummy Makefile.

Remove the dummy Makefile.

Bug 4038415

Change-Id: I335c298a235d1e7843bbee7aeb643a1120dfc714
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-03 12:34:31 +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