Commit Graph

2890 Commits

Author SHA1 Message Date
Laxman Dewangan
4f365f1336 kernel-src-copy: Remove copy of podgov and nvsciipc header
The drivers of podgov and headers of nvsciipc are
integrated from kernel/nvidia to kernel/nvidia-oot.
Hence, it is not required to do copy of the driver
during build time.

Bug 4038415

Change-Id: If368324bdbac8b2d67e05a167cb43bf0a6e89787
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2884651
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-08 05:56:32 -07:00
Gerrit Code Review
23e30b6908 Merge "nvsciipc: Merge headers from kernel/nvidia to kernel/nvidia-oot" into dev-main 2023-04-07 16:46:03 -07:00
Laxman Dewangan
013ae1a966 hwmon: Remove generic pwm tachometer
Remove HW monitor based generic PWM tachometer
driver as it is not required.

Along with driver, remove DT binding document and
dkms entry.

Bug 4061216

Change-Id: I28e1bf9d5223ad7f56332d90501ea7ddb55cd366
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2883862
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-07 00:12:26 -07:00
Laxman Dewangan
ed630178bb kernel-src-copy: Remove copy of tsec, drm
The drivers of tsec and drm are integrated from
kernel/nvidia to kernel/nvidia-oot. Hence, it is
not required to do copy of the driver during build
time.

Remove the copy of these drivers.

Bug 4038415

Change-Id: I60e3c7511bf18a9ecb2ce99a74754495cc009c0b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2883711
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-07 00:12:04 -07:00
Gerrit Code Review
44e857807a Merge "podgov: Merge podgov driver from kernel/nvidia to kernel/nvidia-oot" into dev-main 2023-04-07 00:11:31 -07:00
Laxman Dewangan
99b7173c94 nvsciipc: Merge headers from kernel/nvidia to kernel/nvidia-oot
Merge all nvsciipc headers required for the nvsciipc drivers from
kerne/nvidia to kernel/nvidia-oot to get rid of kernel/nvidia repo.

Merge remote-tracking branch
	'origin/dev/ldewangan/nvidia-nvsciipc-header-dev-main'
   into
	nvidia-oot-nvsciipc-header-dev-main

Bug 4038415

Change-Id: Ib0414977f650161cb32995d95192783086222146
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-07 05:43:24 +00:00
Simon Je
c6efef8f74 drivers: misc: Fix license in nvscierror.h
It is updated to be compatible with GPL license.

bug 3871403

Change-Id: I5a6a05b405d8eaa166d0f83d287fccc443a91115
Signed-off-by: Simon Je <sje@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2828259
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-07 05:31:26 +00:00
Joshua Cha
efcc11fc9c misc: nvsciipc: add get vmid cmd
Bug 3813532

Change-Id: I4caa286d4aff5f9d4361b1b34da9bf3257275add
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2787605
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Simon Je <sje@nvidia.com>
Reviewed-by: Kurt Yi <kyi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-07 05:31:26 +00:00
Joshua Cha
9766afdf51 misc: nvsciipc: support Inter-VM in auth APIs
1) nvsciipc KMD
* use IVC KMD to query peer VMID (ivc_cdev_get_peer_vmid).
* Support Inter-VM in NvSciIpcEndpointMapVuid().
* Added debugging ioctl cmds to debug in userspace level
- validate auth token
- map vuid
* Add peer_vmid to config entry and endpoint DB.
* Add IOCTL_GET_DB_SIZE cmd to return DB entry count

2) IVC KMD (ivc-cdev)
* Add ivc_cdev_get_peer_vmid() to return peer_vmid of qid.
* Add IOCTL_GET_VMID to return guest VM ID

JIRA NVIPC-390
JIRA NVIPC-394

