anupamg
b5e4092538
DCE-KMD: bootstrap.c: Remove USE() usage
...
- We're using USE() to forcefully use a parameter to avoid
compilation errors in HVRTOS.
- Add a validity check instead to such parameters. This will
resolve unused varaiable errors as well as add meaningful
checks, instead of forcefully using params.
JIRA TDS-16126
Change-Id: I885348a09eaac6e4362c89b59880fbd32d77d3b5
Signed-off-by: anupamg <anupamg@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3225254
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com >
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com >
2025-07-24 10:19:12 +00:00
anupamg
644c60d35c
DCE-KMD: Refactor dce_work_cond_sw_resource_init()
...
- Move resource init specific to PM and bootstrap modules
to respective PM and bootstrap init functions.
- Motivation here is 2 fold:
1) To keep common code common across OSs.
2) Move resource init to respective sub-modules.
- We will have separate PM module for HVRTOS.
- We will have separate dce-worker module for HVRTOS.
JIRA TDS-16052
Change-Id: I40f6943eb4173a0da7201dc58afb19aee2a0d04e
Signed-off-by: anupamg <anupamg@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3190873
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com >
2025-07-24 10:19:12 +00:00
anupamg
4a304392dd
DCE-KMD: Fix un-used params errors
...
- Force use unused parameters in commmon DCE-KMD
codebase to fix unused parameters errors on HVRTOS.
JIRA TDS-16052
Change-Id: Id58c87d27a248d7ad3d6ee58f51dd869e6623c32
Signed-off-by: anupamg <anupamg@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3173706
Reviewed-by: svcacv <svcacv@nvidia.com >
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com >
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
2025-07-24 10:19:12 +00:00
anupamg
8f1271978c
DCE-KMD: Use OS abstraction of utils
...
- Start using OS abstraction for all utility functions.
JIRA TDS-16052
Change-Id: Ic1e0f059194e15ff7dff0fa97997bd0d69dfc58c
Signed-off-by: anupamg <anupamg@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3172545
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com >
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
2025-07-24 10:19:12 +00:00
Mahesh Kumar
9a401f8077
platform: dce: Halify HSP functions
...
This patch Halify HSP access functions. SOC-specific HSP functions
are assigned during driver prob based on of_device_is_compatible check.
Jira TDS-15438
Change-Id: Ia8d68cd658eaa06dd5d06e8ba92f32907a31fd4f
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3225858
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
2025-07-24 10:19:09 +00:00
Mahesh Kumar
96b5772e6d
platform: dce: Pass hsp-id to the hsp ss functions
...
This patch modifies HSP SS functions to use hsp-id a s input.
This is a prework to support multiple instances of DCE HSP.
Jira TDS-15438
Change-Id: Ie359032100fac593dc789fa2f3aefda6123dce7b
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3225856
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com >
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com >
2025-07-24 10:19:09 +00:00
Mahesh Kumar
2ea5632398
platform: dce: reset condition variable after use
...
Once we complete EVENT_ID_DCE_BOOT_COMPLETE_RECEIVED event handling, it
doesn't reset the complition variable. Which causes
dce_wait_interruptible to exit early without waiting in next cycle.
This patch fixes the same by resetting complition variable after use for
EVENT_ID_DCE_BOOT_COMPLETE_RECEIVED.
Bug 4167219
Change-Id: Id9b9047fa0e293f8616e23a5c8b4b1bacf233934
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2927740
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-07-12 19:00:52 -07:00
Mahesh Kumar
d4185fbe2e
platform: dce: add delay between ipc_notify admin-seq
...
Add a few microseconds delay between sending ipc-notify calls for IPC
channel reset. IPC notify ACKs are asynchronous and sending notify when
the previous ACK was still in progress will cause spurious interrupt/ACK
signal and printout FSP state warnings.
Bug 4069133
Change-Id: I20dff299149a66629dc23ab2a7cb7765eac1b4dc
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2900570
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Vinod Atyam <vatyam@nvidia.com >
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com >
Tested-by: Vinod Atyam <vatyam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2902404
2023-05-15 01:18:59 -07:00
Laxman Dewangan
b20c5f57e3
dce: Use SPDX license GPL 2.0-only format
...
Use SPDX license GPL-V2.0 format and change Nvidia
copyright year to include 2023.
Bug 4078035
Change-Id: Icc0060431eb8d9c470a44f4cee50913cc1d8048a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2890656
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-21 11:41:56 -07:00
vinodg
658865f51a
platform: dce: fix missing static declarations
...
Fix sparse errors for static declaration.
Update functions and variables defined and used
in the same source files with static declaration.
Bug 3646321
Change-Id: I378b0f514aedf265420c2eb454691e85c378cd95
Signed-off-by: vinodg <vinodg@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2846452
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: Ketan Patil <ketanp@nvidia.com >
Reviewed-by: Sachin Nikam <snikam@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
2023-04-14 19:23:43 +00:00
Mahesh Kumar
387a379024
platform: dce: add wait in ipc registration
...
If DCE bootstrapping is not complete, client registration may fail or
result in IPC failures.
Wait for bootstrapping to complete before registering any IPC-Client.
Use high priority work queue to schedule bootstrap work.
Bug 3583331
Bug 3826630
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Change-Id: I0facfe225e1550c795c2de7b42916416faa3bcaa
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2834857
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2824219
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
2023-04-14 19:23:43 +00:00
Mahesh Kumar
75bfcf326d
platform: dce: Add suspend resume hooks
...
Add suspend resume hooks function and handling of sc7 events.
Bug 3583331
Bug 3826630
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Change-Id: I920b02ad46a76330febe666fe17e8d328f744b1d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2834856
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2824218
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com >
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
2023-04-14 19:23:43 +00:00
Mahesh Kumar
8ef1f2db87
platform: dce: FSM incremental fixes
...
This patch addresses design review comments for FSM
- Add comment to update design doc on FSM update
- Create wrapper function to check bootcmd complete status
- move bootstrapping functions to dce_bootstrap.c file
- Fix sw resource init/deinit function name
Bug 3583331
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Change-Id: I77f05135f7ec1882922907f8acef50def639d26d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2758902
Reviewed-by: Santosh Galma <galmar@nvidia.com >
Reviewed-by: svcacv <svcacv@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-14 19:23:43 +00:00
Mahesh Kumar
28a1cfd1c1
platform: dce: reworked dce FSM design
...
Redesign DCE KMD drive state machine to handle new PM events.
Bug 3583331
Change-Id: I89adcfa2f311a9a1e86b70e14821468203365266
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2673665
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-14 19:23:43 +00:00
Mahesh Kumar
ef3f18c398
tegra: dce: suppress unnecessary info logs
...
This patch removes unnecessary dce_info prints to avoid flooding of uart
logs.
JIRA TDS-5691
Change-Id: I9c9a32815e685504b443f24483502fe019ac0eaf
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-t23x/+/2375553
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Santosh Galma <galmar@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-14 19:23:43 +00:00
Mahesh Kumar
dc3e980731
tegra: dce: Add debugfs node to show boot status
...
This patch adds a debugfs node to show DCE boot status.
It also adds following dce boot marker in logs
- DCE_BOOT_DONE
- DCE_BOOT_FAILED
JIRA TDS-5691
Change-Id: Iada5c1234e5e5f1a5e7afd88dcb94c2da6a3fe1c
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-t23x/+/2361287
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Santosh Galma <galmar@nvidia.com >
Reviewed-by: Arun Swain <arswain@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: Santosh Galma <galmar@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-14 19:23:43 +00:00
Arun Swain
606f03fbf2
platform: tegra: dce: add dce kernel driver
...
For T23x, we have a separate R5 based cluster
named as Display Controller Engine(DCE) to run
our Display RM code. This driver will run on CPU
with the following functionality:
Via debugfs for test and bring-up purposes:
1. Reads the DCE firmware image into DRAM.
2. Sets up DCE AST to cover the DCE firmware image.
3. Sets up R5 reset vector to point to DCE firmware
entry point
4. Brings DCE out of reset
5. Dumps various regsiters for debug
In production env:
1. Manages interrupts to CPU from DCE
2. Uses bootstrap command interface to define Admin
IPC
3. Locks down bootstrap command interface
4. Uses Admin IPC to define message IPC
5. Uses Admin IPC to define message IPC payload area
6. Uses Admin IPC to set IPC channels
6. Uses Admin IPC to define crashdump area
(optional)
7. Provides IPC interfaces for any DCE Client running
on CCPLEX including Display RM.
8. Uses Admin IPC to set logging level (optional)
This patch puts a framework in place with the
following features :
1. Firmware Loading
2. AST Configuration
3. DCE Reset with EVP Programming
4. Logging Infra
5. Debugfs Support
6. Interrupt Handling
7. Mailbox Programming
8. IPC Programming
9. DCE Client Interface
10. Ftrace Support for debug purposes
Change-Id: Idd28cd9254706c7313f531fcadaa7024a5b344e7
Signed-off-by: Arun Swain <arswain@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-t23x/+/2289865
Reviewed-by: automaticguardword <automaticguardword@nvidia.com >
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com >
Reviewed-by: Santosh Galma <galmar@nvidia.com >
Reviewed-by: Mitch Luban <mluban@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: Mahesh Kumar <mahkumar@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-14 19:23:43 +00:00