1 /* 2 * Copyright (C) 2017 Chelsio Communications. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms and conditions of the GNU General Public License, 6 * version 2, as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope it will be useful, but WITHOUT 9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 * more details. 12 * 13 * The full GNU General Public License is included in this distribution in 14 * the file called "COPYING". 15 * 16 */ 17 18 #ifndef __CUDBG_IF_H__ 19 #define __CUDBG_IF_H__ 20 21 /* Error codes */ 22 #define CUDBG_STATUS_NO_MEM -19 23 #define CUDBG_STATUS_ENTITY_NOT_FOUND -24 24 #define CUDBG_SYSTEM_ERROR -29 25 26 #define CUDBG_MAJOR_VERSION 1 27 #define CUDBG_MINOR_VERSION 14 28 29 enum cudbg_dbg_entity_type { 30 CUDBG_REG_DUMP = 1, 31 CUDBG_DEV_LOG = 2, 32 CUDBG_CIM_IBQ_TP0 = 6, 33 CUDBG_CIM_IBQ_TP1 = 7, 34 CUDBG_CIM_IBQ_ULP = 8, 35 CUDBG_CIM_IBQ_SGE0 = 9, 36 CUDBG_CIM_IBQ_SGE1 = 10, 37 CUDBG_CIM_IBQ_NCSI = 11, 38 CUDBG_CIM_OBQ_ULP0 = 12, 39 CUDBG_CIM_OBQ_ULP1 = 13, 40 CUDBG_CIM_OBQ_ULP2 = 14, 41 CUDBG_CIM_OBQ_ULP3 = 15, 42 CUDBG_CIM_OBQ_SGE = 16, 43 CUDBG_CIM_OBQ_NCSI = 17, 44 CUDBG_EDC0 = 18, 45 CUDBG_EDC1 = 19, 46 CUDBG_TP_INDIRECT = 36, 47 CUDBG_SGE_INDIRECT = 37, 48 CUDBG_CIM_OBQ_RXQ0 = 47, 49 CUDBG_CIM_OBQ_RXQ1 = 48, 50 CUDBG_PCIE_INDIRECT = 50, 51 CUDBG_PM_INDIRECT = 51, 52 CUDBG_MA_INDIRECT = 61, 53 CUDBG_UP_CIM_INDIRECT = 64, 54 CUDBG_MBOX_LOG = 66, 55 CUDBG_HMA_INDIRECT = 67, 56 CUDBG_MAX_ENTITY = 70, 57 }; 58 59 struct cudbg_init { 60 struct adapter *adap; /* Pointer to adapter structure */ 61 void *outbuf; /* Output buffer */ 62 u32 outbuf_size; /* Output buffer size */ 63 }; 64 65 static inline unsigned int cudbg_mbytes_to_bytes(unsigned int size) 66 { 67 return size * 1024 * 1024; 68 } 69 #endif /* __CUDBG_IF_H__ */ 70