Change-Id: I14634fd2d17c4a28b09b9a3f9f2d42c9169e0dfb
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2766220
Reviewed-by: Simon Je <sje@nvidia.com>
Reviewed-by: Kurt Yi <kyi@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-07 05:31:26 +00:00
joshuac
ef59a0da4d misc: nvsciipc: update to support x86 build
Added missing fs.h to fix build error.
Added debug info for root user only.
Added alternative header path for x86 build.
Fixed NvSciIpcEndpointMapVuid() API.
remove mutex except for SET_DB IOCTL (lockless for read operation).
Added more ioctl commands.
 - NVSCIIPC_IOCTL_GET_DB_BY_NAME
 - NVSCIIPC_IOCTL_GET_DB_BY_VUID

JIRA NVIPC-227

Change-Id: I95fc6f9fff36c9c1df999b11109236b1b3481d62
Signed-off-by: joshuac <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2755193
Reviewed-by: Kurt Yi <kyi@nvidia.com>
GVS: Gerrit_Virtual_Submit
2023-04-07 05:31:26 +00:00
Suresh Venkatachalam
dadb881df5 misc: nvsciipc: increase endpt name max size to 64
Increase the endpoint name max size from 32 to 64
Increase the devname  max size from 32 to 64

Bug 3437754

Change-Id: Iaa0eef040fe8ad1ebca7309c0abd94a80f5fe42e
Signed-off-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2641680
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
2023-04-07 05:31:26 +00:00
Abhijit
51ef39c2ab drivers: misc: Add nvsciipc kernel module
This patch adds nvsciipc kernel driver. At present its only use is to
support NvSciIpc secure buffer sharing use case across processes.

JIRA ESLC-4105

Change-Id: Ib2889d7c0c7a3928ad1e84c8dd58f3aa287c6185
Signed-off-by: Abhijit <abhijit@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2146877
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
Reviewed-by: Puneet Saxena <puneets@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-07 05:31:26 +00:00
Manish Bhardwaj
364ae3ed23 mttcan: wait to flush CAN messages
Using this patch we are waiting for CAN messages
to get flushed before going to suspend during
sc7 cycle

JIRA ESLC-7354

Change-Id: Ie368fd9e6b119df71646bf5fddbd89ae2f7c5697
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881872
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-06 10:16:08 -07:00
Gerrit Code Review
96d1f511c7 Merge "tsec: Merge the tsec driver from kernel/nvidia to kernel/nvidia-oot" into dev-main 2023-04-06 00:43:21 -07:00
Laxman Dewangan
0562f9cf1a kernel-src-copy: Remove copy of host1x, host1x-nvhost, tegra_gr_comm
The drivers of  host1x, host1x-nvhost, tegra_gr_comm are
integrated from kernel/nvidia to kernel/nvidia-oot. Hence,
it is not required to do copy of the driver during build
time.

Remove the copy of these drivers.

Bug 4038415

Change-Id: I94934e09835bad48a551109d9a68a2810b3b3209
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882789
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-06 00:43:12 -07:00
Laxman Dewangan
9670f38765 include: nvhost: Add nvhost header file
Add nvhost header file include/linux/nvhost.h
copied from the kernel/nvidia as part of removing
nvidia-oot dependency on the kernel/nvidia.

Bug 4038415

Change-Id: I758f95f1295507ed57d89ea13d67877de6bf9bce
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882788
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-06 00:43:08 -07:00
Ankur Pawar
2a2ce69017 media: add imx318 sensor driver
Add imx318 camera sensor driver code,
mode tables and makefile changes.

Bug 3583587

Change-Id: I9854909823b67856edc50c2364e519e853134178
Signed-off-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870729
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Shubham Chandra <shubhamc@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-06 00:42:04 -07:00
Ankur Pawar
4ae4b2d2b2 camera: oot: use reg number as channel id
When parsing sensor DT, use vi input endpoint reg
number as chan id. And allocate as many tegra_mc_vi
objects as vi input endpoints.

Remove port index assignment when creating graph.
This can cause issue when csi port index is more
than MAX_NVCSI_STREAM_IDS(6).

Bug 3583587

