otx_cpt_common.h (1084B)
1/* SPDX-License-Identifier: GPL-2.0 2 * Marvell OcteonTX CPT driver 3 * 4 * Copyright (C) 2019 Marvell International Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11#ifndef __OTX_CPT_COMMON_H 12#define __OTX_CPT_COMMON_H 13 14#include <linux/types.h> 15#include <linux/delay.h> 16#include <linux/device.h> 17 18#define OTX_CPT_MAX_MBOX_DATA_STR_SIZE 64 19 20enum otx_cptpf_type { 21 OTX_CPT_AE = 2, 22 OTX_CPT_SE = 3, 23 BAD_OTX_CPTPF_TYPE, 24}; 25 26enum otx_cptvf_type { 27 OTX_CPT_AE_TYPES = 1, 28 OTX_CPT_SE_TYPES = 2, 29 BAD_OTX_CPTVF_TYPE, 30}; 31 32/* VF-PF message opcodes */ 33enum otx_cpt_mbox_opcode { 34 OTX_CPT_MSG_VF_UP = 1, 35 OTX_CPT_MSG_VF_DOWN, 36 OTX_CPT_MSG_READY, 37 OTX_CPT_MSG_QLEN, 38 OTX_CPT_MSG_QBIND_GRP, 39 OTX_CPT_MSG_VQ_PRIORITY, 40 OTX_CPT_MSG_PF_TYPE, 41 OTX_CPT_MSG_ACK, 42 OTX_CPT_MSG_NACK 43}; 44 45/* OcteonTX CPT mailbox structure */ 46struct otx_cpt_mbox { 47 u64 msg; /* Message type MBOX[0] */ 48 u64 data;/* Data MBOX[1] */ 49}; 50 51#endif /* __OTX_CPT_COMMON_H */