linux/drivers/net/wireless/iwlwifi/iwl-devtrace-io.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  12 * more details.
  13 *
  14 * You should have received a copy of the GNU General Public License along with
  15 * this program; if not, write to the Free Software Foundation, Inc.,
  16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17 *
  18 * The full GNU General Public License is included in this distribution in the
  19 * file called LICENSE.
  20 *
  21 * Contact Information:
  22 *  Intel Linux Wireless <ilw@linux.intel.com>
  23 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
  24 *
  25 *****************************************************************************/
  26
  27#if !defined(__IWLWIFI_DEVICE_TRACE_IO) || defined(TRACE_HEADER_MULTI_READ)
  28#define __IWLWIFI_DEVICE_TRACE_IO
  29
  30#include <linux/tracepoint.h>
  31
  32#undef TRACE_SYSTEM
  33#define TRACE_SYSTEM iwlwifi_io
  34
  35TRACE_EVENT(iwlwifi_dev_ioread32,
  36        TP_PROTO(const struct device *dev, u32 offs, u32 val),
  37        TP_ARGS(dev, offs, val),
  38        TP_STRUCT__entry(
  39                DEV_ENTRY
  40                __field(u32, offs)
  41                __field(u32, val)
  42        ),
  43        TP_fast_assign(
  44                DEV_ASSIGN;
  45                __entry->offs = offs;
  46                __entry->val = val;
  47        ),
  48        TP_printk("[%s] read io[%#x] = %#x",
  49                  __get_str(dev), __entry->offs, __entry->val)
  50);
  51
  52TRACE_EVENT(iwlwifi_dev_iowrite8,
  53        TP_PROTO(const struct device *dev, u32 offs, u8 val),
  54        TP_ARGS(dev, offs, val),
  55        TP_STRUCT__entry(
  56                DEV_ENTRY
  57                __field(u32, offs)
  58                __field(u8, val)
  59        ),
  60        TP_fast_assign(
  61                DEV_ASSIGN;
  62                __entry->offs = offs;
  63                __entry->val = val;
  64        ),
  65        TP_printk("[%s] write io[%#x] = %#x)",
  66                  __get_str(dev), __entry->offs, __entry->val)
  67);
  68
  69TRACE_EVENT(iwlwifi_dev_iowrite32,
  70        TP_PROTO(const struct device *dev, u32 offs, u32 val),
  71        TP_ARGS(dev, offs, val),
  72        TP_STRUCT__entry(
  73                DEV_ENTRY
  74                __field(u32, offs)
  75                __field(u32, val)
  76        ),
  77        TP_fast_assign(
  78                DEV_ASSIGN;
  79                __entry->offs = offs;
  80                __entry->val = val;
  81        ),
  82        TP_printk("[%s] write io[%#x] = %#x)",
  83                  __get_str(dev), __entry->offs, __entry->val)
  84);
  85
  86TRACE_EVENT(iwlwifi_dev_iowrite_prph32,
  87        TP_PROTO(const struct device *dev, u32 offs, u32 val),
  88        TP_ARGS(dev, offs, val),
  89        TP_STRUCT__entry(
  90                DEV_ENTRY
  91                __field(u32, offs)
  92                __field(u32, val)
  93        ),
  94        TP_fast_assign(
  95                DEV_ASSIGN;
  96                __entry->offs = offs;
  97                __entry->val = val;
  98        ),
  99        TP_printk("[%s] write PRPH[%#x] = %#x)",
 100                  __get_str(dev), __entry->offs, __entry->val)
 101);
 102
 103TRACE_EVENT(iwlwifi_dev_ioread_prph32,
 104        TP_PROTO(const struct device *dev, u32 offs, u32 val),
 105        TP_ARGS(dev, offs, val),
 106        TP_STRUCT__entry(
 107                DEV_ENTRY
 108                __field(u32, offs)
 109                __field(u32, val)
 110        ),
 111        TP_fast_assign(
 112                DEV_ASSIGN;
 113                __entry->offs = offs;
 114                __entry->val = val;
 115        ),
 116        TP_printk("[%s] read PRPH[%#x] = %#x",
 117                  __get_str(dev), __entry->offs, __entry->val)
 118);
 119
 120TRACE_EVENT(iwlwifi_dev_irq,
 121        TP_PROTO(const struct device *dev),
 122        TP_ARGS(dev),
 123        TP_STRUCT__entry(
 124                DEV_ENTRY
 125        ),
 126        TP_fast_assign(
 127                DEV_ASSIGN;
 128        ),
 129        /* TP_printk("") doesn't compile */
 130        TP_printk("%d", 0)
 131);
 132
 133TRACE_EVENT(iwlwifi_dev_ict_read,
 134        TP_PROTO(const struct device *dev, u32 index, u32 value),
 135        TP_ARGS(dev, index, value),
 136        TP_STRUCT__entry(
 137                DEV_ENTRY
 138                __field(u32, index)
 139                __field(u32, value)
 140        ),
 141        TP_fast_assign(
 142                DEV_ASSIGN;
 143                __entry->index = index;
 144                __entry->value = value;
 145        ),
 146        TP_printk("[%s] read ict[%d] = %#.8x",
 147                  __get_str(dev), __entry->index, __entry->value)
 148);
 149#endif /* __IWLWIFI_DEVICE_TRACE_IO */
 150
 151#undef TRACE_INCLUDE_PATH
 152#define TRACE_INCLUDE_PATH .
 153#undef TRACE_INCLUDE_FILE
 154#define TRACE_INCLUDE_FILE iwl-devtrace-io
 155#include <trace/define_trace.h>
 156