- This change will remove linux nuances from dce-client-ipc.c
file and make it a core DCE-KMD file agnostic to OS.
- To do that, dce-client-ipc module will repalce linux specific
nuances for work queue related functionality with
dce-os-work module.
- Further to support existing dce_client_ipc asyn callback function
we need to make worker queue more generic by allowing clients
to pass any data of their choice as data param to the
callback function.
- Also take this opportunity to make following functions static:
- dce_resume_work_fn()
- dce_bootstrap_work_fn()
JIRA TDS-16581
Change-Id: I741b8675dd67ef932ee462e16cad016cbe8b7e2c
Signed-off-by: anupamg <anupamg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3257808
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Reviewed-by: Arun Swain <arswain@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
- This is pre-req to make dce-client-ipc.c a core file and use
it for HVRTOS as well.
- dce-client-ipc.c uses worker queues today to manage async events.
But instead of using existing dce-os-work abstraction it
directly uses linux structs/calls.
- Current dce-os-work abstraction cannot be used as is for
dce-client-ipc.c as it only allows scheduling work
to system hipri work queue. But dce-client-ipc creates
and schedules work to a new worker queue.
- To allow dce-client-ipc.c use exising dce-os-work abstraction,
we need to make it more generic such that work can be scheduled
either to a new queue or existing system hipri work queue.
- This CL will update worker queue abstraction to make it more generic
and start using it for usecases which use default sys hipri WQ.
- There will be a follow-up CL for dce-client-ipc to start using
this abstraction.
- Further, this change will also make WQ and work structs
opaque and make dce-os-work.h a common header.
JIRA TDS-16126
Change-Id: I4d8a274a277f6dc08dc67847c1e3a3e35fb839b0
Signed-off-by: anupamg <anupamg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3257738
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Reviewed-by: Arun Swain <arswain@nvidia.com>