Change-Id: Ida0b83797678dd7ecea2732d715dce0f1d3222ad
Signed-off-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2874225
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Semi Malinen <smalinen@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-05 23:02:44 -07:00
Gerrit Code Review
0260612296 Merge "drm: Integrate drm drivers from kernel/nvidia to kernel/nvidia-oot" into dev-main 2023-04-05 06:05:18 -07:00
Jon Hunter
06b833d570 block: virt-storage: tegra: Fix build for Linux v5.14
For Linux v5.14, the function device_add_disk() has a void return type
and compilation now fails with ...

 nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:1162:8:
 error: invalid use of void expression
  1162 |  (void)!device_add_disk(vblkdev->device, vblkdev->gd, NULL);
       |        ^

Fix the build for kernels prior to v5.15 by not attempting to  access
the return value. Finally, for kernels v5.15 and newer, do not ignore
the return value and report an error if device_add_disk() fails.

Bug 4052299

Change-Id: I975f30bc67661eacf74634b5edb70e5ad5fc1a8d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881453
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-05 06:05:05 -07:00
Sushil Kumar Singh
a986d91aa3 nvethernet: Kernel panic when set jumbo frame
Issue:
Macsec data is NULL for Xavier platforms as no DT macsec
entry is available. This NULL pointer is accessed when
changing MTU, causing kernel panic.

[  110.247070] Unable to handle kernel NULL pointer dereference at virtual address 000000000000015c
[  110.247292] Mem abort info:
[  110.247355]   ESR = 0x96000004
[  110.247423]   EC = 0x25: DABT (current EL), IL = 32 bits
[  110.247534]   SET = 0, FnV = 0
[  110.247616]   EA = 0, S1PTW = 0
[  110.247682] Data abort info:
[  110.247743]   ISV = 0, ISS = 0x00000004
[  110.247823]   CM = 0, WnR = 0
[  110.247889] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010a201000
[  110.248031] [000000000000015c] pgd=0000000000000000, p4d=0000000000000000
[  110.248176] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[  110.248295] Modules linked in:
[  110.248379] CPU: 2 PID: 1423 Comm: ifconfig Not tainted 5.10.120-tegra #11
[  110.248525] Hardware name: Unknown Jetson-AGX/Jetson-AGX, BIOS 0.0-ff9214ce 12/20/2022
[  110.248690] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[  110.249074] pc : ether_change_mtu+0x144/0x220
[  110.249381] lr : ether_change_mtu+0x140/0x220
[  110.250528] sp : ffff800014b1b470
[  110.253853] x29: ffff800014b1b470 x28: ffff0318c9632d00
[  110.259366] x27: ffffb376aafb0978 x26: ffffb376aafb0948
[  110.264636] x25: ffffb376ab3b3aa0 x24: ffffb376abf7edd8
[  110.269870] x23: ffff0318c9632d00 x22: ffffb376abeb97d8
[  110.275569] x21: ffff0318c5dc0940 x20: 0000000000002328
[  110.280806] x19: ffff0318c5dc0000 x18: 0000000000000010
[  110.286401] x17: 0000000000000000 x16: ffffb376aa327910
[  110.291581] x15: ffff0318c9633270 x14: ffffffffffffffff
[  110.297166] x13: ffff800094b1b167 x12: ffff800014b1b16f
[  110.302500] x11: 0000000000000020 x10: ffffb376abbb0aa0
[  110.307770] x9 : ffffb376a9ccba7c x8 : 0000000000000001
[  110.313439] x7 : 0000000000017fe8 x6 : c0000000ffffefff
[  110.318605] x5 : ffff031c3fd60958 x4 : 0000000000000000
[  110.324305] x3 : 0000000000000001 x2 : 0000000000000000
[  110.329369] x1 : 0000000000000000 x0 : 0000000000000000
[  110.334706] Call trace:
[  110.337416]  ether_change_mtu+0x144/0x220
[  110.341187]  dev_set_mtu_ext+0xe8/0x1d0
[  110.345121]  dev_set_mtu+0x44/0xb0
[  110.348616]  dev_ifsioc+0x254/0x4d0
[  110.352115]  dev_ioctl+0x128/0x380
[  110.355270]  sock_do_ioctl+0xd4/0x240
[  110.359027]  sock_ioctl+0x27c/0x510
[  110.362530]  __arm64_sys_ioctl+0xb8/0x100
[  110.366731]  el0_svc_common.constprop.0+0x80/0x1f0
[  110.371540]  do_el0_svc+0x2c/0x90
[  110.374522]  el0_svc+0x20/0x40
[  110.377943]  el0_sync_handler+0xc0/0xd0
[  110.381689]  el0_sync+0x184/0x1c0
[  110.384931] Code: b900e714 5281ef42 941a98a4 f94312a0 (b9415c00)
[  110.390801] ---[ end trace cbec9c44e214f14b ]---
[  110.395602] Kernel panic - not syncing: Oops: Fatal exception
[  110.400962] SMP: stopping secondary CPUs
[  110.404718] Kernel Offset: 0x337699bb0000 from 0xffff800010000000
[  110.410752] PHYS_OFFSET: 0xfffffce840000000
[  110.414945] CPU features: 0x18240002,03802a30
[  110.419490] Memory Limit: none
[  110.422645] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---

