Commit Graph

1290 Commits

Author SHA1 Message Date
Jon Hunter
619afce1dc crypto: tegra: Fix unused variable warnings
Fix the unused variable warnings in the Tegra SE driver by removing the
unused 'err' variables.

Bug 3820317

Change-Id: I74b9ea6f34c48aeb41d11e0d4c093d52ddf058b6
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2792538
Reviewed-by: Akhil R <akhilrajeev@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-20 02:19:48 -07:00
Jon Hunter
d28e28c6fe spi: aurix: Fix build for Linux v5.18
The Aurix SPI driver fails to build with Linux v5.18 because the return
type of the remove function is not correct. This was previously fixed
for the Linux v5.19 build, but the change in the upstream kernel
actually occurred in Linux v5.18.

Bug 3820317

Change-Id: I2588fe33af6877c1c5c61a2a1d9195248066bbd1
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2792537
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-20 02:19:44 -07:00
Jon Hunter
fc8041ed6a scsi: ufs: Fix build for Linux v5.16
When building the UFS driver for Linux v5.16 some header files such as
keyslot-manager.h are not found and the build fails. Update the UFS
driver and reorganise the header files to fix the build for Linux v5.16.

Bug 3820317

Change-Id: I10eea40411369e4c5d6809086bb1c35628c0bbad
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2791963
Reviewed-by: Kartik . <kkartik@nvidia.com>
Reviewed-by: Abhilash G <abhilashg@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-20 02:19:39 -07:00
Jon Hunter
a600207e7d pci: epf: Fix build for pre-v5.15 Linux kernels
Build the Tegra PCI EPF driver fails with Linux v5.14 because the
pci_epf_alloc/free_space() have the incorrect number of arguments.
The arguments to the pci_epf_alloc/free_space() functions were updated
in Linux v5.12 but the current Tegra PCI EPF driver assumes that they
were updating after Linux v5.14. Update the Tegra PCI EPF driver to
use the correct arguments for v5.12 onwards.

Bug 3820317

Change-Id: Ieba44bfc22e0f978a5ff227b6d07a6a56ad23f3b
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2791670
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-20 02:19:35 -07:00
Sameer Pujar
47b127bd17 ASoC: tegra: Fix build errors with kstable
Build errors seen in following contexts with kstable:

  - The 'non_legacy_dai_naming' flag is not available in struct
    'snd_soc_component_driver' in v6.0. Instead it is replaced
    with flag 'legacy_dai_naming' and default value works fine.
    To fix build error on kstable exclude the removed flag for
    kernel v6.0 onward.

  - Signature of snd_soc_card_jack_new() has changed in v5.19
    which drops struct 'snd_soc_jack_pins' related members. These
    were unused for Tegra and is safe to just update the funcion
    call. Fix this by using correct function signature based on
    kernel version checks.

With above fixed now, remove workaround from Makefile and enable
Audio OOT driver builds again with kstable.

Bug 3831575

Change-Id: I7b65c89e8140f6e085528fb827d47c3909233db1
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793430
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-19 11:57:01 -07:00
Dinesh T
6799b30ec7 dts: Add linux-cma node with 256MB for GPU requirements
This is adding a linux-cma node for supporting compression
for NVGPU and other contiguous memory requirements.

Bug 3793199

Change-Id: I7116d61b3a7d8b19e9948410c25661e9f7ea9ea9
Signed-off-by: Dinesh T <dt@nvidia.com>
Signed-off-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784952
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Akhil R <akhilrajeev@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-18 20:35:44 -07:00
Jon Hunter
b2486188b5 thermal: pex9749: Fix build for Linux v6.1
Upstream Linux commit f59ac19b7f44 ("thermal/of: Remove old OF code")
removes the structure "thermal_zone_of_device_ops" and function
devm_thermal_zone_of_sensor_register() which breaks building the pex9749
driver with Linux v6.1. Update the pex9749 driver as necessary to fix
building with Linux v6.1.

Bug 3831575

