cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

debug.h (4535B)


      1/*
      2 * Copyright (c) 2011 Atheros Communications Inc.
      3 * Copyright (c) 2011-2012 Qualcomm Atheros, Inc.
      4 *
      5 * Permission to use, copy, modify, and/or distribute this software for any
      6 * purpose with or without fee is hereby granted, provided that the above
      7 * copyright notice and this permission notice appear in all copies.
      8 *
      9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16 */
     17
     18#ifndef DEBUG_H
     19#define DEBUG_H
     20
     21#include "hif.h"
     22#include "trace.h"
     23
     24enum ATH6K_DEBUG_MASK {
     25	ATH6KL_DBG_CREDIT	= BIT(0),
     26	/* hole */
     27	ATH6KL_DBG_WLAN_TX      = BIT(2),     /* wlan tx */
     28	ATH6KL_DBG_WLAN_RX      = BIT(3),     /* wlan rx */
     29	ATH6KL_DBG_BMI		= BIT(4),     /* bmi tracing */
     30	ATH6KL_DBG_HTC		= BIT(5),
     31	ATH6KL_DBG_HIF		= BIT(6),
     32	ATH6KL_DBG_IRQ		= BIT(7),     /* interrupt processing */
     33	/* hole */
     34	/* hole */
     35	ATH6KL_DBG_WMI          = BIT(10),    /* wmi tracing */
     36	ATH6KL_DBG_TRC	        = BIT(11),    /* generic func tracing */
     37	ATH6KL_DBG_SCATTER	= BIT(12),    /* hif scatter tracing */
     38	ATH6KL_DBG_WLAN_CFG     = BIT(13),    /* cfg80211 i/f file tracing */
     39	ATH6KL_DBG_RAW_BYTES    = BIT(14),    /* dump tx/rx frames */
     40	ATH6KL_DBG_AGGR		= BIT(15),    /* aggregation */
     41	ATH6KL_DBG_SDIO		= BIT(16),
     42	ATH6KL_DBG_SDIO_DUMP	= BIT(17),
     43	ATH6KL_DBG_BOOT		= BIT(18),    /* driver init and fw boot */
     44	ATH6KL_DBG_WMI_DUMP	= BIT(19),
     45	ATH6KL_DBG_SUSPEND	= BIT(20),
     46	ATH6KL_DBG_USB		= BIT(21),
     47	ATH6KL_DBG_USB_BULK	= BIT(22),
     48	ATH6KL_DBG_RECOVERY	= BIT(23),
     49	ATH6KL_DBG_ANY	        = 0xffffffff  /* enable all logs */
     50};
     51
     52extern unsigned int debug_mask;
     53__printf(2, 3) void ath6kl_printk(const char *level, const char *fmt, ...);
     54__printf(1, 2) void ath6kl_info(const char *fmt, ...);
     55__printf(1, 2) void ath6kl_err(const char *fmt, ...);
     56__printf(1, 2) void ath6kl_warn(const char *fmt, ...);
     57
     58enum ath6kl_war {
     59	ATH6KL_WAR_INVALID_RATE,
     60};
     61
     62int ath6kl_read_tgt_stats(struct ath6kl *ar, struct ath6kl_vif *vif);
     63
     64#ifdef CONFIG_ATH6KL_DEBUG
     65
     66__printf(2, 3)
     67void ath6kl_dbg(enum ATH6K_DEBUG_MASK mask, const char *fmt, ...);
     68void ath6kl_dbg_dump(enum ATH6K_DEBUG_MASK mask,
     69		     const char *msg, const char *prefix,
     70		     const void *buf, size_t len);
     71
     72void ath6kl_dump_registers(struct ath6kl_device *dev,
     73			   struct ath6kl_irq_proc_registers *irq_proc_reg,
     74			   struct ath6kl_irq_enable_reg *irq_en_reg);
     75void dump_cred_dist_stats(struct htc_target *target);
     76void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len);
     77void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war);
     78int ath6kl_debug_roam_tbl_event(struct ath6kl *ar, const void *buf,
     79				size_t len);
     80void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive);
     81void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar, u8 timeout);
     82void ath6kl_debug_init(struct ath6kl *ar);
     83int ath6kl_debug_init_fs(struct ath6kl *ar);
     84void ath6kl_debug_cleanup(struct ath6kl *ar);
     85
     86#else
     87__printf(2, 3)
     88static inline void ath6kl_dbg(enum ATH6K_DEBUG_MASK dbg_mask,
     89			      const char *fmt, ...)
     90{
     91}
     92
     93static inline void ath6kl_dbg_dump(enum ATH6K_DEBUG_MASK mask,
     94				   const char *msg, const char *prefix,
     95				   const void *buf, size_t len)
     96{
     97}
     98
     99static inline void ath6kl_dump_registers(struct ath6kl_device *dev,
    100		struct ath6kl_irq_proc_registers *irq_proc_reg,
    101		struct ath6kl_irq_enable_reg *irq_en_reg)
    102{
    103}
    104
    105static inline void dump_cred_dist_stats(struct htc_target *target)
    106{
    107}
    108
    109static inline void ath6kl_debug_fwlog_event(struct ath6kl *ar,
    110					    const void *buf, size_t len)
    111{
    112}
    113
    114static inline void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war)
    115{
    116}
    117
    118static inline int ath6kl_debug_roam_tbl_event(struct ath6kl *ar,
    119					      const void *buf, size_t len)
    120{
    121	return 0;
    122}
    123
    124static inline void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive)
    125{
    126}
    127
    128static inline void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar,
    129						       u8 timeout)
    130{
    131}
    132
    133static inline void ath6kl_debug_init(struct ath6kl *ar)
    134{
    135}
    136
    137static inline int ath6kl_debug_init_fs(struct ath6kl *ar)
    138{
    139	return 0;
    140}
    141
    142static inline void ath6kl_debug_cleanup(struct ath6kl *ar)
    143{
    144}
    145
    146#endif
    147#endif