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>
This commit is contained in:
anupamg
2024-08-08 19:49:58 +00:00
committed by Jon Hunter
parent 06db88ae67
commit 644c60d35c
5 changed files with 39 additions and 13 deletions

View File

@@ -65,6 +65,12 @@ int dce_driver_init(struct tegra_dce *d)
goto err_client_init;
}
ret = dce_pm_init(d);
if (ret) {
dce_err(d, "Failed to init DCE Power management");
goto err_pm_init;
}
ret = dce_work_cond_sw_resource_init(d);
if (ret) {
dce_err(d, "dce sw resource init failed");
@@ -82,6 +88,8 @@ int dce_driver_init(struct tegra_dce *d)
err_fsm_init:
dce_work_cond_sw_resource_deinit(d);
err_sw_init:
dce_pm_deinit(d);
err_pm_init:
dce_client_deinit(d);
err_client_init:
dce_admin_deinit(d);
@@ -109,6 +117,8 @@ void dce_driver_deinit(struct tegra_dce *d)
dce_work_cond_sw_resource_deinit(d);
dce_pm_deinit(d);
dce_client_deinit(d);
dce_admin_deinit(d);