Change-Id: I88ed29142a7abab3f00e57f55d0a8b180a55779c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793518
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2022-10-18 11:24:51 -07:00
Jon Hunter
1733a8ddee pci: tegra: Fix build for Linux v6.1
Upstream Linux kernel commit f2042ed21da7 ("iommu/dma: Make header
private") made the header "linux/dma-iommu.h" a private header file and
so compiling the Tegra PCI EDMA driver for Linux v6.1-rc1 now fails
because this header is not found. On further review, instead of
including "linux/dma-iommu.h" it is only necessary to include
"linux/dma-mapping.h" instead.

Bug 3831575

Change-Id: I3552eca64071bba98bb322377d7c211e3c22e7b6
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793515
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2022-10-18 11:24:47 -07:00
Jon Hunter
5cfa3e3c3f net: Fix build for Linux v6.1
Upstream Linux kernel commit b48b89f9c189 ("net: drop the weight
argument from netif_napi_add") removes the weight argument from the
netif_napi_add() function and this is breaking the build of a few
drivers that use this function. Fix this by updating these drivers to
use the netif_napi_add_weight() function instead for Linux v6.1.

Bug 3831575

Change-Id: I5ab3c2380db75313f9226c68777e6245e9e9dad5
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793511
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-18 11:24:42 -07:00
Jon Hunter
3c38a2fe6f pwm: tachometer: Fix build for Linux v6.1
Upstream Linux kernel commit b88c48bfdd85 ("pwm: core: Get rid of unused
devm_of_pwm_get()") has removed the function devm_of_pwm_get() which
breaks building the Tegra PWM tachometer driver with Linux v6.1-rc1.
Fix this by updating the driver to use the function
devm_fwnode_pwm_get() instead.

Bug 3831575

Change-Id: I89def599312baa4d3b6b25b1275835233e942af0
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2793510
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-18 11:24:33 -07:00
Jon Hunter
5673301681 nvidia-oot: vblk: Enable building the vblk driver
Building the Tegra VBLK driver was disabled because it was failing to
build with the Linux v6.0 kernel. This has now been fixed and so
re-enable building this driver.

Bug 3831575

Change-Id: I335d38d76a7b69fe4ff4ea4a115076629fa0843d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2792551
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-18 11:22:09 -07:00
Mahesh Kumar
9fa1d2a6ee DTB: DCE : Add dce node to t234 soc overlay
This patch Adds DCE device-tree node to kernel overlay.

Bug 3583600

Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com>
Change-Id: I406e749a1fc882772c32876de3085300dc20b4f9
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2780392
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Arun Swain <arswain@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-18 05:16:53 -07:00
Mahesh Kumar
c0df447edb DCE FW: Add dce kmd module
This patch includes DCE-KMD module as part of OOT kernel.

Bug 3583600

Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com>
Change-Id: I665af488f6de07cfb7d3f44ff218b0fb75063acb
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2780391
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Arun Swain <arswain@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-18 05:16:49 -07:00
Jon Hunter
a9b9e01469 nvidia: oot: Simplify source copying
The script for building OOT modules has been updated to use rsync to
copy the necessary files for drivers outside of the linux-nv-oot
repository. This simplifies the script that copies the source and now
the update the kernel-src-files-copy-list.txt so that it simply contains
a list of source files and directories to copy.

Bug 3820317

Change-Id: I6295ba3c1f074a5e047cb5e00ca41db5366d411b
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2787176
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2022-10-12 12:03:00 -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
Shanker Donthineni
d12271255e nvidia-oot: disable offending drivers for v6.0
Some of the drivers from nvidia-oot are not compatible with v6.0
kernel API and data structure. Disable those drivers to unblock
the kstable-v6.0 release.

Revert this patch after fixing build issues with v6.0 kernel.

Bug 3767126

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
Change-Id: I6b1499c8e92213a3722c506cfbad66f724b6f14c
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2786883
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-07 02:51:32 -07:00
Manish Bhardwaj
ae365a0502 nvidia-oot: set the correct linux verison.
Using this patch we are setting the correct linux
version for which dts files are getting compiled.

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Icfd52c92145742debb5c38bd0303587ae11276b8
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2787581
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-06 17:27:16 -07:00
Johnny Liu
c33732f6ce dt-bindings: nvpmodel: add nvpmodel yaml file
Add "nvidia,nvpmodel-emc-cap" dt-bindings.

Bug 3779573

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: I1b1ddfb1a83c2e4d2d152b8772bddc8ff6cf97ad
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785838
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-06 17:22:21 -07:00
Manish Bhardwaj
27f17e56d1 crypto: sync crypto driver from kernel/nvidia
Using this patch we are pulling in the missing changes
from kernel/nvidia directory.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I9376e14971be0f4d40f759858fcc9db90a7b9d72
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785534
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-06 17:22:00 -07:00
Puneet Saxena
aa0b664723 drivers: tegra: make mc-hwpm module oot
Make mc-hwpm module oot. Below are the reasons why
making a fresh copy in nvdia-oot folder -
- hwpm is introduced from T234 onwards
- mc-hwpm is dependent on mc driver. nvidia-oot
uses upstream mc driver. Hence mc-hwpm should also
use upstream mc driver.
- Thats why porting changes needed in mc-hwpm driver
to be incompatible with upstream mc driver

Bug 3728991

Change-Id: I2d7347d968895e080fa79d100b4c50c094ced1e3
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2781118
Reviewed-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-06 17:21:03 -07:00
Johnny Liu
8442d5d299 drivers: nvpmodel: add support emc clock cap
Port the downstream nvpmodel driver to the OOT project.

The following items summarize the change:
- Original bwmgr APIs are removed
- Clock cap for other clocks except for EMC is removed since userspace
nvpmodel service will handle clock cap for other clocks

Bug 3779573

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Ib297dfed808dad03d1450860c24156da1a84b4ca
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2773538
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-06 17:20:16 -07:00
Manish Bhardwaj
bb37b5d666 nvidia-oot: fix mttcan driver compilaiton error.
Using this patch we are fixing below compilation
error of mttcan driver with stable kernel.

nvidia-oot/drivers/net/can/mttcan/native/m_ttcan_linux.c:620:3:
error: implicit declaration of function _can_led_event_
[-Werror=implicit-function-declaration]
can_led_event(dev, CAN_LED_EVENT_TX);

Bug 3767126

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ic7fa91a34b59f165ce689ad956f1c3779ef13f9a
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2787166
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-05 20:15:02 -07:00
Manish Bhardwaj
eda5ce0144 nvidia-oot: changes to fix compilation error
Using this patch we are fixing below compilaiton error
with stable kernel.
1. nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:936:16:
   error: implicit declaration of function ___alloc_disk_node_;
   vblkdev->gd = __alloc_disk_node(vblkdev->queue, NUMA_NO_NODE, NULL);
      |              ^
2. nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:1176:3:
   error: implicit declaration of function _blk_cleanup_queue_
   [-Werror=implicit-function-declaration]
   1176 |   blk_cleanup_queue(vblkdev->queue);
      |   ^~~~~~~~~~~~~~~~~

Bug 3767126

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Id0df2c15c42d4dcbae95f1ef33517d096bf96d06
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2787165
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-05 20:14:55 -07:00
Sameer Pujar
943cc4d854 arm64: tegra: Enable APE sound card
Enable APE sound card with following changes:

  - Add DAI link DTSI files and enable OOT machine driver.

  - Some of the AHUB drivers are present in v5.15, however
    these are not feature complete yet. Use OOT driver
    versions for now and enable these by using OOT specific
    compatibles.

  - ADSP is disabled for now as it is not required for L4T production
    releases. There are dependencies on AGIC and ADMA patches which
    are not yet upstreamed. This will be taken up when this becomes
    a requirement.

  - Add 'nvidia,ahub-i2s-id' property to I2S devices. Presently
    this is being used to identify I2S instances and thus add
    few mixer controls from machine driver.

Bug 3583581

Change-Id: I8ce7cab1997c6464d1b30fc19f840e11ed877b21
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774943
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-05 20:00:42 -07:00
Akhil R
55220a53b2 arm64: tegra: Correct the compatible for SE4
Correct the compatible for SE4 to fix SHA, CMAC and HMAC algorithm
failures.

Fixes: e819643f9a ("arm64: tegra: Add Security Engine device trees node")
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Change-Id: Idc189a7ab00a95e6b9fa97be78f98997a88e31a3
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2786119
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-04 13:30:48 -07:00
Akhil R
0b7732c7a4 crypto: tegra: Remove nvhost_module*() functions
Add alternative function to initialize clocks instead of
nvhost_module_init() to fix "failed to get reset" issue.

Also, remove other failing nvhost functions as the nvhost driver
exists only for backward compatibility.

Bug 3583641

Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Fixes: 198a0ba027 ("crypto: tegra: Add support for SE on host1x to OOT")
Change-Id: Id6a5ecf7900643b13518e1c9cf657aac99a6bd5d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2782949
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-04 13:30:42 -07:00
Manish Bhardwaj
93cab4cb90 nvidia-oot: fix dtb compilation error.
Using this patch we are fixing below compilation
error when adding support for virtualized dtbs.

/bin/sh: 1: [: /home/mbhardwaj/kernel_only/out/
embedded-linux-generic-release/nvidia/
kernel-rt_patches-nvidia-oot/nvidia-oot/device-tree/
platform//hardware/nvidia/platform/t23x/concord/kernel-dts/
tegra234-p3701-0000-p3737-0000.dtb: unexpected operator

Bug 3787936

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Id832d5481d0a7aa034017afbc4a778c75773b9f7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785363
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-04 05:21:10 -07:00
Manish Bhardwaj
f7b80313df nvidia: vblk: fix compilation error
in linux below patches remove the support for QUEUE_FLAG_DISCARD
and QUEUE_FLAG_SECERASE.
commit 70200574cc229f6ba038259e8142af2aa09e6976
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Apr 15 06:52:55 2022 +0200

    block: remove QUEUE_FLAG_DISCARD

    Just use a non-zero max_discard_sectors as an indicator for discard
    support, similar to what is done for write zeroes.

    The only places where needs special attention is the RAID5 driver,
    which must clear discard support for security reasons by default,
    even if the default stacking rules would allow for it.

commit 44abff2c0b970ae3d310b97617525dc01f248d7c
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Apr 15 06:52:57 2022 +0200

    block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARD

    Secure erase is a very different operation from discard in that it is
    a data integrity operation vs hint.  Fully split the limits and helper
    infrastructure to make the separation more clear.

we are fixing below compilation error using this patch.
nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:921:22:
error: ‘QUEUE_FLAG_DISCARD’ undeclared (first use in this function);
did you mean ‘QUEUE_FLAG_DEAD’?
  921 |   blk_queue_flag_set(QUEUE_FLAG_DISCARD, vblkdev->queue);
      |                      ^~~~~~~~~~~~~~~~~~
      |                      QUEUE_FLAG_DEAD
nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:921:22:
note: each undeclared identifier is reported only once for each function
it appears in nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c:928:23:
error: ‘QUEUE_FLAG_SECERASE’ undeclared (first use in this function);
did you mean ‘QUEUE_FLAG_NOMERGES’?
  928 |    blk_queue_flag_set(QUEUE_FLAG_SECERASE, vblkdev->queue);

Bug 3733730

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I47ad13be833fdd7ec7f0d2127699e28311fbeb83
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784741
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-04 05:19:21 -07:00
Manish Bhardwaj
272be41c99 nvidia: vblk: fix compilation error
in Linux v5.18 the following upstream commit removes
genhd.h and now only blkdev.h is needed.
commit 322cbb50de711814c42fb088f6d31901502c711a
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Jan 24 10:39:13 2022 +0100

    block: remove genhd.h

Using this change we are fixing below compilation
error while upgrading the stable kernel.
/dvs/git/dirty/git-master_linux/out/nvidia/kernel-nvidia-oot/
nvidia-oot/drivers/block/tegra_virt_storage/tegra_vblk.h:9:10:
fatal error: linux/genhd.h: No such file or directory
    9 | #include <linux/genhd.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.

Bug 3733730

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ib110b749ca48fed092fcadb9a6ab47d81cc25397
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784497
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-04 05:19:17 -07:00
Frank Chen
9ad6f3c84e media: camera: Build CDI as OOT module
Convert automotive CDI kernel driver to OOT module.

Jira CAMERASW-7592

Change-Id: Ib19ee594cc65f8041f6eba9aff7faefb753b771b
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2780572
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-10-04 05:17:35 -07:00
Manish Bhardwaj
0e0d2f2c07 nvidia-oot: add support for mttcan driver
Using this patch we are adding support for
mttcan driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: I83a6d43aa99278a546778cf1700e2bd106ec42a9
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785360
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-03 21:31:05 -07:00
Manish Bhardwaj
a2fdb986b0 nvidia-oot: add nvpps and ptp driver
Using this patch we are adding support for
ptp and nvpps driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Id47ac5602d11ce417f9d421b4f672578922ca94f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785318
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: David Tao <tehyut@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-03 21:31:01 -07:00
Manish Bhardwaj
77001d121e nvidia-oot: add support for hv_net driver
Using this patch we are adding support for
hv_net driver in oot kernel.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ie8f65c014ae1c01a8378f0016ea520a4d114f6d7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2785035
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-03 21:30:56 -07:00
Jon Hunter
fcd48dce70 nvidia: oot: Update files for host1x-nvhost driver
copy nvhost_t194.h

Bug 3768126

Change-Id: Ia9b302033f772df78ddb44fd328c68553c483edf
Signed-off-by: omar nemri <onemri@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2782267
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-03 04:12:05 -07:00
Laxman Dewangan
a6fd90fb31 ivc: Add wrapper header for ivc.h to avoid multiple inclusion
The ivc.h is not protected for multiple inclusion and so
it is generating error for multiple definition when included
from the source code.

Add wrapper header to protect the multiple inclusion of the ivc.h.

This will make the OOT driers to compile against all core kernel
which does not have proper ivc.h fix.

Change-Id: Ibe85da017d60f525b05d04cd6a5ea15c5b312057
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784877
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-02 02:39:17 -07:00
Manish Bhardwaj
1c7751c581 bpmp: add support for virtual bpmp driver
Using this patch we are adding support for
virtualised bpmp driver in nvidia-oot.

JIRA ESLC-6885

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ia863055082f64dfcafdbba114816c56af2e7f640
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2781331
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 11:09:33 -07:00
Timo Alho
b01a848777 [tegra-bpmp] create (partial) downstream fork of tegra-bpmp driver
Make a downstream fork of clock, reset, powergate, and debugfs parts
of tegra-bpmp driver by copying the respective files from mainline
Linux 5.19.11 (commit fcf22aefe87101424563a8dd8adec8a75b8c7576).

JIRA ESLC-6885

Signed-off-by: Timo Alho <talho@nvidia.com>
Change-Id: Ieae8e9f27325d84faf8adc5e8834ffe42ba5e696
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2782102
Tested-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 11:09:29 -07:00
Sameer Pujar
c4ab6f5a0e ASoC: tegra: Align with new device model
PEQ and MBDRC are sub blocks of OPE module. So far, these sub blocks
were not represented by separate device nodes in DT. This has changed
now where PEQ and MBDRC are children of OPE block. For now the driver
structure is maintained as it is and explicitly parse PEQ and MBDRC
nodes to create corresponding regmap interfaces. With this there is
flexibility now to create separate device drivers for PEQ and MBDRC
if necessary in future.

Bug 3583581

Change-Id: I16ceb9b1a30b4ddb1a57fdef28db20c554c58b03
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2783022
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:57 -07:00
Sameer Pujar
1e77ef2504 ASoC: tegra: Remove slave_id access
The struct 'snd_dmaengine_dai_dma_data' no more has 'slave_id'
member in newer kernels. This presently causes build failure
in GVS for 'linux-stable'.

Remove access to this member to fix build issue with OOT driver.
Also upstream ADMA driver does not depend on it anymore, so
commit 32de4745e20a ("dmaengine: tegra210-adma: Override ADMA FIFO
size") needs to be backported to avoid related functional issue.

Bug 3583581

Change-Id: Ib865bdc5d2b2ceb9d57511c3618e5fe607acab09
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2776075
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:52 -07:00
Sameer Pujar
11a70ecd46 ASoC: tegra: Update compatible names
Following drivers are upstreamed (and present in v5.15) but not yet
feature complete:

  tegra186_dspk.c
  tegra210_admaif.c
  tegra210_ahub.c
  tegra210_dmic.c
  tegra210_i2s.c

To use these drivers, device nodes in DT can use OOT specific
compatibles. Update compatibles in drivers to facilitate this.

Bug 3583581

Change-Id: I1a9e31fc5f1b2d2539f644a413ba0c06c6da2110
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774435
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:48 -07:00
Sameer Pujar
4103ed0a7e ASoC: tegra: Enable OOT drivers build
All build errors have been now addressed by previous commits in the
series. Now enable OOT drivers build. To do so, update top level
makefile to include drivers path and update the internal makefile
to build individual drivers.

Some of the AHUB drivers are already upstreamed and are part of
v5.15 core kernel. But presently the drivers are copied to provide
full feature set. To differentiate core modules from OOT modules
the *.ko files here use "oot" string.

Bug 3583581

Change-Id: I21d51c542ed4ed7dddf7cf8d8202ebc496049fff
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774434
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:43 -07:00
Sameer Pujar
cb024c2001 TEMP: ASoC: tegra: Disable ADMA register dump call
tegra_adma_dump_ch_reg() is implemented by downstream ADMA driver only
which is not upstreamed yet. This causes build error with Kernel OOT
because upstream ADMA driver is used. Disable this call temporarily
until future is decided for this helper.

Bug 3583581
Bug 3798682

Change-Id: Ifb625509fe8354e65f40d4047e4e80ef6a5e287f
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774433
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:38 -07:00
Sameer Pujar
f4e2af6f57 ASoC: tegra: Fix build error due to tegra186_ahc.h
Add config based header inclusion for AHC driver. The ASRC and ARAD
drivers are not POR for L4T releases and also AHC driver is not yet
up with Kernel OOT. For now, ensure ASRC and ARAD functionality
without dependency on AHC driver. Later if there is a requirement
test functionality with AHC module.

Bug 3583581

Change-Id: I5e586886ae91b1dcaa9e3aa945364dc21a23f281
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774432
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:34 -07:00
Sameer Pujar
c61527fb8f ASoC: tegra: remove superflous code
This is inspired from following upstream commit:

------------------------------------------------------------------------
  commit 189364872fba07291db7f68fe0161f97e5b61bb1
  Author: Takashi Iwai <tiwai@suse.de>
  Date:   Mon Aug 2 09:28:09 2021 +0200

  ASoC: tegra: Use managed buffer allocation

  As the standard buffer allocation helper supports WC pages now, we can
  convert imx-pcm-rpmsg driver to use that.  This allows us to remove
  lots of superfluous code.

  Acked-by: Mark Brown <broonie@kernel.org>
  Link: https://lore.kernel.org/r/20210802072815.13551-10-tiwai@suse.de
  Signed-off-by: Takashi Iwai <tiwai@suse.de>
------------------------------------------------------------------------

Above is required to avoid build errors related to non existent
callbacks in 'snd_soc_component_driver' structure.

Bug 3583581

Change-Id: Id1a930db0e41a51be35813aed67183974d1eec57
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774431
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:29 -07:00
Sameer Pujar
4b2029fac6 ASoC: tegra: Fix symmetric rate flag
'symmetric_rates' member is not available now in 'snd_soc_dai_driver'
structure. Instead this is replaced by 'symmetric_rate'. Fix these
references to avoid build errors.

Bug 3583581

Change-Id: I6bacec5a15656724bf344c797db8c39015bd7b23
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774430
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:25 -07:00
Sameer Pujar
796fd3534c ASoC: tegra: Fix header paths
OOT drivers cannot directly access private headers of core kernel.
This is a standard policy adopted by kernel distributors and to
workaround this problem copy headers to OOT path. Update the usage
references as well.

Bug 3583581

Change-Id: I1b99e17c60294a1cb257eb5b80837faa896d3f8d
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774429
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:21 -07:00
Sameer Pujar
be149e044b ASoC: tegra: Remove legacy BW manager code
Kernel OOT POR is for Tegra234 and later. BW manager code for legacy
chips causes build error with Kernel OOT and Tegra234 uses interconnect
based BW requests. Since Tegra194 (and earlier) support is not needed,
remove the legacy code.

Bug 3583581

Change-Id: I04c6ca0bc58dad4de9daa6ab65b04ee01553724d
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774428
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:16 -07:00
Sameer Pujar
6684fbbedf ASoC: tegra: Fix build errors due to core helpers
snd_soc_of_parse_daifmt() is removed from later kernel versions and this
causes complilation error. Use asoc_simple_parse_daifmt() helper to
parse DAI format.

asoc_simple_canonicalize_platform() has a different signature now and
thus update the helper usage accordingly.

Bug 3583581

Change-Id: I9a99fc71849ddf460040f980aea7d4b9f8f80011
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774427
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:51:12 -07:00
Gerrit Code Review
9cb012312d Merge "Merge branch 'audio-oot' into dev-main" into dev-main 2022-10-01 10:51:07 -07:00
Manish Bhardwaj
be84e3b28a nvidia: tegra_hv: fix compilation warning
WARNING: modpost: /home/mbhardwaj/kernel_only/out/
embedded-linux-generic-release/nvidia/kernel-rt_patches-nvidia-oot/
nvidia-oot/drivers/virt/tegra/tegra_hv.o (.exit.text+0x34): Section
mismatch in reference from the function cleanup_module() to the
function .init.text:tegra_hv_cleanup()
The function __exit cleanup_module() references a function __init
tegra_hv_cleanup(). This is often seen when error handling in the
exit function uses functionality in the init path. The fix is often
to remove the __init annotation of tegra_hv_cleanup() so it may be
used outside an init section.

Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Ie3fb2875c0acc732d5673e7618593e67e412851f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784195
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-10-01 10:49:36 -07:00