linux/drivers/net/ethernet/chelsio/cxgb4/cudbg_if.h
<<
>>
Prefs
   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_STATUS_NOT_IMPLEMENTED -28
  25#define CUDBG_SYSTEM_ERROR -29
  26#define CUDBG_STATUS_CCLK_NOT_DEFINED -32
  27#define CUDBG_STATUS_PARTIAL_DATA -41
  28
  29#define CUDBG_MAJOR_VERSION 1
  30#define CUDBG_MINOR_VERSION 14
  31
  32enum cudbg_dbg_entity_type {
  33        CUDBG_REG_DUMP = 1,
  34        CUDBG_DEV_LOG = 2,
  35        CUDBG_CIM_LA = 3,
  36        CUDBG_CIM_MA_LA = 4,
  37        CUDBG_CIM_QCFG = 5,
  38        CUDBG_CIM_IBQ_TP0 = 6,
  39        CUDBG_CIM_IBQ_TP1 = 7,
  40        CUDBG_CIM_IBQ_ULP = 8,
  41        CUDBG_CIM_IBQ_SGE0 = 9,
  42        CUDBG_CIM_IBQ_SGE1 = 10,
  43        CUDBG_CIM_IBQ_NCSI = 11,
  44        CUDBG_CIM_OBQ_ULP0 = 12,
  45        CUDBG_CIM_OBQ_ULP1 = 13,
  46        CUDBG_CIM_OBQ_ULP2 = 14,
  47        CUDBG_CIM_OBQ_ULP3 = 15,
  48        CUDBG_CIM_OBQ_SGE = 16,
  49        CUDBG_CIM_OBQ_NCSI = 17,
  50        CUDBG_EDC0 = 18,
  51        CUDBG_EDC1 = 19,
  52        CUDBG_MC0 = 20,
  53        CUDBG_MC1 = 21,
  54        CUDBG_RSS = 22,
  55        CUDBG_RSS_VF_CONF = 25,
  56        CUDBG_PATH_MTU = 27,
  57        CUDBG_PM_STATS = 30,
  58        CUDBG_HW_SCHED = 31,
  59        CUDBG_TP_INDIRECT = 36,
  60        CUDBG_SGE_INDIRECT = 37,
  61        CUDBG_ULPRX_LA = 41,
  62        CUDBG_TP_LA = 43,
  63        CUDBG_MEMINFO = 44,
  64        CUDBG_CIM_PIF_LA = 45,
  65        CUDBG_CLK = 46,
  66        CUDBG_CIM_OBQ_RXQ0 = 47,
  67        CUDBG_CIM_OBQ_RXQ1 = 48,
  68        CUDBG_PCIE_INDIRECT = 50,
  69        CUDBG_PM_INDIRECT = 51,
  70        CUDBG_TID_INFO = 54,
  71        CUDBG_PCIE_CONFIG = 55,
  72        CUDBG_DUMP_CONTEXT = 56,
  73        CUDBG_MPS_TCAM = 57,
  74        CUDBG_VPD_DATA = 58,
  75        CUDBG_LE_TCAM = 59,
  76        CUDBG_CCTRL = 60,
  77        CUDBG_MA_INDIRECT = 61,
  78        CUDBG_ULPTX_LA = 62,
  79        CUDBG_UP_CIM_INDIRECT = 64,
  80        CUDBG_PBT_TABLE = 65,
  81        CUDBG_MBOX_LOG = 66,
  82        CUDBG_HMA_INDIRECT = 67,
  83        CUDBG_HMA = 68,
  84        CUDBG_MAX_ENTITY = 70,
  85};
  86
  87struct cudbg_init {
  88        struct adapter *adap; /* Pointer to adapter structure */
  89        void *outbuf; /* Output buffer */
  90        u32 outbuf_size;  /* Output buffer size */
  91        u8 compress_type; /* Type of compression to use */
  92        void *compress_buff; /* Compression buffer */
  93        u32 compress_buff_size; /* Compression buffer size */
  94        void *workspace; /* Workspace for zlib */
  95};
  96
  97static inline unsigned int cudbg_mbytes_to_bytes(unsigned int size)
  98{
  99        return size * 1024 * 1024;
 100}
 101#endif /* __CUDBG_IF_H__ */
 102