In git, we have moved this header to uapi directory, so that it can be
installed with the headers_install target. It now has to follow
guidelines of well-formed headers usable in userspace programs.
* Update SPDX license header.
* Don't use kernel CONFIG options.
Bug 2657961
Change-Id: Iee2bbfc6c931b5e8c5ee71cef9dfdfbb7f50d114
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2310801
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Bug 200582229
This change will add smmu mapping/unmapping support for MODS
allocated memory buffer by using kernel smmu api dma_map_sg_attrs()
and dma_unmap_sg_attrs()
1. new IOCTL MODS_ESC_IOMMU_DMA_MAP_MEMORY and
MODS_ESC_IOMMU_DMA_UNMAP_MEMORY is added to do smmu mapping/unmapping
and get smmu mapped address for MODS allocated buffers;
2. a platform device and driver is added to match mods smmu sid in dtb,
the device is used to do smmu mapping/unampping; and mods smmu devices
are added in dtb to match with the driver with smmu config
Signed-off-by: Dong Qiang <carld@nvidia.com>
Change-Id: I47d4d1c43f14fc6b51f0c00cee127e1d51377f64
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2180897
Reviewed-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
* Add new cl_* macros for printing client-specific messages.
This adds client index to messages in code which is called from
user space. This makes it easier to diagnose errors when multiple
clients (processes) open the driver.
* Use kernel print levels appropriate to messages being printed.
* Print process pid when opening the driver.
* Print information about access token being set or released.
* Print information about PCI devices being enabled or disabled.
PCI device enablement is tied to the driver getting ownership
of the device. It also prevents multiple MODS instances from
owning the same PCI device.
* Print info about device DMA mask, print device DMA mask when DMA
mapping fails.
* Print more info about SRIOV actions.
* Disable SRIOV when the driver is being closed by the process
which enables SRIOV. Leaving SRIOV enabled when disabling PCI
device is an error and leads to stale functions, unusable on
subsequent MODS runs.
* Clean up log messages in a few places.
Change-Id: I51953e984a55c0990e90f89d8260f215c8c58498
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2279439
Tested-by: Ellis Roberts <ellisr@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Summary: Support to hook mods interrupts
for tegra mods devices was broken due to
gpu-mods changes that went uncaught in sanity.
This change modifies the kernel to allow the tegra
code paths to work again. This change also adds
support to map irq numbers to gpio input pins
to expand functionality in the irq framework.
Change-Id: Iee65f9bcaf09453c1740cd5cf7f64b76c87e00c3
Signed-off-by: Ellis Roberts <ellisr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2259509
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Summary: Add debug fs to allow user to program
the error control registers in RAS so mods can
selectively disable errors if so desired. A
current example of this usecase is disabling
ras from throttling, which is thrown during
the mods Soctherm OC throttling test
Bug 200533168
Change-Id: Id9007e9e13ae9563ad2aae107b130bcd951f0bc4
Signed-off-by: Ellis Roberts <ellisr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2224479
GVS: Gerrit_Virtual_Submit
Reviewed-by: Kiran Kasamsetty <kkasamsetty@nvidia.com>
Reviewed-by: Rohan Sreeram <rsreeram@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
The sg->length may happen to be a large size, and this
will overflow the local segment_size when accumulating
sg->length to it at line "segment_size += sg->length".
Since segment_size of MODS_DMABUF_GET_PHYSICAL_ADDRESS
structure is defined in u64 type, this patch fixes the
bug by changing the local varible to u64 as well.
Bug 2521255
Change-Id: Id1fb6d149f55f4fd9238a399393ed2efae77c84a
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2105445
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Ashish Mhetre <amhetre@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
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>
Map pages to kernel space when clearing memory ranges requested
by userspace. This now seems to be required to clear cache on
kernel 4.9.
Use kmap_atomic assuming that cache clearing does not sleep.
Change-Id: Id1e5f615b41cc46801889766edf73ba34c6346c1
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1528123
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
TEGRA_DC_BLENDER_GEN2 configuration is enabled always if TEGRA_DC
configuration is enabled. And TEGRA_DC configuration is a must for
display to work. So TEGRA_DC_BLENDER_GEN2 ifdef is not needed and
can be safely removed to reduce ifdefs in display driver.
Change-Id: I4e1fde93d7b515a26bc6ce0b00915440dc30b13d
Signed-off-by: Ujwal Patel <ujwalp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1524810
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Due to implementation of SW formats which extend the display
color formats beyond 0xff, the format masks as well as the
byteswap masks have to be updated.
This change updates the following:
- Marks all SW defined formats as starting from 0x100
- Shifts all the byte swap masks to start at 0x10000
- Updates the SW and byte swap masks
- Updates the functions which classify yuv, planar and semi
planar formats
- Add the SW defined formats to the feature table listings
- Add SWAP_UV for vertical chroma subsampled formats
- Removes the SWAP UV flag
- Add sanity checks for SW defined formats in the kernel
Bug 1904472
Change-Id: I18f6cf69610e5bff206fa6b1336f63ee9a9a7424
Signed-off-by: Anshuman Kar <anshumank@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1517747
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Add "sysfs" qualifier to existing API names for CRC to avoid
confusion with newly added tegra_dc_crc_* and tegra_nvdisp_crc_*
Bug 1858958
Change-Id: I9045ef494a0e56222d7d2555e19975f5f2bdbbeb
Signed-off-by: Jay Bhukhanwala <jbhukhanwala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1521973
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ujwal Patel <ujwalp@nvidia.com>
Cleanup to drop support for legacy Tegra clocks.
Bug 1934094
Change-Id: Ifce57363ff4474f24587d336c84e360596e22f9b
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: http://git-master/r/1494043
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Timo Alho <talho@nvidia.com>
mods driver is available in the kernel/nvidia and to
integrate with git history, it is required to remove the
dummy Makefile.
Bug 4038415
Change-Id: Ib66eab27e6168bf416df2f73c8df4a4a50af39f8
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Sparse tool identified below sparse errors because ioremapped PCIe BAR MMIO
range is typecasted to a strcture and dropping __iomem. Fix these error by
forcing the type cast.
tegra-pcie-dma-test.c:102:43: warning: cast removes address space '__iomem' of expression
tegra-pcie-dma-test.c:137:43: warning: cast removes address space '__iomem' of expression
tegra-pcie-dma-test.c:149:30: warning: cast removes address space '__iomem' of expression
tegra-pcie-dma-test.c:309:21: warning: cast removes address space '__iomem' of expression
tegra-pcie-dma-test.c:90:43: warning: cast removes address space '__iomem' of expression
Bug 3954363
Change-Id: I0ce421b72f43eeec0dbd497bf9d34ad05f7f91cc
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2870577
Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
In NvSciIpcEndpointValidateAuthTokenLinuxCurrent(),
It returns incorrect VUID due to partial string match in corner case.
If string length of device node name is different from the size return of
snprintf(), it skips comparing strings.
Enable debug cmd to test NvSciIpcEndpointValidateAuthTokenLinuxCurrent() and
NvSciIpcEndpointMapVuid() since they're kernel APIs.
remove one time update limit of SET DB cmd.
Added missing updates in nvidia-oot.
Bug 3928121
Change-Id: I13cc1927e817a124722156cffa0b391c95c7d28e
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2850945
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>