qman_if.h (1282B)
1/* SPDX-License-Identifier: GPL-2.0 2 * 3 * Copyright 2016-2018 HabanaLabs, Ltd. 4 * All Rights Reserved. 5 * 6 */ 7 8#ifndef QMAN_IF_H 9#define QMAN_IF_H 10 11#include <linux/types.h> 12 13/* 14 * PRIMARY QUEUE 15 */ 16 17struct hl_bd { 18 __le64 ptr; 19 __le32 len; 20 __le32 ctl; 21}; 22 23#define HL_BD_SIZE sizeof(struct hl_bd) 24 25/* 26 * S/W CTL FIELDS. 27 * 28 * BD_CTL_REPEAT_VALID tells the CP whether the repeat field in the BD CTL is 29 * valid. 1 means the repeat field is valid, 0 means not-valid, 30 * i.e. repeat == 1 31 */ 32#define BD_CTL_REPEAT_VALID_SHIFT 24 33#define BD_CTL_REPEAT_VALID_MASK 0x01000000 34 35#define BD_CTL_SHADOW_INDEX_SHIFT 0 36#define BD_CTL_SHADOW_INDEX_MASK 0x00000FFF 37 38/* 39 * H/W CTL FIELDS 40 */ 41 42#define BD_CTL_COMP_OFFSET_SHIFT 16 43#define BD_CTL_COMP_OFFSET_MASK 0x0FFF0000 44 45#define BD_CTL_COMP_DATA_SHIFT 0 46#define BD_CTL_COMP_DATA_MASK 0x0000FFFF 47 48/* 49 * COMPLETION QUEUE 50 */ 51 52struct hl_cq_entry { 53 __le32 data; 54}; 55 56#define HL_CQ_ENTRY_SIZE sizeof(struct hl_cq_entry) 57 58#define CQ_ENTRY_READY_SHIFT 31 59#define CQ_ENTRY_READY_MASK 0x80000000 60 61#define CQ_ENTRY_SHADOW_INDEX_VALID_SHIFT 30 62#define CQ_ENTRY_SHADOW_INDEX_VALID_MASK 0x40000000 63 64#define CQ_ENTRY_SHADOW_INDEX_SHIFT BD_CTL_SHADOW_INDEX_SHIFT 65#define CQ_ENTRY_SHADOW_INDEX_MASK BD_CTL_SHADOW_INDEX_MASK 66 67 68#endif /* QMAN_IF_H */