linux/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
   2/*
   3 * Copyright (C) 2018-2019 Intel Corporation
   4 */
   5#ifndef __iwl_dbg_tlv_h__
   6#define __iwl_dbg_tlv_h__
   7
   8#include <linux/device.h>
   9#include <linux/types.h>
  10
  11/**
  12 * struct iwl_dbg_tlv_node - debug TLV node
  13 * @list: list of &struct iwl_dbg_tlv_node
  14 * @tlv: debug TLV
  15 */
  16struct iwl_dbg_tlv_node {
  17        struct list_head list;
  18        struct iwl_ucode_tlv tlv;
  19};
  20
  21/**
  22 * union iwl_dbg_tlv_tp_data - data that is given in a time point
  23 * @fw_pkt: a packet received from the FW
  24 */
  25union iwl_dbg_tlv_tp_data {
  26        struct iwl_rx_packet *fw_pkt;
  27};
  28
  29/**
  30 * struct iwl_dbg_tlv_time_point_data
  31 * @trig_list: list of triggers
  32 * @active_trig_list: list of active triggers
  33 * @hcmd_list: list of host commands
  34 */
  35struct iwl_dbg_tlv_time_point_data {
  36        struct list_head trig_list;
  37        struct list_head active_trig_list;
  38        struct list_head hcmd_list;
  39};
  40
  41struct iwl_trans;
  42struct iwl_fw_runtime;
  43
  44void iwl_dbg_tlv_load_bin(struct device *dev, struct iwl_trans *trans);
  45void iwl_dbg_tlv_free(struct iwl_trans *trans);
  46void iwl_dbg_tlv_alloc(struct iwl_trans *trans, struct iwl_ucode_tlv *tlv,
  47                       bool ext);
  48void iwl_dbg_tlv_init(struct iwl_trans *trans);
  49void iwl_dbg_tlv_time_point(struct iwl_fw_runtime *fwrt,
  50                            enum iwl_fw_ini_time_point tp_id,
  51                            union iwl_dbg_tlv_tp_data *tp_data);
  52void iwl_dbg_tlv_del_timers(struct iwl_trans *trans);
  53
  54#endif /* __iwl_dbg_tlv_h__*/
  55