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

debugfs.h (2533B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef B43_DEBUGFS_H_
      3#define B43_DEBUGFS_H_
      4
      5struct b43_wldev;
      6struct b43_txstatus;
      7
      8enum b43_dyndbg {		/* Dynamic debugging features */
      9	B43_DBG_XMITPOWER,
     10	B43_DBG_DMAOVERFLOW,
     11	B43_DBG_DMAVERBOSE,
     12	B43_DBG_PWORK_FAST,
     13	B43_DBG_PWORK_STOP,
     14	B43_DBG_LO,
     15	B43_DBG_FIRMWARE,
     16	B43_DBG_KEYS,
     17	B43_DBG_VERBOSESTATS,
     18	__B43_NR_DYNDBG,
     19};
     20
     21#ifdef CONFIG_B43_DEBUG
     22
     23struct dentry;
     24
     25#define B43_NR_LOGGED_TXSTATUS	100
     26
     27struct b43_txstatus_log {
     28	/* This structure is protected by wl->mutex */
     29
     30	struct b43_txstatus *log;
     31	int end;
     32};
     33
     34struct b43_dfs_file {
     35	char *buffer;
     36	size_t data_len;
     37};
     38
     39struct b43_dfsentry {
     40	struct b43_wldev *dev;
     41	struct dentry *subdir;
     42
     43	struct b43_dfs_file file_shm16read;
     44	struct b43_dfs_file file_shm16write;
     45	struct b43_dfs_file file_shm32read;
     46	struct b43_dfs_file file_shm32write;
     47	struct b43_dfs_file file_mmio16read;
     48	struct b43_dfs_file file_mmio16write;
     49	struct b43_dfs_file file_mmio32read;
     50	struct b43_dfs_file file_mmio32write;
     51	struct b43_dfs_file file_txstat;
     52	struct b43_dfs_file file_txpower_g;
     53	struct b43_dfs_file file_restart;
     54	struct b43_dfs_file file_loctls;
     55
     56	struct b43_txstatus_log txstatlog;
     57
     58	/* The cached address for the next mmio16read file read */
     59	u16 mmio16read_next;
     60	/* The cached address for the next mmio32read file read */
     61	u16 mmio32read_next;
     62
     63	/* The cached address for the next shm16read file read */
     64	u32 shm16read_routing_next;
     65	u32 shm16read_addr_next;
     66	/* The cached address for the next shm32read file read */
     67	u32 shm32read_routing_next;
     68	u32 shm32read_addr_next;
     69
     70	/* Enabled/Disabled list for the dynamic debugging features. */
     71	bool dyn_debug[__B43_NR_DYNDBG];
     72};
     73
     74bool b43_debug(struct b43_wldev *dev, enum b43_dyndbg feature);
     75
     76void b43_debugfs_init(void);
     77void b43_debugfs_exit(void);
     78void b43_debugfs_add_device(struct b43_wldev *dev);
     79void b43_debugfs_remove_device(struct b43_wldev *dev);
     80void b43_debugfs_log_txstat(struct b43_wldev *dev,
     81			    const struct b43_txstatus *status);
     82
     83#else /* CONFIG_B43_DEBUG */
     84
     85static inline bool b43_debug(struct b43_wldev *dev, enum b43_dyndbg feature)
     86{
     87	return false;
     88}
     89
     90static inline void b43_debugfs_init(void)
     91{
     92}
     93static inline void b43_debugfs_exit(void)
     94{
     95}
     96static inline void b43_debugfs_add_device(struct b43_wldev *dev)
     97{
     98}
     99static inline void b43_debugfs_remove_device(struct b43_wldev *dev)
    100{
    101}
    102static inline void b43_debugfs_log_txstat(struct b43_wldev *dev,
    103					  const struct b43_txstatus *status)
    104{
    105}
    106
    107#endif /* CONFIG_B43_DEBUG */
    108
    109#endif /* B43_DEBUGFS_H_ */