linux/drivers/accel/habanalabs/include/gaudi/gaudi_packets.h

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

#ifndef GAUDI_PACKETS_H
#define GAUDI_PACKETS_H

#include <linux/types.h>

#define PACKET_HEADER_PACKET_ID_SHIFT
#define PACKET_HEADER_PACKET_ID_MASK

enum packet_id {};

#define GAUDI_PKT_CTL_OPCODE_SHIFT
#define GAUDI_PKT_CTL_OPCODE_MASK

#define GAUDI_PKT_CTL_EB_SHIFT
#define GAUDI_PKT_CTL_EB_MASK

#define GAUDI_PKT_CTL_RB_SHIFT
#define GAUDI_PKT_CTL_RB_MASK

#define GAUDI_PKT_CTL_MB_SHIFT
#define GAUDI_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 gaudi_packet {};

struct packet_nop {};

struct packet_stop {};

struct packet_wreg32 {};

struct packet_wreg_bulk {};

#define GAUDI_PKT_LONG_CTL_OP_SHIFT
#define GAUDI_PKT_LONG_CTL_OP_MASK

struct packet_msg_long {};

#define GAUDI_PKT_SHORT_VAL_SOB_SYNC_VAL_SHIFT
#define GAUDI_PKT_SHORT_VAL_SOB_SYNC_VAL_MASK

#define GAUDI_PKT_SHORT_VAL_SOB_MOD_SHIFT
#define GAUDI_PKT_SHORT_VAL_SOB_MOD_MASK

#define GAUDI_PKT_SHORT_VAL_MON_SYNC_GID_SHIFT
#define GAUDI_PKT_SHORT_VAL_MON_SYNC_GID_MASK

#define GAUDI_PKT_SHORT_VAL_MON_MASK_SHIFT
#define GAUDI_PKT_SHORT_VAL_MON_MASK_MASK

#define GAUDI_PKT_SHORT_VAL_MON_MODE_SHIFT
#define GAUDI_PKT_SHORT_VAL_MON_MODE_MASK

#define GAUDI_PKT_SHORT_VAL_MON_SYNC_VAL_SHIFT
#define GAUDI_PKT_SHORT_VAL_MON_SYNC_VAL_MASK

#define GAUDI_PKT_SHORT_CTL_ADDR_SHIFT
#define GAUDI_PKT_SHORT_CTL_ADDR_MASK

#define GAUDI_PKT_SHORT_CTL_OP_SHIFT
#define GAUDI_PKT_SHORT_CTL_OP_MASK

#define GAUDI_PKT_SHORT_CTL_BASE_SHIFT
#define GAUDI_PKT_SHORT_CTL_BASE_MASK

struct packet_msg_short {};

struct packet_msg_prot {};

#define GAUDI_PKT_FENCE_CFG_DEC_VAL_SHIFT
#define GAUDI_PKT_FENCE_CFG_DEC_VAL_MASK

#define GAUDI_PKT_FENCE_CFG_TARGET_VAL_SHIFT
#define GAUDI_PKT_FENCE_CFG_TARGET_VAL_MASK

#define GAUDI_PKT_FENCE_CFG_ID_SHIFT
#define GAUDI_PKT_FENCE_CFG_ID_MASK

#define GAUDI_PKT_FENCE_CTL_PRED_SHIFT
#define GAUDI_PKT_FENCE_CTL_PRED_MASK

struct packet_fence {};

#define GAUDI_PKT_LIN_DMA_CTL_WRCOMP_EN_SHIFT
#define GAUDI_PKT_LIN_DMA_CTL_WRCOMP_EN_MASK

#define GAUDI_PKT_LIN_DMA_CTL_LIN_SHIFT
#define GAUDI_PKT_LIN_DMA_CTL_LIN_MASK

#define GAUDI_PKT_LIN_DMA_CTL_MEMSET_SHIFT
#define GAUDI_PKT_LIN_DMA_CTL_MEMSET_MASK

#define GAUDI_PKT_LIN_DMA_DST_ADDR_SHIFT
#define GAUDI_PKT_LIN_DMA_DST_ADDR_MASK

struct packet_lin_dma {};

struct packet_arb_point {};

struct packet_repeat {};

struct packet_wait {};

#define GAUDI_PKT_LOAD_AND_EXE_CFG_DST_SHIFT
#define GAUDI_PKT_LOAD_AND_EXE_CFG_DST_MASK

struct packet_load_and_exe {};

struct packet_cp_dma {};

#endif /* GAUDI_PACKETS_H */