linux/drivers/accel/habanalabs/include/gaudi2/gaudi2_packets.h

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

#ifndef GAUDI2_PACKETS_H
#define GAUDI2_PACKETS_H

#include <linux/types.h>

#define PACKET_HEADER_PACKET_ID_SHIFT
#define PACKET_HEADER_PACKET_ID_MASK

enum packet_id {};

#define GAUDI2_PKT_CTL_OPCODE_SHIFT
#define GAUDI2_PKT_CTL_OPCODE_MASK

#define GAUDI2_PKT_CTL_EB_SHIFT
#define GAUDI2_PKT_CTL_EB_MASK

#define GAUDI2_PKT_CTL_RB_SHIFT
#define GAUDI2_PKT_CTL_RB_MASK

#define GAUDI2_PKT_CTL_MB_SHIFT
#define GAUDI2_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 gaudi2_packet {};

struct packet_nop {};

struct packet_stop {};

struct packet_wreg32 {};

struct packet_wreg_bulk {};

struct packet_msg_long {};

#define GAUDI2_PKT_SHORT_VAL_SOB_SYNC_VAL_SHIFT
#define GAUDI2_PKT_SHORT_VAL_SOB_SYNC_VAL_MASK

#define GAUDI2_PKT_SHORT_VAL_SOB_MOD_SHIFT
#define GAUDI2_PKT_SHORT_VAL_SOB_MOD_MASK

#define GAUDI2_PKT_SHORT_VAL_MON_SYNC_GID_SHIFT
#define GAUDI2_PKT_SHORT_VAL_MON_SYNC_GID_MASK

#define GAUDI2_PKT_SHORT_VAL_MON_MASK_SHIFT
#define GAUDI2_PKT_SHORT_VAL_MON_MASK_MASK

#define GAUDI2_PKT_SHORT_VAL_MON_MODE_SHIFT
#define GAUDI2_PKT_SHORT_VAL_MON_MODE_MASK

#define GAUDI2_PKT_SHORT_VAL_MON_SYNC_VAL_SHIFT
#define GAUDI2_PKT_SHORT_VAL_MON_SYNC_VAL_MASK

#define GAUDI2_PKT_SHORT_CTL_ADDR_SHIFT
#define GAUDI2_PKT_SHORT_CTL_ADDR_MASK

#define GAUDI2_PKT_SHORT_CTL_BASE_SHIFT
#define GAUDI2_PKT_SHORT_CTL_BASE_MASK

struct packet_msg_short {};

struct packet_msg_prot {};

#define GAUDI2_PKT_FENCE_CFG_DEC_VAL_SHIFT
#define GAUDI2_PKT_FENCE_CFG_DEC_VAL_MASK

#define GAUDI2_PKT_FENCE_CFG_TARGET_VAL_SHIFT
#define GAUDI2_PKT_FENCE_CFG_TARGET_VAL_MASK

#define GAUDI2_PKT_FENCE_CFG_ID_SHIFT
#define GAUDI2_PKT_FENCE_CFG_ID_MASK

#define GAUDI2_PKT_FENCE_CTL_PRED_SHIFT
#define GAUDI2_PKT_FENCE_CTL_PRED_MASK

struct packet_fence {};

#define GAUDI2_PKT_LIN_DMA_CTL_WRCOMP_SHIFT
#define GAUDI2_PKT_LIN_DMA_CTL_WRCOMP_MASK

#define GAUDI2_PKT_LIN_DMA_CTL_ENDIAN_SHIFT
#define GAUDI2_PKT_LIN_DMA_CTL_ENDIAN_MASK

#define GAUDI2_PKT_LIN_DMA_CTL_MEMSET_SHIFT
#define GAUDI2_PKT_LIN_DMA_CTL_MEMSET_MASK

#define GAUDI2_PKT_LIN_DMA_CTL_CONTEXT_ID_SHIFT
#define GAUDI2_PKT_LIN_DMA_CTL_CONTEXT_ID_MASK

struct packet_lin_dma {};

struct packet_arb_point {};

struct packet_repeat {};

struct packet_wait {};

struct packet_cb_list {};

struct packet_load_and_exe {};

struct packet_cp_dma {};

#endif /* GAUDI2_PACKETS_H */