diff --git a/drivers/platform/tegra/dce/dce-bootstrap.c b/drivers/platform/tegra/dce/dce-bootstrap.c index d91210c6..a212379d 100644 --- a/drivers/platform/tegra/dce/dce-bootstrap.c +++ b/drivers/platform/tegra/dce/dce-bootstrap.c @@ -416,7 +416,7 @@ int dce_boot_interface_init(struct tegra_dce *d) goto err_init; } - ret = dce_init_work(d, &d->dce_bootstrap_work, dce_bootstrap_work_fn); + ret = dce_os_work_init(d, &d->dce_bootstrap_work, dce_bootstrap_work_fn); if (ret) { dce_os_err(d, "Bootstrap work init failed"); goto err_init; diff --git a/drivers/platform/tegra/dce/dce-fsm.c b/drivers/platform/tegra/dce/dce-fsm.c index 3144feda..0e924c92 100644 --- a/drivers/platform/tegra/dce/dce-fsm.c +++ b/drivers/platform/tegra/dce/dce-fsm.c @@ -474,7 +474,7 @@ out: */ void dce_fsm_start(struct tegra_dce *d) { - dce_schedule_work(&d->dce_bootstrap_work); + dce_os_work_schedule(&d->dce_bootstrap_work); } /** diff --git a/drivers/platform/tegra/dce/dce-os-utils.c b/drivers/platform/tegra/dce/dce-os-utils.c index 1c29f797..8980e968 100644 --- a/drivers/platform/tegra/dce/dce-os-utils.c +++ b/drivers/platform/tegra/dce/dce-os-utils.c @@ -625,36 +625,36 @@ void dce_os_usleep_range(unsigned long min, unsigned long max) } /* - * dce_schedule_work : schedule work in global highpri workqueue + * dce_os_work_schedule : schedule work in global highpri workqueue * * @work : dce work to be scheduled * * Return : void */ -void dce_schedule_work(struct dce_work_struct *work) +void dce_os_work_schedule(struct dce_os_work_struct *work) { queue_work(system_highpri_wq, &work->work); } /* - * dce_work_handle_fn : handler function for scheduled dce-work + * dce_os_work_handle_fn : handler function for scheduled dce-work * * @work : Pointer to the scheduled work * * Return : void */ -static void dce_work_handle_fn(struct work_struct *work) +static void dce_os_work_handle_fn(struct work_struct *work) { - struct dce_work_struct *dce_work = container_of(work, - struct dce_work_struct, + struct dce_os_work_struct *dce_os_work = container_of(work, + struct dce_os_work_struct, work); - if (dce_work->dce_work_fn != NULL) - dce_work->dce_work_fn(dce_work->d); + if (dce_os_work->dce_os_work_fn != NULL) + dce_os_work->dce_os_work_fn(dce_os_work->d); } /* - * dce_init_work : Init dce work structure + * dce_os_work_init : Init dce work structure * * @d : Pointer to tegra_dce struct. * @work : Pointer to dce work structure @@ -662,14 +662,14 @@ static void dce_work_handle_fn(struct work_struct *work) * * Return : 0 if successful */ -int dce_init_work(struct tegra_dce *d, - struct dce_work_struct *work, +int dce_os_work_init(struct tegra_dce *d, + struct dce_os_work_struct *work, void (*work_fn)(struct tegra_dce *d)) { work->d = d; - work->dce_work_fn = work_fn; + work->dce_os_work_fn = work_fn; - INIT_WORK(&work->work, dce_work_handle_fn); + INIT_WORK(&work->work, dce_os_work_handle_fn); return 0; } diff --git a/drivers/platform/tegra/dce/dce-pm.c b/drivers/platform/tegra/dce/dce-pm.c index a388f301..d378ba27 100644 --- a/drivers/platform/tegra/dce/dce-pm.c +++ b/drivers/platform/tegra/dce/dce-pm.c @@ -117,7 +117,7 @@ int dce_pm_handle_sc7_exit_received_event(struct tegra_dce *d, void *params) if (params != NULL) dce_os_warn(d, "Params aren't expected in this function\n"); - dce_schedule_work(&d->dce_resume_work); + dce_os_work_schedule(&d->dce_resume_work); return 0; } @@ -181,7 +181,7 @@ int dce_pm_init(struct tegra_dce *d) { int ret = 0; - ret = dce_init_work(d, &d->dce_resume_work, dce_resume_work_fn); + ret = dce_os_work_init(d, &d->dce_resume_work, dce_resume_work_fn); if (ret) { dce_os_err(d, "resume work init failed"); goto done; diff --git a/drivers/platform/tegra/dce/include/dce-workqueue.h b/drivers/platform/tegra/dce/include/dce-workqueue.h deleted file mode 100644 index c1bf3240..00000000 --- a/drivers/platform/tegra/dce/include/dce-workqueue.h +++ /dev/null @@ -1,22 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -/* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved. - */ - -#ifndef DCE_WORKQUEUE_H -#define DCE_WORKQUEUE_H - -#include - -struct dce_work_struct { - struct tegra_dce *d; - struct work_struct work; - void (*dce_work_fn)(struct tegra_dce *d); -}; - -int dce_init_work(struct tegra_dce *d, - struct dce_work_struct *work, - void (*work_fn)(struct tegra_dce *d)); -void dce_schedule_work(struct dce_work_struct *work); - -#endif diff --git a/drivers/platform/tegra/dce/include/dce.h b/drivers/platform/tegra/dce/include/dce.h index 27e67846..b270fa3a 100644 --- a/drivers/platform/tegra/dce/include/dce.h +++ b/drivers/platform/tegra/dce/include/dce.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #define DCE_MAX_CPU_IRQS 4 @@ -148,11 +148,11 @@ struct tegra_dce { /** * dce_bootstrap_work : dce work to be executed to start FSM flow */ - struct dce_work_struct dce_bootstrap_work; + struct dce_os_work_struct dce_bootstrap_work; /** * dce_resume_work : dce work to executed dce resume flow */ - struct dce_work_struct dce_resume_work; + struct dce_os_work_struct dce_resume_work; /** * dce_sc7_state : structure to save/restore state during sc7 enter/exit */ diff --git a/drivers/platform/tegra/dce/os/include/os-dce-workqueue.h b/drivers/platform/tegra/dce/os/include/os-dce-workqueue.h deleted file mode 100644 index 36c7c344..00000000 --- a/drivers/platform/tegra/dce/os/include/os-dce-workqueue.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. - * SPDX-License-Identifier: LicenseRef-NvidiaProprietary - * - * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual - * property and proprietary rights in and to this material, related - * documentation and any modifications thereto. Any use, reproduction, - * disclosure or distribution of this material and related documentation - * without an express license agreement from NVIDIA CORPORATION or - * its affiliates is strictly prohibited. - */ - -#ifndef NVDISPLAY_SERVER_OS_DCE_WQ_H -#define NVDISPLAY_SERVER_OS_DCE_WQ_H - -#ifdef __KERNEL__ -#include -#elif defined(NVDISPLAY_SERVER_HVRTOS) -#include -#else -#error "OS Not Supported" -#endif - -int dce_init_work(struct tegra_dce *d, - struct dce_work_struct *work, - void (*work_fn)(struct tegra_dce *d)); - -void dce_schedule_work(struct dce_work_struct *work); - -#endif /* NVDISPLAY_SERVER_OS_DCE_WQ_H */ \ No newline at end of file diff --git a/drivers/platform/tegra/dce/os/linux/include/dce-os-work.h b/drivers/platform/tegra/dce/os/linux/include/dce-os-work.h new file mode 100644 index 00000000..debf10e9 --- /dev/null +++ b/drivers/platform/tegra/dce/os/linux/include/dce-os-work.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + */ + +#ifndef DCE_OS_WORK_H +#define DCE_OS_WORK_H + +#include + +struct dce_os_work_struct { + struct tegra_dce *d; + struct work_struct work; + void (*dce_os_work_fn)(struct tegra_dce *d); +}; + +int dce_os_work_init(struct tegra_dce *d, + struct dce_os_work_struct *work, + void (*work_fn)(struct tegra_dce *d)); +void dce_os_work_schedule(struct dce_os_work_struct *work); + +#endif /* DCE_OS_WORK_H */