Fix:
Add NULL check for macsec data. Macsec is set to NULL if it is not
supported in DT from macsec probe.

Bug 3952134

Change-Id: I0b292e39f3ec8f8fed0fb3fef5cd9f52f5c0e2a9
Signed-off-by: Sushil Kumar Singh <sushilkumars@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2846676
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2878453
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-05 06:01:49 -07:00
Manish Bhardwaj
ac315cf5ad nvvse: Enable Multipart/Singlepart UserNonce
crypto: hvvse: UserNonce enable for CBC/CTR

- Using SE server for CBC mode
- Updating counter for CTR mode
- Copying IV to userspace from kernelspace only for non userNonce

Jira ESSS-467

crypto: Support Multipart CBC/CTR

- Updated update_counter function
- Added support for mulitpart CBC/CTR

Jira ESSS-525

Signed-off-by: Advaya Andhare <aandhare@nvidia.com>
Change-Id: I3a85f510d28a6bd26b4b6b5b216c2659ec4052c6
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2874482
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-05 05:59:35 -07:00
Mohan Kumar
e2e48eebb6 ASoC: tegra: Migrate to upstream ICC
Migrate the ahub bandwidth management driver to align with upstream
ICC apis.

Bug 3997304

Change-Id: Ifaf25030b8cc4f467cdc737e034e0215413acf38
Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2873866
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: Sumit Gupta <sumitg@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-05 05:59:25 -07:00
Laxman Dewangan
d146273031 podgov: Merge podgov driver from kernel/nvidia to kernel/nvidia-oot
Merge all the history of podgov driver from kernel/nvidia to
kernel/nvidia-oot to get rid of kernel/nvidia for OOT drivers.

Merge remote-tracking branch 'origin/dev/ldewangan/nvidia-podgov-dev-main' into nvidia-oot-podgov-dev-main

