linux/drivers/accel/habanalabs/include/goya/goya_packets.h

/* SPDX-License-Identifier: GPL-2.0
 *
 * Copyright 2017-2018 HabanaLabs, Ltd.
 * All Rights Reserved.
 *
 */

#ifndef GOYA_PACKETS_H
#define GOYA_PACKETS_H

#include <linux/types.h>

#define PACKET_HEADER_PACKET_ID_SHIFT
#define PACKET_HEADER_PACKET_ID_MASK

enum packet_id {};

#define GOYA_PKT_CTL_OPCODE_SHIFT
#define GOYA_PKT_CTL_OPCODE_MASK

#define GOYA_PKT_CTL_EB_SHIFT
#define GOYA_PKT_CTL_EB_MASK

#define GOYA_PKT_CTL_RB_SHIFT
#define GOYA_PKT_CTL_RB_MASK

#define GOYA_PKT_CTL_MB_SHIFT
#define GOYA_PKT_CTL_MB_MASK

/* All packets have, at least, an 8-byte header, which contains
 * the packet type. The kernel driver uses the packet header for packet
 * validation and to perform any necessary required preparation before
 * sending them off to the hardware.
 */
struct goya_packet {};

struct packet_nop {};

struct packet_stop {};

#define GOYA_PKT_WREG32_CTL_REG_OFFSET_SHIFT
#define GOYA_PKT_WREG32_CTL_REG_OFFSET_MASK

struct packet_wreg32 {};

struct packet_wreg_bulk {};

struct packet_msg_long {};

struct packet_msg_short {};

struct packet_msg_prot {};

struct packet_fence {};

#define GOYA_PKT_LIN_DMA_CTL_WO_SHIFT
#define GOYA_PKT_LIN_DMA_CTL_WO_MASK

#define GOYA_PKT_LIN_DMA_CTL_RDCOMP_SHIFT
#define GOYA_PKT_LIN_DMA_CTL_RDCOMP_MASK

#define GOYA_PKT_LIN_DMA_CTL_WRCOMP_SHIFT
#define GOYA_PKT_LIN_DMA_CTL_WRCOMP_MASK

#define GOYA_PKT_LIN_DMA_CTL_MEMSET_SHIFT
#define GOYA_PKT_LIN_DMA_CTL_MEMSET_MASK

#define GOYA_PKT_LIN_DMA_CTL_DMA_DIR_SHIFT
#define GOYA_PKT_LIN_DMA_CTL_DMA_DIR_MASK

struct packet_lin_dma {};

struct packet_cp_dma {};

#endif /* GOYA_PACKETS_H */