mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Bug 4293372 Signed-off-by: Joshua Cha <joshuac@nvidia.com> Change-Id: I5c0cf142afdac9a6a1108a38513af6861272a8e9 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2995973 (cherry picked from commit ebedbb2492ea13211b53a48655e9312ba6b255dd) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3004066 Reviewed-by: Kurt Yi <kyi@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
*
|
|
* 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 __UAPI_TEGRA_IVC_DEV_H
|
|
#define __UAPI_TEGRA_IVC_DEV_H
|
|
|
|
#include <linux/ioctl.h>
|
|
|
|
#define IVC_INVALID_IPA 0U
|
|
#define IVC_TRAP_IPA 1U
|
|
#define IVC_MSI_IPA 2U
|
|
|
|
struct nvipc_ivc_info {
|
|
uint32_t nframes;
|
|
uint32_t frame_size;
|
|
uint32_t queue_offset;
|
|
uint32_t queue_size;
|
|
uint32_t area_size;
|
|
bool rx_first;
|
|
uint64_t noti_ipa;
|
|
uint16_t noti_irq;
|
|
uint16_t noti_type; /* IVC_TRAP_IPA, IVC_MSI_IPA */
|
|
};
|
|
|
|
/* IOCTL magic number */
|
|
#define NVIPC_IVC_IOCTL_MAGIC 0xAA
|
|
|
|
/* query ivc info */
|
|
#define NVIPC_IVC_IOCTL_GET_INFO \
|
|
_IOWR(NVIPC_IVC_IOCTL_MAGIC, 1, struct nvipc_ivc_info)
|
|
|
|
/* notify remote */
|
|
#define NVIPC_IVC_IOCTL_NOTIFY_REMOTE \
|
|
_IO(NVIPC_IVC_IOCTL_MAGIC, 2)
|
|
|
|
/* query vmid */
|
|
#define NVIPC_IVC_IOCTL_GET_VMID \
|
|
_IOR(NVIPC_IVC_IOCTL_MAGIC, 3, uint32_t)
|
|
|
|
#define NVIPC_IVC_IOCTL_NUMBER_MAX 3
|
|
|
|
int ivc_cdev_get_peer_vmid(uint32_t qid, uint32_t *peer_vmid);
|
|
int ivc_cdev_get_noti_type(uint32_t qid, uint32_t *noti_type);
|
|
|
|
#endif
|