Change log are:
	a48408903 devfreq: pod v2: Add support for Linux v6.3
	533399ed4 devfreq: pod v2: Add support for Linux v6.2
	64c5dd4de devfreq: wmark: active: add wmark margin attrs
	dac541822 devfreq: pod v2: Add support for Linux v6.1
	45b486353 devfreq: pod v2: Add support for Linux v6.0
	0f5fa7538 devfreq: pod v2: Add support for Linux v5.19
	7ab0296e0 devfreq: Enable module build for OOT
	dbada9fa1 drivers: devfreq: Fix CERT-C Violations
	b24019936 devfreq: pod v2: build as ext module for kstable
	c5478eb1d devfreq: wmark: active: add trace log
	2834d2183 video: tegra: host Register PDs before drivers
	408295020 devfreq: wmark: active: set interrupt_driven
	14f26892e devfreq: introduce DEVFREQ_GOV_POD_SCALING_V2
	53da44c75 podgov: Clear history and set freq before suspend
	9f1caf010 devfreq: wmark: active: config params by sysfs
	428c30559 devfreq: wmark: active: introduce freq_boost_en knob
	ad17c22a3 video: tegra: host: update T186 VIC actmon driver
	79ce3f6aa devfreq: recent high as a scaling factor
	4080e458d devfreq: podgov: use cycles/sec to estimate load
	0f2fe9c3e devfreq: add core kernel directory to include path
	39d5a4f8e video: tegra: host: podgov: add trace events
	de9df1f6c devfreq: add Makefile and Kconfig for Nvidia governors
	4eaf77da2 devfreq: wmark: active: add GPL module license
	11a2d1a24 Fix include paths for in-tree builds
	fd6458bae devfreq: stop podgov polling when disabled through sysfs
	c479079b0 devfreq: Clean up podgov parameter initialization
	23835ef96 devfreq: Use devfreq timers for podgov
	f3c01ef1b devfreq: don't set last_scale for same freq
	9a955a070 devfreq: tegra: use soc/tegra/chip-id.h for soc header
	643e69a1c devfreq: remove throughput hints from podgov
	80dca368b devfreq: set current freq in case no change required
	985df8785 devfreq: remove FREQ_DONTSCALE return if same freq
	b6ea64687 devfreq: wmark: fix compilation on kernel 4.4
	c00e68510 devfreq: wmark: active: init average target freq
	559e2351a devfreq: Improvements watermark active policy
	0cf8ae932 devfreq: Improve wmark_active initialization
	6c7bf5d6b devfreq: Add Active Watermark governor
	bc031add8 devfreq: Add debugfs interface to simple watermark
	831d08cdc devfreq: Rename watermark governor
	622eede67 devfreq: governor_pod_scaling: Fix build errors
	4ade76010 devfreq: compare previous_freq only if podgov disabled
	897ce797c devfreq: get dev status after checking if scaling is enabled
	7a5aeae4f devfreq: tegra: add support for t18x
	d15333eb7 video: tegra: host: move pod_scaling.c

Bug 4038415

Change-Id: I390d9f5dfbda8ed21cdd66fd3b977ed6a068ab60
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-05 07:45:21 +00:00
Laxman Dewangan
c7d4d8f136 tsec: Merge the tsec driver from kernel/nvidia to kernel/nvidia-oot
Merge all the history of tsec driver from kernel/nvidia to
kernel/nvidia-oot to get rid of kernel/nvidia for OOT drivers.

Merge remote-tracking branch 'origin/dev/ldewangan/nvidia-tsec-dev-main' into nvidia-oot-tsec-dev-main

Change log:

	11a2230e3 tsec: use correct struct in tsec_of_match
	65b5496fa video: tegra: tsec: fix static analysis issues
	20d55b179 tsec: Conditionally turn off clock in suspend
	9897754e2 video: tegra: tsec: Coverity fix
	66d070383 video: tsec: Add support to alloc GSC memory
	791ff3eba video: tegra: tsec: Launch threaded handler only for SWGEN0
	b52c828d1 video: tegra: tsec: Remove TSEC_RM_ON_DCE
	77dc36500 video: tegra: tsec: add api to clear init callback
	b00798044 drivers: tsec: use already exported cache API
	2d212bce4 video: tegra: Add T239 support in new TSEC driver
	d5768ade6 video: tegra: tsec: Fix build for Linux v5.14
	0a219e1b4 video: tegra: tsec: changes to compile for k5.15
	c7dce4b1f video: tegra: add tsec driver

Bug 4038415

Change-Id: I578e1599ee46f4bbee55b650c7826c960dd6ca7d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-05 07:38:27 +00:00
Laxman Dewangan
7f8cad749d gpu: nvgpu: Remove dummy Makefile of nvgpu
nvgpu is getting build from kernel/nvgpu and it is
not required to copy in nvidia-oot.

Remove the dummy makefile which was added as placeholder
for the nvgpu makefile.

Bug 4038415

Change-Id: I3fa6945a94c0f2233b55ec19d21ec4a92f715fde
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882139
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 21:58:16 -07:00
Revanth Kumar Uppala
80336d6c96 nvethernet: Fix compilation warnings
1.There is a switch-case where one case is falling to the
next case. This is creating the compilation warning.
Make this fall through as intentional by adding
compiler attribute as "fallthrough".

2.Remove redefinition of macro MII_ADDR_C45

Bug 4055275

