summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAge
* gpu-paging: Functions to support initial working versionrtss22-aegpu-pagingJoshua Bakita2022-05-24
| | | | | | - Buffer deallocation (+IOCTL) - Buffer reallocation - Private dmabuf user list and accessor
* tegra: mc: Add resume function for mcKetan Patil2021-12-10
| | | | | | | | | | | | | | | | | | | | mc_err is not reported after device resume as MC_INTMASK register is in reset state. Restore this register in resume. Bug 3418979 Change-Id: I04884b81164a4b95e1f11e6e78e35499b6f5e977 Signed-off-by: Ketan Patil <ketanp@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2622984 (cherry picked from commit c9638f54e8b3dc48158cce548c24bae6dbf09adc) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2638812 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Puneet Saxena <puneets@nvidia.com> Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* nvdla: kmd: Expose full set of limits for task parametersAnup Mahindre2021-08-16
| | | | | | | | | | | | | | | | | | | | | - Certain task parameter limits were not exposed to UMD / Users - Expose these limits and rename to provide consistent KMD interface across linux / qnx Jira DLA-4467 JIRA DLA-4908 Bug 3352716 Change-Id: Ibcf1de5f4d442d9b1f3fefaf71195bc6e58fff5c Signed-off-by: Anup Mahindre <amahindre@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2558254 (cherry picked from commit ccb23fdbb6da2908893cfebcdcd0d219f9b255e0) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2572193 Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* nvdla: kmd: add support for stride signal actionArvind M2021-08-16
| | | | | | | | | | | | | | | | | | | | NVDEV_FENCE_SIGNAL_STRIDE fence action translates to ACTION_INCREMENT_SEM firmware action. Jira DLA-4445 JIRA DLA-4908 Bug 3352716 Change-Id: Idb537ea784614d031f66c570359dbc7dd74374af Signed-off-by: Arvind M <am@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2548309 (cherry picked from commit 55093de292c83d787ee3cb5d74bcb1c89a65e8fc) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2572192 Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* nvdla: kmd: add bypass exec support with submitArvind M2021-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | [1] NVDLA_SUBMIT_FLAGS_BYPASS_EXEC flag allows its clients (UMD or nvdla_kmd_sanity) to bypass execution for a submission. This flag is a property of submission and shall directly apply on all tasks within that submit. [2] With above flag set, it propagates information to firmware through task descriptor and firmware shall be responsible for bypassing the execution. Jira DLA-4443 JIRA DLA-4908 Bug 3352716 Change-Id: I70000ef486905c812fec65f265a378a99844c10a Signed-off-by: Arvind M <am@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2544802 (cherry picked from commit 72da3fde9aa1624722359573d37ec6e73017ca98) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2572191 Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* video: tegra: host: nvdla: Add support for internal buffersAnup Mahindre2021-08-16
| | | | | | | | | | | | | | | | | | | | | | | - Add buffer type field to nvdla_mem_handle - For internal buffers, skip pin and unpin operations and pass the offset as final adress - Also update error handling in nvdla_map_task_memory to match with convention Jira DLA-4376 JIRA DLA-4908 Bug 3352716 Change-Id: I662da30cb9c606d2f67b792f09e026af391c89d1 Signed-off-by: Anup Mahindre <amahindre@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2503708 (cherry picked from commit a2cc66a3f318394e65f6f126bbb7eaa5ccdae3e2) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2572190 Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* video: tegra: host: LS fw gets priority in get fwAnkit Patel2021-08-02
| | | | | | | | | | | | | | | | Whenever NVDEC LS firmware pack for the soc, It will give priority to LS FW rather than NS FW. If in case of absence of LS FW It will load NS FW. Bug 200415909 Bug 200704321 Signed-off-by: Ankit Patel <anpatel@nvidia.com> Change-Id: I15f53f33d4735c25b972e1e8a394d01047f86bde Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2375549 Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2511966 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* pwm: fan: get regulator name from DTAaron Tian2021-07-05
| | | | | | | | | | | | | | | | | | | | To support platforms that used common power supply for PWM fan, configure regulator name by DT property: regulator_name. Default regulator name is "vdd-fan" when the DT property does not exist. Bug 200743936 Change-Id: I6951e340e5444141a72de5187e3887de49244caf Signed-off-by: Aaron Tian <atian@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2549408 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Sandipan Patra <spatra@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* tegra: safety: Phase notification commandMantravadi Karthik2021-07-01
| | | | | | | | | | | | | | | | | | | | | | Why? SCE HB working starts with Init done phase notification from CCPLEX. How? The init done phase notification is scheduled at the end of safety-ivc drver probe as all the necessary items for l1ss are initialized by then. Bug 200700400 Change-Id: I18cb66b2cbe6c3184c9c23c9b7ee6f6c53f62c06 Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2542621 Reviewed-by: Preetham Chandru <pchandru@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* media:i2c:imx274 power on delayarai2021-06-21
| | | | | | | | | | | | | | | | | Add somelayency in imx274 power on. The AVDD on McCoy is turned off by default and needs some time to be setup before the reset GPIOs can be released. Bug 200741282 Change-Id: I0696e0aab4239929552e355325ffbe6070a94484 Signed-off-by: arai <arai@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545868 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* capture-isp: use separate ringbuffer to pass iovas to rtcpuKirill Artamonov2021-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing iova pointers using capture descriptor is not safe since usermode application can access them. Use additional ringbuffers shared between kernel and rtcpu to pass iova pointers securely. Related changes and bugfixes: Use permanent vmap mapping for ISP capture and program descriptors This should also improve performance and reduce fragmentation of kernel address space. Don't use relocs. Access descriptor like normal C structure. Remove unused reloc API. Fix map error reporting capture_common_pin_and_get_iova(). Allocate fixed size unpin buffer at setup time istead of relying on kzalloc/kfree during each request. This is to simplify critical runtime codepath and remove flexible array struct member which is prohibited by MISRA C conventions. Add unpin check to prevent submission of requests which are still in progress bug 2768992 bug 3231670 bug 200688288 bug 200690078 CAMASIL-7472 CAMASIL-7474 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Change-Id: Ie2c556cc61334ae478c7edc7e062e16e8b142031 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2487425 (cherry picked from commit 23186dfdd7b090e6b93c3a6daed60860225b9663) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545380 Reviewed-by: Semi Malinen <smalinen@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* capture-vi: use separate ringbuffer to pass iova to rtcpuKirill Artamonov2021-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing iova pointers using capture descriptor is not safe since usermode application can access them. Use additional ringbuffer shared between kernel and rtcpu to pass iova pointers securely. Related changes and bugfixes: Use permanent vmap mapping for VI capture descriptors. This should also improve performance and reduce fragmentation of kernel address space. Don't use relocs. Access descriptor like normal C structure. Remove unused parameter capture_data from tegra_channel to avoid confusing null pointer investigation when accidentally using it. Check for zero pin count at submit to avoid potential memory mapping leak which will happen if usermode submits same capture descriptor without waiting for completion. Reboot rtcpu if fail to communicate with rtcpu during channel release IVC call. Allocate fixed size unpin buffer at setup time istead of relying on kzalloc/kfree during each request. This is to simplify critical runtime codepath and remove flexible array struct member which is prohibited by MISRA C conventions. CAMASIL-7466 bug 2768992 bug 3231670 bug 200688288 bug 200690078 CAMASIL-7460 CAMASIL-7477 CAMASIL-4619 CAMASIL-7465 Change-Id: Ia39de887093bbc158c72008ae387287ce30ebd82 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2475799 (cherry picked from commit 71ad1f9d54a45e54767d5fa9411a4aee83374398) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545006 Reviewed-by: Igor Mitsyanko <imitsyanko@nvidia.com> Reviewed-by: Semi Malinen <smalinen@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Igor Mitsyanko <imitsyanko@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* include: soc: tegra: add ISP memoryinfo ring buffersKirill Artamonov2021-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use dedicated ringbuffers to pass ISP iova pointers between KMD and RCE. CAMASIL-7476 bug 2768992 bug 3231670 bug 200688288 bug 200690078 CAMASIL-7472 CAMASIL-7474 CAMASIL-7475 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2487426 (cherry picked from commit 8c18aedcb887dd094b60ac5a0de0cf0de7d7af51) include: soc: tegra: add VI memoryinfo ring buffer struct Use dedicated ringbuffer to pass VI iova pointers between KMD and RCE. CAMASIL-7465 bug 2768992 bug 3231670 bug 200688288 bug 200690078 CAMASIL-7460 CAMASIL-7477 CAMASIL-4619 Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2475649 (cherry picked from commit 896af71c8d84b2ee77b0df542b96724d117b35bf) Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com> Change-Id: I70e3052961ea7396f632468c2e1aaf65c5caa5c6 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2544991 Reviewed-by: Igor Mitsyanko <imitsyanko@nvidia.com> Reviewed-by: Semi Malinen <smalinen@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Igor Mitsyanko <imitsyanko@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* nvcapture: capture buffer managementZiqi Qing2021-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffer management in KMD allow client to pin and setup a set of surface before any capture request. Also keep the compatibility to pin the surface when it is not registered before. - Add ioctl to handle buffer pin request. - Add capture buffer table. Bug 2462034 Change-Id: I71021a241aab4e61d27bd504fb5657b169e56643 Signed-off-by: Ziqi Qing <zqing@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1972655 (cherry picked from commit 05c14274b4070aaa0fd02f07166554d07ede85ec) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545282 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-by: Igor Mitsyanko <imitsyanko@nvidia.com> Reviewed-by: Semi Malinen <smalinen@nvidia.com> Reviewed-by: Pekka Pessi <ppessi@nvidia.com> Reviewed-by: Mika Liljeberg <mliljeberg@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Kirill Artamonov <kartamonov@nvidia.com> Tested-by: Igor Mitsyanko <imitsyanko@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* tegra: safety: FuSa State notification commandPreetham Chandru Ramchandra2021-06-07
| | | | | | | | | | | | | | | | Add support for CMDRESP_FUSA_STATE_NOTIFICATION command. This command will be sent from L2SS to L1SS when FuSa (Functional Safety) Manager's state changes. Bug 200700404 Change-Id: Ice986c17adf809f1eaf2dd7131aa70a5e67f9d1a Signed-off-by: Preetham Chandru Ramchandra <pchandru@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2537820 Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: safety-ivc: Add support for HB CMDMantravadi Karthik2021-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Why? L2SS expects a heartbeat ping every 40ms. CCPLEX is expected to write the Boot status in the IVC channel for the first time and the consective pings will be just to send Alive check. How? Create a new callback API for the HB command which fills the bit fields for the HB data and sends it over the cmd-resp IVC channel. * Added mutex lock support for l1ss_cmd_resp_send_frame for syncronizing the ivc writes. * Waiting for empty interrupts hogs the system. Time critical features such as HB fail while waiting for empty interrupts. Hence, removing the HSP SM empty isr support. Bug 200700400 Change-Id: I7f124c9f7336df9d387536aa3f2dda80d9234db8 Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2519655 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* pwm: fan: fix deadlock due to incorrect lockingSumit Gupta2021-05-25
| | | | | | | | | | | | | | | | | Bug 3227296 Bug 200695596 Bug 200728417 Signed-off-by: Sumit Gupta <sumitg@nvidia.com> Change-Id: Ib64915556d285bd798e95da81a261eb2c16b4dab Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2503884 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Bibek Basu <bbasu@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: safety: Add client registrationPreetham Chandru Ramchandra2021-05-24
| | | | | | | | | | | | | | | | Add client registration and deregistration calls. The clients registers with a callback function which gets called when ivc ready is received from L2SS. Bug 200700404 Change-Id: I358f4ad7ada547dfb81bb60c990b2f84235a9651 Signed-off-by: Preetham Chandru Ramchandra <pchandru@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2531217 Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: safety: Move header files to include/linuxPreetham Chandru Ramchandra2021-05-19
| | | | | | | | | | | | | | | | Move tegra_nv_guard_group_id.h and tegra_nv_guard_service_id.h header files to include/linux path. Also move l1ss_submit_rq() to tegra_l1ss_kernel_interface.h Bug 200700404 Change-Id: Ib609c3f3cbaebb495729eba6d607c340c9a2f185 Signed-off-by: Preetham Chandru Ramchandra <pchandru@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2530519 Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: safety: Enable L1SSPreetham Chandru Ramchandra2021-05-12
| | | | | | | | | | | | | | | | This change enable L1SS with minimal functionality. Currently it only supports sending sw error to SCE (SERVICESTATUS_NOTIFICATION) and IST erros. Bug 200700404 Change-Id: I4a33756dd2f4b6715157a39d3dbc4d0d968fc52b Signed-off-by: Preetham Chandru Ramchandra <pchandru@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2525248 Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* video: tegra: nvmap: add support to create RO handle from user VAPuneet Saxena2021-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | User malloc + mprotect/mmap a buffer as RO and as part of alloc_from_va, user pass the ACCESS_FLAGS as RO and expects NvMap to give dma_buf_fd with RO access. Below are the conditions result in NvRmMemHandle creation - 1) VA: RO and Attr: RW - Don't create NvMap Handle 2) VA: RO and Attr: RO - Create NvMap Handle and set dma_buf_fd as RO 3) VA: RW and Attr: RO - Create NvMap Handle and set dma_buf_fd as RO 4) Mixed VA: RO + RW and Attr: RO - Create NvMap Handle with dma_buf_fd as RO for the whole buffer 5) Mixed VA: RO + RW and Attr: RW - Don't Create NvMap Handle If few pages of the buffer is set as RO and rest as RW, multiple vma are created and vma->end and vma->start doesn't differ by the buffer size, passed to create handle from VA. Hence remove the check. Anyway the check is done in get_user_pages. The change sets dma_buf_fd as RW/RO so that other process should fetch the access permission just by reading f_mode of dma_buf_fd. Bug 200621238 Bug 200634660 Change-Id: I9c50c6f28664f0ff9f70dc08b15d93389e7d7201 Signed-off-by: Puneet Saxena <puneets@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2515023 (cherry picked from commit 0514e68ce8948428b417c55057a4dd2f57acd9c2) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2521313 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Amulya Yarlagadda <ayarlagadda@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* camera: Check for pending ivc framesAniket Bahadarpurkar2021-05-05
| | | | | | | | | | | | | | | | | | | If ivc message handler workqueue is not scheduled, driver will report no reply from camera processor error. This gives impression that rtcpu is in bad state. However, it is possible that some IVC frames are pending read. Hence, before reporting no reply from camera processor we check for pending IVC frames. Bug 3293029 Bug 3291799 Change-Id: I653add5d363a81af816d81e1197868cc289249a2 Signed-off-by: Aniket Bahadarpurkar <aniketb@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2520521 (cherry picked from commit d3a7408c12cf1e51288cd1ee56f54668d8fdae1a) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2524157 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: safety-ivc: Fix the SCE-L1SS syncMantravadi Karthik2021-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCE-L1SS sync expects the ast-mapped address to be sent from CCPLEX to SCE. Fixing this logic helped SCE sync with CCPLEX. CCPLEX logs: ubuntu@tegra-ubuntu:~$ dmesg | grep tegra186-safety-ivc [ 4.505639] tegra186-safety-ivc b040000.sce: probing sce safety driver [ 4.505882] tegra186-safety-ivc b040000.sce: dma address = 0xffef0000 [ 4.505897] tegra186-safety-ivc b040000.sce: cmdresp: RX: 0x0-0x1080 TX: 0x8000-0x9080 [ 4.505902] tegra186-safety-ivc b040000.sce: hb: RX: 0x1400-0x14c0 TX: 0x9400-0x94c0 [ 4.505906] tegra186-safety-ivc b040000.sce: mods: RX: 0x1500-0x1980 TX: 0x9500-0x9980 [ 8.542842] tegra186-safety-ivc b040000.sce: safety: character device 0 registered [ 8.543059] tegra186-safety-ivc b040000.sce: safety: character device 1 registered [ 8.543226] tegra186-safety-ivc b040000.sce: safety: character device 2 registered [ 8.543365] tegra186-safety-ivc b040000.sce: successfully probed safety ivc driver SCE uart Logs with debug prints: [772801] : [ LOG ] : Sce Booted : 1.4.0 [33746167] : [ LOG ] : SceIvc_Init_Callback: Line 445: [34246815] : [ LOG ] : SceHsp_SM_Produced [34662648] : [ LOG ] : SceHsp_SM_Consume: Invoked [34670879] : [ LOG ] : SceHsp_SM_Consume: MB addr - 0c b168000, value - 0x81ffef00 [34678666] : [ LOG ] : SceIvcHandshakePerformedCallback: Handshake done [34688074] : [ LOG ] : SceIvc_ChannelNotified: invoked [34691072] : [ LOG ] : SceIvc_ChannelNotified: invoked [34698090] : [ LOG ] : SceHsp_SM_Produce: 169: Invoked [34702170] : [ LOG ] : SceHsp_SM_Produce: 169: Invoked [33745454] : [ ISR ] : SceHsp_Irq: invoked [34711495] : [ ERROR ] : Fatal, SCE BL data invalid [34719113] : [ ERROR ] : DRAM Init Failed [34727446] : [ INFO ] : SCE-FW & L1SS in sync [34823406] : [ LOG ] : Monitoring Failue Bug 200700400 Change-Id: I40bbea06b42892d25408a2da317c831e12acfc9d Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2515929 Reviewed-by: Preetham Chandru <pchandru@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* tegra: Fix safety ivc driverMantravadi Karthik2021-03-31
| | | | | | | | | | | | | | | | | | * Fix safety ivc driver to remove unused cmd-pair. * Update Makefile to use the correct defconfig. * Add support for unit testing the safety-ivc driver guarded by CONFIG_TEGRA_SAFETY_IVC_DEBUG. Bug 200700400 Change-Id: I479db5fcb4a57ad36c374fa3f137346e8582cb13 Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493498 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* [Docs] Correct Doxygen build errorsJonathan Sachs2021-03-30
| | | | | | | | | | | | | | | | Nothing wrong with the commands themselves, but @file comments ending with a period were triggering a spurious error. Bug 3260720 Signed-off-by: Jonathan Sachs <jsachs@nvidia.com> Change-Id: Ice7b32d8ab0adafd2eef5c35cf8698f10bb5fcbb Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2494294 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Kathy Stone <kstone@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: camera: Add nvcsi open close checkAniket Bahadarpurkar2021-03-16
| | | | | | | | | | | | | | | | | | | This change ensures that a given VI channel can open or close CSI interface only once. If there are multiple open or close request on the same VI channel, driver returns success but does not forward request to RCE. Bug 3158738 Change-Id: I64d2b182664122d2210c7a9087fabd944d0c6353 Signed-off-by: Aniket Bahadarpurkar <aniketb@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2494100 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Nitin Pai <npai@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* PCI: tvnet: Add PM support for tvnet driverManikanta Maddireddy2021-02-18
| | | | | | | | | | | | | | | | Add PM support to enable suspend to RAM support for Tegra virtual Ethernet over PCIe in RP system. Bug 3216243 Change-Id: I39e023c6c890699b082f6761dd2955b19659da16 Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2469498 Reviewed-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* drivers:media:vi5_fops add gang mode supportarai2021-01-22
| | | | | | | | | | | | | | | | add support for gang mode captures involving 8 CSI lanes Bug 2834674 Change-Id: I8f542312bb176be274ef0b6d447dd489086e62d1 Signed-off-by: arai <arai@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2355825 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* misc: tegra-profiler: add unique identifierIgor Nabirushkin2021-01-15
| | | | | | | | | | | | | | | | | Add unique identifier seqid (sequence number) for samples. Bug 3216659 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Change-Id: I84b595f976f1f1955ecb278ababaf45591cdf5e0 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2464500 (cherry picked from commit ec284fc0b7b94871565c612358ea9e78e9ae4731) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2469351 Reviewed-by: Roman Rybalko <rrybalko@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* thermal: continuous: add custom dt entry supportKarthik Mantravadi2021-01-07
| | | | | | | | | | | | | | | | | | | | | Why? In the case of therm-fan-est driver, the dt entry is not added as part of thermal-zones. Hence, any continuous governor parameters defined under therm-fan-est node will not be considered by the continuous governor while binding to the thermal zone. How? Expose the dt parsing logic in continuous governor driver. This way therm-fan-est driver can call the dt parsing function passing the dt node defined under therm-fan-est dt entry. Bug 200594433 Change-Id: I06f1653209887f674db0636fe6f5803771d46877 Signed-off-by: Karthik Mantravadi <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2464743 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* nvdla: kmd: handle {RELEASE,ALLOC}_QUEUE ioctlsArvind M2021-01-05
| | | | | | | | | | | | | | | | | | | | | | | [1] This commit separates the allocation and deallocation of mission critical resources away from open() and close() [2] It is achieved through introduction of NVDLA_IOCTL_{ALLOC,RELEASE} IOCTLs. [3] nvdla_buffer_* APIs introduced to facilitate easier split. Jira DLA-4175 Bug 3200422 Bug 200628173 Change-Id: I3fb07ecaff69c62ec5eb9e5bea39b07ae1624240 Signed-off-by: Arvind M <am@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2403689 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2412585 GVS: Gerrit_Virtual_Submit Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Mitch Harwell <mharwell@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* video: tegra: host: pin with specific permissionArvind M2021-01-05
| | | | | | | | | | | | | | | | | | | | | | [1] Facilitate pinning of buffer with user requested access permission [2] This feature allows to restrict access to buffers shared with the device. Jira DLA-2502 Jira DLA-4175 Bug 3200422 Change-Id: I175ad10922480689de57eb832040a7d59b29b9bd Signed-off-by: Arvind M <am@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2209415 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2412573 GVS: Gerrit_Virtual_Submit Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Mitch Harwell <mharwell@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
* pwm: fan: Add support for always on fanMantravadi Karthik2020-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | Why? In case of continuous governor, the fan-poweron pwm value is assumed to be at index 1 of pwm values. In case of tmargin the pwm table would be reversed (high to low) and hence the assumption is invalid. How? While calculating the pwm value in the case of continuous governor, add a check if the cooling device is always on fan. If true, for all values of temp, pwm should be calculated instead of assigning 0. Bug 200646929 Change-Id: Ibed572fa2af9f8bd36a4a4cbb472029e21aeb442 Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2448826 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* thermal: pwm-fan: Add support for tmarginMantravadi Karthik2020-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Why? Tmargin feature uses reverse pwm mapping in DT. The current rru/rrd calculation logic assumes that the pwm table is in ascending order. In the case of tmargin, the pwm table is given in descending order. How? pwm fan dt node should have a "use_tmargin" identifier similar to therm_fan_est dt node. This dt entry switches the logic in rru/rrd calculation Bug 200646929 Change-Id: I2042aaff5347553202212c6b69f707511bb9b7dd Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2460881 Tested-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* platform: tegra: cbb: mask SError due to CBB errorSumit Gupta2020-12-14
| | | | | | | | | | | | | | | | | | | | | | | Mask SError for illegal accesses from CCPLEX master. Interrupts will be generated for access from CCPLEX and error info will be printed within the interrupt handler instead of SError callback. Also, call BUG() to crash the system if illegal access is from CCPLEX master. For illegal accesses from other masters, interrupt is already getting generated instead of SError. Bug 3191922 Change-Id: Ie03f4f0f0ca58fb695a54183456861dd98931855 Signed-off-by: Sumit Gupta <sumitg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2118672 (cherry picked from commit ef8df45ba078e6d9ab2d648c4c122e38b600c77d) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2458251 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* misc: nvs: Add NVS GTE supportelilliebjerg2020-11-13
| | | | | | | | | | | | | | | | | | - Add the Tegra hardware Generic Timestamping Engine support to the NVidia Sensor framework. - Use CONFIG_NVS_GTE in Linux kernel config. Bug 3046736 Bug 2975033 Change-Id: I55397436ee635cdaf7788a3c5d6dc384601940df Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2342800 (cherry picked from commit 79de33624bb9f6cf10f77251039143d5d3128715) Signed-off-by: elilliebjerg <elilliebjerg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2439322 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
* misc: nvs: Add on-change moduleelilliebjerg2020-11-13
| | | | | | | | | | | | | | | | | | - Create a common NVS module for on-change sensors. Bug 3046736 Bug 2975069 Change-Id: I1021c4a14db88ad3f8a2daa7c9efce7f667023a8 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2374392 (cherry picked from commit d7cd7261814a024c86f4a96d4f320badae1bda49) Signed-off-by: elilliebjerg <elilliebjerg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2439315 Reviewed-by: Greg Lo <glo@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* [Docs] Correct @file directivesJonathan Sachs2020-11-02
| | | | | | | | | | | | | | | | | | | The @file directive line is broken in two, with @file on the first line and the file description on the second. This reflects the correct syntax for @file. Bug 3053489 Signed-off-by: Jonathan Sachs <jsachs@nvidia.com> Change-Id: Iba4e6a9714d943497deb9258b13b025da6334cb5 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2435329 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Fonda Chu <fchu@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> 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
* tegracam_v4l2: Add custom v4l2 control for eepromarai2020-10-30
| | | | | | | | | | | | | | | | Add custom v4l2 control for stereo eeprom calibration properties to be read from the sensor driver Bug 3037357 Change-Id: I81a82e999f2a9edfabb5eaa8142cda60a3674a0c Signed-off-by: arai <arai@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2391827 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* bpmp: ABI headers updateStefan Kristiansson2020-10-13
| | | | | | | | | | | | | | | | | | | | | abi@9f9c320 9f9c320 [abi] Add variable root flag efe4ce3 [abi] Update EMC MRQs field comments e87f4e2 [abi] Define MRQ_EMC_DVFS_EMCHUB package Bug 3128306 Signed-off-by: Stefan Kristiansson <stefank@nvidia.com> Change-Id: I2a8e3ad6d2e8030493b56360ec9b591d5ba0fa42 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2361472 (cherry picked from commit fbd736cf6b8dbd7386365ae6ce51a12084e7f266) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2422390 Tested-by: Karthik Mantravadi <mkarthik@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Karthik Mantravadi <mkarthik@nvidia.com> Reviewed-by: Timo Alho <talho@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* media:i2c: add sensor driver for imx477arai2020-10-13
| | | | | | | | | | | | | | | | | | | add sensor driver for R.Pi v3 High Quality camera, to be supported by the batuu BSP out of the box. bug 200631181 Change-Id: Ib665e59e7757fff5ad229cd68b491cf5d2593857 Signed-off-by: arai <arai@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2409671 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Prayas Mohanty <pmohanty@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: Sudhir Vyas <svyas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* bpmp: ABI headers updateSivaram Nair2020-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abi@c3b11f4 e15b212 [abi] update documentation of BPMP_MAIL_DO_ACK 31c6fca [abi] add clarification to clk and powerdomain state f886c34 [abi] add BPMP_EPERM error code 9348d1d [abi] Add BPMP_ENOTSUP error with description bf3a839 [abi] Add MRQ_RESET subcommands error description 13d42df [abi] add 'U' suffix to some defines 84a2d41 [abi] update mrq_request::flags documentation a61188d [abi] document MRQ_I2C error codes e40ce9c [abi] add BPMP_EAGAIN and BPMP_ENXIO error codes 4b2e0ee [abi] make MRQ_I2C flags unsigned constants 6327960 [abi] fix EC related misra violations 05f0ace [abi] Update references to s/w-detected error IDs 11df254 [abi] fix MISRA violations in TEGRA_I2C_IPC_MAX_* 39a89c5 [abi] Update doxygen references for misc EC ids Bug 200541450 Bug 3128306 Jira BPMP-5909 Change-Id: Iaf9ef5f730c518db89e185151fd96a9921541704 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2352510 (cherry picked from commit 1466fa6e646d1320c0f937144fd02fd4082000c0) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2420800 Tested-by: Karthik Mantravadi <mkarthik@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Karthik Mantravadi <mkarthik@nvidia.com> Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Timo Alho <talho@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* therm-fan-est: Add support for Tmargin to drive fanmkarthik2020-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Why? Tmargin method of fan control allows multiple groups of therma-fan-est devices temperatures to be considered for the fan control algorithm/fan curve. The limitation of the existing max temp algorithm in therm-fan-est driver is that devices with different fan curves cannot be accomodated in the driver. In case, there are multple fan curves, the device which has the steepest curve wins the algoritm. Hence, taking the temperatures as a reference from their respective critical temperatures and using that value to drive the fan will help in accomodating both the devices' fan curves. How? * Calculate the effective crit temp of all the thermal zones during probe. * In the polling cycles, calculate the effective temperatures of the individual groups and use the tmargin formula to calculate the current temperature. * Since the Tmargin temp trip values are in reverse order, we need to use the reverse order in the pwm-fan dt profile. * The hysterysis is subtracted from the temp in cooling scenario to avoid frequent switching at trip temps. Since the tmargin trip values are taken in the decending order, hysterysis temps in dt should be given as negative values. Bug 200627962 Change-Id: Ideba4bfdb3d3306d1b4aff15093bcfac13d7bb86 Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2362354 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* thermal: pwm-fan: Add tach feedback supportmkarthik2020-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Why? The current implementation of the pwm-fan driver only writes a pwm value to the HW when requested. There is no tachometer rpm read back to check if the thermal performance is as expected. This change aims to add the rpm offsets necessary to maintain the desired fan rpm. How? A new work queue is added which gets the pwm fan rpm and checks the same for a rpm diff tolerance value. In case the tolerance value is exceeded, the next pwm corresponding to the next rpm ramp index is written to the pwm controller. Bug 200646929 Change-Id: Iff780a7edf98ca457ace10079149925adf06189d Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2369412 Tested-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Sandipan Patra <spatra@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* [Docs] Add Doxygen commmentsJonathan Sachs2020-08-30
| | | | | | | | | | | | | | | | Add Doxygen comments to gmsl-link.h, max9295.h, & max9296.h. Bug 3053489 Signed-off-by: Jonathan Sachs <jsachs@nvidia.com> Change-Id: I37320f1af3440b79f2058e0c7669cc32814d4089 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2403126 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Kathy Stone <kstone@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* drivers: tegra: nvmap: Add NVMAP_IOC_PARAMETERS ioctlpuneet saxena2020-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add NVMAP_IOC_PARAMETERS to return nvmap handle's contig; Phys_Contig import_id; NA handle; heap_number; Only valid for IVM carveout access_flags; NA heap; Heap Type align; Alignement coherency; Coherency flag size; Handle Size Bug 3038325 Change-Id: I6fcfce7c3808e21084b543fa87ff8e48431b19f5 Signed-off-by: puneet saxena <puneets@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2368252 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Kai Zhang (SW-TEGRA) <kazhang@nvidia.com> Reviewed-by: Tuomas Kulve <tkulve@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* thermal: Kernel driver for OC event handlingMantravadi Karthik2020-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Why? In case of an OC(Over Current) event in Tegra SOC, BPMP gets an interrupt indicating the same. However, there is no indication to ccplex and userspace about the same. This driver provides the interface between BPMP OC implementation and userspace. How? Once there is an EDP OC interrupt to BPMP, BPMP writes to a Shared mailbox register dedicated for BPMP and CCPLEX communication for EDP OC. Once the interrupt is received, Kernel reads the OC status registers to realize the state of the EDP OC HW. The kernel driver provides interfaces for Userspace to poll for the status/interrupts count. Bug 1688327 Change-Id: Iec57849b2be8343bc9d8c617bffd44ab63c8fa9d Signed-off-by: Mantravadi Karthik <mkarthik@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2319540 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* kernel: Enable support for EEPROM dataAditya Tomar2020-06-11
| | | | | | | | | | | | | | | | | | Current EEPROM data support is for shield tablet Enabling it for ov5693 sensor (E3326 and E3333) Bug 2947295 Change-Id: I8cc11ed31ea238502d6f401df74cf7eaa9fc3cca Signed-off-by: Aditya Tomar <adtomar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2357162 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Devang Kubavat <dkubavat@nvidia.com> Reviewed-by: Frank Chen <frankc@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
* drivers: string handlingdmitry pervushin2020-05-13
| | | | | | | | | | | | | | | | gcc9 is more strict about using strncpy... and in many cases it is right Replacing strncpy with strdup (when possible) or strlcpy Bug 2973859 Change-Id: I1283db0385d7b35f747d129d3963e8f293e83dc3 Signed-off-by: dmitry pervushin <dpervushin@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2342280 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Phoenix Jung <pjung@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
* tegra: hdcp: pass SOR instance to upstreamAhung Cheng2020-04-20
| | | | | | | | | | | | | | | | | | upstream library needs to get the active SOR instance bug 2219364 Change-Id: I79b5fb9ae690037ac98f7e46b053da14d4322c63 Signed-off-by: Ahung Cheng <ahcheng@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1776730 (cherry picked from commit 206d44dcbd84f933e9d2bb7f0f7c532b5b3ed632) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2313884 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit