2019-02-15 22:39:13 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
|
|
|
*
|
|
|
|
* Copyright 2016-2018 HabanaLabs, Ltd.
|
|
|
|
* All Rights Reserved.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef HABANALABS_H_
|
|
|
|
#define HABANALABS_H_
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
#include <linux/ioctl.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Defines that are asic-specific but constitutes as ABI between kernel driver
|
|
|
|
* and userspace
|
|
|
|
*/
|
|
|
|
#define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START 0x8000 /* 32KB */
|
|
|
|
|
2019-02-15 22:39:15 +00:00
|
|
|
/* Opcode to create a new command buffer */
|
|
|
|
#define HL_CB_OP_CREATE 0
|
|
|
|
/* Opcode to destroy previously created command buffer */
|
|
|
|
#define HL_CB_OP_DESTROY 1
|
|
|
|
|
|
|
|
struct hl_cb_in {
|
|
|
|
/* Handle of CB or 0 if we want to create one */
|
|
|
|
__u64 cb_handle;
|
|
|
|
/* HL_CB_OP_* */
|
|
|
|
__u32 op;
|
|
|
|
/* Size of CB. Minimum requested size must be PAGE_SIZE */
|
|
|
|
__u32 cb_size;
|
|
|
|
/* Context ID - Currently not in use */
|
|
|
|
__u32 ctx_id;
|
|
|
|
__u32 pad;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct hl_cb_out {
|
|
|
|
/* Handle of CB */
|
|
|
|
__u64 cb_handle;
|
|
|
|
};
|
|
|
|
|
|
|
|
union hl_cb_args {
|
|
|
|
struct hl_cb_in in;
|
|
|
|
struct hl_cb_out out;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Command Buffer
|
|
|
|
* - Request a Command Buffer
|
|
|
|
* - Destroy a Command Buffer
|
|
|
|
*
|
|
|
|
* The command buffers are memory blocks that reside in DMA-able address
|
|
|
|
* space and are physically contiguous so they can be accessed by the device
|
|
|
|
* directly. They are allocated using the coherent DMA API.
|
|
|
|
*
|
|
|
|
* When creating a new CB, the IOCTL returns a handle of it, and the user-space
|
|
|
|
* process needs to use that handle to mmap the buffer so it can access them.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#define HL_IOCTL_CB \
|
|
|
|
_IOWR('H', 0x02, union hl_cb_args)
|
|
|
|
|
|
|
|
#define HL_COMMAND_START 0x02
|
|
|
|
#define HL_COMMAND_END 0x03
|
|
|
|
|
2019-02-15 22:39:13 +00:00
|
|
|
#endif /* HABANALABS_H_ */
|