Change-Id: I99193b225e97c414588bb306cb48e472ae079f9f
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2882027
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 21:57:46 -07:00
Gerrit Code Review
e257be9884 Merge "tegra_gr_comm: Integrate drivers from kernel/nvidia" into dev-main 2023-04-04 21:57:24 -07:00
Mobile Promotions
f32cb60c46 Merge branch 'promotion_rebase' into promotion_build 2023-04-04 21:57:04 -07:00
Gerrit Code Review
197d2ed9eb Merge "host1x-nvhost: Integrate host1x-nvhost drivers from kernel/nvidia" into dev-main 2023-04-04 21:56:39 -07:00
Gerrit Code Review
730764c558 Merge "host1x: Integrate host1x drivers from kernel/nvidia to kernel/nvidia-oot" into dev-main 2023-04-04 21:56:33 -07:00
Laxman Dewangan
cf15a1f3df i2c: buses: nvvrs11: Copy driver from kernel/nvidia
Make the copy of drivers of i2c/busses/i2c-nvvrs11
from kernel/nvidia to kernel/nvidia-oot.
This will remove the dependency of the OOT drivers
with kernel/nvidia-oot repo.

Bug 4038415

Change-Id: I3353f2744915763c3e5f14164746fc540cd585dc
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881573
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 21:56:16 -07:00
Nagarjuna Kristam
0221df9441 PCI: edma: Fix Coverity Issues
Perform ULL typecast during total size calculation for numerics.

Bug 3956683

Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Change-Id: Id9671dc37ff8747a6390063cc92a038e355990cc
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2881281
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 21:54:45 -07:00
Mohan Thadikamalla
01d8319aae nvethernet: Add Linux safety support
Issue:
Observed compilation issues
on the nvethernet driver
for DRIVE Linux safety builds.

Fix:
Add OSI_STRIPPED_LIB support
on nvethernet driver.

Bug 3939603

