DCE-KMD: FSM: Don't acquire locks during init/de..

Dont't acquire locks during init/deinit.

- FSM init/deinit is expected to be called during init/deinit phase
  when everything else and FSM itself is inactive.

- FSM mutex is just initialized/deinit in the same functions where
  we're trying to acquire lock/release.
    - While it is techically ok in general but not requried.
    - Also HVRTOS restriction prevents to acquire mutexes in
      initialization phase.
        - Deinit can be called in Initization context to deinit
          if init fails.

JIRA TDS-16052

Change-Id: I19e10bb890a4ab6d011df4380ab3a6d5fe92c696
Signed-off-by: anupamg <anupamg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3178697
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-07-20 01:36:46 +00:00
committed by Jon Hunter
parent 4a304392dd
commit e9fdb45f72

View File

@@ -504,10 +504,8 @@ int dce_fsm_init(struct tegra_dce *d)
return ret; return ret;
} }
dce_mutex_lock(&fsm->lock);
fsm->d = d; fsm->d = d;
fsm->initialized = true; fsm->initialized = true;
dce_mutex_unlock(&fsm->lock);
return ret; return ret;
} }
@@ -523,9 +521,7 @@ void dce_fsm_deinit(struct tegra_dce *d)
{ {
struct dce_fsm_info *fsm = &d->fsm_info; struct dce_fsm_info *fsm = &d->fsm_info;
dce_mutex_lock(&fsm->lock);
fsm->initialized = false; fsm->initialized = false;
dce_mutex_unlock(&fsm->lock);
dce_mutex_destroy(&fsm->lock); dce_mutex_destroy(&fsm->lock);
} }