Files
linux-nv-oot/drivers/platform/tegra/dce/Makefile
anupamg 801a2e1d07 DCE-KMD: Update DCE OS Worker Queue abstraction
- 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>
2025-07-24 10:19:13 +00:00

47 lines
1.7 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2022-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Display Controller Engine code.
#
GCOV_PROFILE := y
ifeq ($(CONFIG_TEGRA_OOT_MODULE),m)
CONFIG_TEGRA_DCE := m
else # CONFIG_TEGRA_OOT_MODULE
CONFIG_TEGRA_DCE := y
endif # CONFIG_TEGRA_OOT_MODULE
ccflags-y += -I$(srctree.nvidia-oot)/include
ccflags-y += -I$(srctree.nvidia-oot)/drivers/platform/tegra/dce/include
ccflags-y += -I$(srctree.nvidia-oot)/drivers/platform/tegra/dce/os/include
ccflags-y += -I$(srctree.nvidia-oot)/drivers/platform/tegra/dce/os/linux/include
obj-$(CONFIG_TEGRA_DCE) += tegra-dce.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-ast.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-reset.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-hsp-smb.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-hsp-ss.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-os-worker.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-fsm.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-init-deinit.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-mailbox.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-bootstrap.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-admin.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-ipc.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-ipc-signal.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-client-ipc.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-module.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-pm.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-os-work.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-os-utils.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-hsp-smb-t264.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-hsp-ss-t264.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-os-ivc.o
ifeq ($(CONFIG_DEBUG_FS),y)
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-debug.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-admin-debug.o
tegra-dce-$(CONFIG_TEGRA_DCE) += dce-debug-perf.o
endif