Files
linux-nv-oot/drivers/platform/tegra/dce/include/dce-hsp.h
anupamg f03b71480a DCE-KMD: Add new DCE OS interface: types.h
- This change will add new DCE OS interface for types.h.

- This DCE OS interface layer will act as entry point to OS layer
  from core DCE-KMD code.

- The intended usage is as follows.
    - DCE-KMD core will include respective OS header file from
      DCE OS interface.
        Eg. In dce-fsm.c
            #include <dce-os-types.h>
    - DCE OS interface will further include OS specific files
        Eg. In dce-os-types.h
            #include <os-types.h>
    - OS specific files will reside in respective OS specific paths.
        Eg. for Linux the path will be
            kernel/nvidia-oot/../dce/os/include/linux/os-types.h
        For HVRTOS the path will be
            display/server/os/include/hvrtos/os-types.h
    - The OS specific paths will be directly included in respective
      OS makefiles during compilation so that we don't need to use
      ifdefs within DCE OS interface layer.

- This is first change to follow this convention for types.h.
  We will have follow-up CLs to follow this suite for all other
  OS dependencies for DCE-KMD.

JIRA TDS-16126

Change-Id: Ied7bee6eac5de9134b973e74020df200707afa10
Signed-off-by: anupamg <anupamg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3224052
Reviewed-by: Mahesh Kumar <mahkumar@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Arun Swain <arswain@nvidia.com>
2025-07-24 10:19:12 +00:00

30 lines
992 B
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef DCE_HSP_H
#define DCE_HSP_H
#include <dce-os-types.h>
struct tegra_dce;
struct dce_hsp_fn {
u32 (*ss_get_state)(struct tegra_dce *d, u8 hsp_id, u8 id);
void (*ss_set)(struct tegra_dce *d, u8 bpos, u8 hsp_id, u8 id);
void (*ss_clear)(struct tegra_dce *d, u8 bpos, u8 hsp_id, u8 id);
void (*smb_set)(struct tegra_dce *d, u32 val, u8 hsp_id, u8 id);
void (*smb_set_full_ie)(struct tegra_dce *d, bool en, u8 hsp_id, u8 id);
u32 (*smb_read_full_ie)(struct tegra_dce *d, u8 hsp_id, u8 id);
void (*smb_set_empty_ie)(struct tegra_dce *d, bool en, u8 hsp_id, u8 id);
u32 (*smb_read)(struct tegra_dce *d, u8 hsp_id, u8 id);
u32 (*hsp_ie_read)(struct tegra_dce *d, u8 hsp_id, u8 id);
void (*hsp_ie_write)(struct tegra_dce *d, u32 val, u8 hsp_id, u8 id);
u32 (*hsp_ir_read)(struct tegra_dce *d, u8 hsp_id);
};
#endif