Change-Id: Id4213c1cf33dc0e925df3e627072b727ae44fa71
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2842470
(cherry picked from commit ece0eb57a89396ea8bdc412beeaa7dfabbda49b1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2879701
Tested-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 21:49:37 -07:00
Akhilesh Reddy Khumbum
a2163680aa nvidia-oot: Add aon kmd module
- This patch includes AON-KMD module as part of OOT kernel.

Bug 3583580

Change-Id: I531731136189d76ebb4d3f2880e8f46913f390f4
Signed-off-by: Akhilesh Khumbum <akhumbum@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870990
Reviewed-by: Robert Collins <rcollins@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 21:43:50 -07:00
Manikanta Maddireddy
6afc085f93 PCI: Create a empty Makefile as a placeholder
Create a empty Makefile as a placeholder to copy priviate SoC PCIe driver.

Bug 4000789

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Change-Id: I38a900eacb8ada86b387e01bb4bfe7f40d08043b
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870780
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 21:43:45 -07:00
Mayuresh Kulkarni
6e2882db16 tsec: use correct struct in tsec_of_match
bug 3817626

Change-Id: I98d1e5b63a68abc25dee1fcff49c4b090d58b0d1
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2874293
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
6df40510f9 video: tegra: tsec: fix static analysis issues
Remove address space errors by casting properly. Also make variables
static if used within the same translation unit.

Bug 3528414

Change-Id: Id9d566f5b5c9594c69a1483d2945712e6c9f665c
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2835170
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 05:28:43 +00:00
Bharat Nihalani
78db0d7c41 tsec: Conditionally turn off clock in suspend
Problem:
=======
In current implementation of tsec_poweroff, tsec clock is getting
turned off unconditionally.

During suspend-resume operation, there is an issue in MB1 as
explained in bug 3796711 (comment 16). Due to this, when
tsec_poweroff function is called for second suspend operation,
tsec clock is turned off even when the power state variable
"pdata->power_on" is not set to true or 1.

This causes the following warning from clock driver highlighting
that tsec clock is already disabled.

<snip>
[  631.507596] tsec already disabled
[  631.507632] WARNING: CPU: 2 PID: 10535 at drivers/clk/clk.c:1216 clk_core_disable+0x2b4/0x340
[  631.507634] Modules linked in: ... <skipped these prints>
[  631.507714] CPU: 2 PID: 10535 Comm: systemd-sleep Tainted: G           OE     5.10.120-tegra #1
[  631.507716] Hardware name: Unknown t234-Orin-SLT-e2421-1099-e2425-1099/t234-Orin-SLT-e2421-1099-e2425-1099, BIOS buildbrain-gcid-32270834 01/05/2023
[  631.507718] pstate: 60400089 (nZCv daIf +PAN -UAO -TCO BTYPE=--)
[  631.507720] pc : clk_core_disable+0x2b4/0x340
[  631.507722] lr : clk_core_disable+0x2b4/0x340
[  631.507723] sp : ffff80001770b8e0
[  631.507724] x29: ffff80001770b8e0 x28: ffff000081f0d140
[  631.507727] x27: ffff000082345930 x26: ffff8000126b1ee0
[  631.507729] x25: ffff8000126b1f70 x24: ffff800010b75630
[  631.507731] x23: 0000000000000000 x22: ffff8000125f23f8
[  631.507734] x21: ffff8000125f2638 x20: ffff0000869aca00
[  631.507736] x19: ffff0000869aca00 x18: 0000000000000000
[  631.507738] x17: 0000000000000000 x16: ffff800011008460
[  631.507740] x15: 0000000000000000 x14: ffff000080990000
[  631.507742] x13: ffff80079c8dc000 x12: 0000000000000028
[  631.507745] x11: 0000000000000003 x10: 0101010101010101
[  631.507747] x9 : 00000000fffffffe x8 : ffff8000128c2dd8
[  631.507749] x7 : 0000000000000004 x6 : ffff8000128d1e4d
[  631.507751] x5 : ffff0007ae6d8a28 x4 : 0000000100011117
[  631.507754] x3 : 0000000000000001 x2 : ffff0007ae6d8a30
[  631.507756] x1 : 0000000000000000 x0 : 0000000000000000
[  631.507758] Call trace:
[  631.507760]  clk_core_disable+0x2b4/0x340
[  631.507763]  clk_core_disable_lock+0x2c/0x50
[  631.507765]  clk_disable+0x30/0x50
[  631.507769]  tsec_disable_clk+0x4c/0x80
[  631.507771]  tsec_poweroff+0x3c/0x80
[  631.507772]  tsec_module_suspend+0x24/0x40
[  631.507776]  platform_pm_suspend+0x40/0xb0
[  631.507780]  dpm_run_callback+0x60/0x260
[  631.507783]  __device_suspend+0x130/0x560
[  631.507785]  dpm_suspend+0x158/0x390
[  631.507787]  dpm_suspend_start+0xc0/0xf0
[  631.507794]  suspend_devices_and_enter+0x100/0x9f0
[  631.507796]  pm_suspend+0x21c/0x4a0
[  631.507798]  state_store+0xa0/0xd0
[  631.507802]  kobj_attr_store+0x14/0x50
[  631.507806]  sysfs_kf_write+0x60/0x90
[  631.507808]  kernfs_fop_write_iter+0x134/0x1e0
[  631.507811]  new_sync_write+0xfc/0x1d0
[  631.507813]  vfs_write+0x26c/0x3b0
[  631.507815]  ksys_write+0x7c/0x110
[  631.507817]  __arm64_sys_write+0x28/0x40
</snip>

Solution:
========

There is a check present in tsec_poweroff function to conditionally
call tsec_prepare_poweroff only if TSEC is powered on. Use the
same check to conditionally call tsec_disable_clk

Bug 3930482
Bug 3893914

Change-Id: Id1f6a8e42f43db4dd91ef4f6ae39166c13f1ba8f
Signed-off-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2838694
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Nikesh Oswal <noswal@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
e15295fcea video: tegra: tsec: Coverity fix
Fix Coverity issue CID 10164610
Initialize values to NULL to avoid uninitialized pointer error.

Bug 3461002

Change-Id: Ia1205b09f418c3aa3b9b4e457b944cb71d8c927a
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2836048
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
f76b77ab85 video: tsec: Add support to alloc GSC memory
For larger commands that do not fit into the
CMD Queue we pass additional parameters and
buffer by using the GSC. DisplayRM uses the
GSC allocation APIs to reserve memory for
such large command parameters.

Bug 3920791

Change-Id: I7a2a9821d32e1a89726cf3fb53cd5647eccbadd7
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2834319
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
83576bbd5d video: tegra: tsec: Launch threaded handler only for SWGEN0
Launch threaded handler to drain TSEC messages only for
SWGEN0 interrupt.

If SWGEN1 interrupt is received to pull out print buffer
then ignore it and mask it out so that it is not received
in future

Bug 3897473

Change-Id: I16e2d442ba77141286171f69114ecf309d411ec7
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2822539
Tested-by: Sahil Patki <spatki@nvidia.com>
Reviewed-by: Sahil Patki <spatki@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
be91d1bd18 video: tegra: tsec: Remove TSEC_RM_ON_DCE
TSEC IPC GSC-CO Permissions have been modified to allow
access to CCPLEX as well, so we no longer need the flag
TSEC_RM_ON_DCE and now CCPLEX and DCE both can access
the GSC-CO memory for IPC with TSEC

Bug 3817626

Change-Id: Ifb60d508327a5939efb64b27e200933cd15e680e
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2818915
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
096b94b3db video: tegra: tsec: add api to clear init callback
DisplayRm when it unloads will call an API on the tsec
driver to clear the previously registered init message
callback

Bug 3817626

Change-Id: I7d5bd16b3d1040f11d1a85bc2439176002c5a57b
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2818914
Reviewed-by: Sahil Patki <spatki@nvidia.com>
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: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
5889401827 drivers: tsec: use already exported cache API
Earlier we modified the kernel to expose a low level
cache API namely dcache_clean_inval_poc, instead we
can use the already exported arch_invalidate_pmem API
and for ARM invlidating the cache is same as clean
and invalidate

Bug 3817626

Change-Id: Ideb29f2818aece98753aaa40242eaf1246c928cb
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2801851
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Sahil Mukund Patki
4de7c8f6d0 video: tegra: Add T239 support in new TSEC driver
This patch adds T239 support in new TSEC driver and removes the
support from the old driver.

Bug 3817626

Change-Id: I705e0bac25e6a905588145aef4a4cc98d0a81651
Signed-off-by: Sahil Mukund Patki <spatki@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2800494
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Jon Hunter
7f6f9f5ff5 video: tegra: tsec: Fix build for Linux v5.14
When building the OOT driver for Linux v5.14 the build fails because the
TSEC driver is looking for the downstream tegra_mc.h header file. Fix
this by ensuring we use the upstream header starting with Linux v5.14.

Bug 3817626

Change-Id: Ifecad497349d357eafc6356beb1dee1e0f923ae1
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2798773
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Nikesh Oswal
31d2e5fff7 video: tegra: tsec: changes to compile for k5.15
This patch does changes needed in cache flush and
carevout related memory apis which are different
between k5.10 and k5.15.

Also Makefile is changed so that driver gets built
as module on k5.15 and as part of kernel image for
the older k5.10 kernel

Bug 3817626

Change-Id: I4050d41efc61353c34d32d347917e813473ba113
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2793274
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-04 05:28:43 +00:00
Nikesh Oswal
d1dc679881 video: tegra: add tsec driver
This driver is inspired from the existing tsec driver
under host1x but its highly simplified to use only
the stuff that is needed and is completely decoupled
from the host1x driver

Bug: 3817626

Change-Id: I8fff7ab539cd5393ea13896c3b056472ca0e0a72
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2785908
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-04 05:28:43 +00:00
Laxman Dewangan
02dd70d7b0 tsec: Remove makefile to prepare driver to integrate from kernel/nvidia
Remove Makefile from drivers/video/tegra/tsec to integrate
the drivers from kernel/nvidia. This will avoid conflict.

Bug 4038415

Change-Id: I43352ffe7e677c4388e9ec6799920d0c31fe247a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-04-04 05:27:11 +00:00