Files
linux-nv-oot/drivers/misc/nvsciipc/nvsciipc.h
Jon Hunter 36e3d424b8 Revert "nvsciipc: Include change for nvsciipc_ioctl.h"
This reverts commit ee72e995da1ee31177a06053b4c89f3ba6a1060a.

Reason for revert: This breaks building the OOT modules standalone without the GPU sources which are not public. Futhermore, this header
appears to be internal and so should not be included in sources that
are distributed publicly.

Jira: NVIPC-2817

Change-Id: I9a98056b004b7b6454473957f488020718eabfd4
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3263605
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:19:11 +00:00

70 lines
1.9 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2019-2023, NVIDIA CORPORATION. All rights reserved.
*/
#ifndef __NVSCIIPC_KERNEL_H__
#define __NVSCIIPC_KERNEL_H__
#include <linux/nvscierror.h>
#include <linux/nvsciipc_interface.h>
#include <uapi/linux/nvsciipc_ioctl.h>
#define ERR(...) pr_err("nvsciipc: " __VA_ARGS__)
#define INFO(...) pr_info("nvsciipc: " __VA_ARGS__)
#define DBG(...) pr_debug("nvsciipc: " __VA_ARGS__)
#define MODULE_NAME "nvsciipc"
#define MAX_NAME_SIZE 64
#define NVSCIIPC_BACKEND_ITC 0U
#define NVSCIIPC_BACKEND_IPC 1U
#define NVSCIIPC_BACKEND_IVC 2U
#define NVSCIIPC_BACKEND_C2C_PCIE 3U
#define NVSCIIPC_BACKEND_C2C_NPM 4U
#define NVSCIIPC_BACKEND_UNKNOWN 0xFFFFFFFFU
struct nvsciipc {
struct device *dev;
dev_t dev_t;
struct class *nvsciipc_class;
struct cdev cdev;
struct device *device;
char device_name[MAX_NAME_SIZE];
int num_eps;
struct nvsciipc_config_entry **db;
volatile bool set_db_f;
};
struct vuid_bitfield_64 {
uint64_t index : 16;
uint64_t type : 4;
uint64_t vmid : 8;
uint64_t socid : 28;
uint64_t reserved : 8;
};
union nvsciipc_vuid_64 {
uint64_t value;
struct vuid_bitfield_64 bit;
};
/***********************************************************************/
/********************* Functions declaration ***************************/
/***********************************************************************/
static void nvsciipc_cleanup(struct nvsciipc *ctx);
static int nvsciipc_dev_open(struct inode *inode, struct file *filp);
static int nvsciipc_dev_release(struct inode *inode, struct file *filp);
static long nvsciipc_dev_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg);
static int nvsciipc_ioctl_get_vuid(struct nvsciipc *ctx, unsigned int cmd,
unsigned long arg);
static int nvsciipc_ioctl_set_db(struct nvsciipc *ctx, unsigned int cmd,
unsigned long arg);
#endif /* __NVSCIIPC_KERNEL_H__ */