Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  iosm_ipc_trace.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only
 *
 * Copyright (C) 2020-2021 Intel Corporation.
 */


#ifndef IOSM_IPC_TRACE_H
#define IOSM_IPC_TRACE_H

#include <linux/debugfs.h>
#include <linux/relay.h>

#include "iosm_ipc_chnl_cfg.h"
#include "iosm_ipc_imem_ops.h"

/**
 * enum trace_ctrl_mode - State of trace channel
 * @TRACE_DISABLE: mode for disable trace
 * @TRACE_ENABLE: mode for enable trace
 */

enum trace_ctrl_mode {
 TRACE_DISABLE = 0,
 TRACE_ENABLE,
};

/**
 * struct iosm_trace - Struct for trace interface
 * @ipc_rchan: Pointer to relay channel
 * @ctrl_file: Pointer to trace control file
 * @ipc_imem: Imem instance
 * @dev: Pointer to device struct
 * @channel: Channel instance
 * @chl_id: Channel Identifier
 * @trc_mutex: Mutex used for read and write mode
 * @mode: Mode for enable and disable trace
 */


struct iosm_trace {
 struct rchan *ipc_rchan;
 struct dentry *ctrl_file;
 struct iosm_imem *ipc_imem;
 struct device *dev;
 struct ipc_mem_channel *channel;
 enum ipc_channel_id chl_id;
 struct mutex trc_mutex; /* Mutex used for read and write mode */
 enum trace_ctrl_mode mode;
};

#ifdef CONFIG_WWAN_DEBUGFS

static inline bool ipc_is_trace_channel(struct iosm_imem *ipc_mem, u16 chl_id)
{
 return ipc_mem->trace && ipc_mem->trace->chl_id == chl_id;
}

struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem);
void ipc_trace_deinit(struct iosm_trace *ipc_trace);
void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb);

#else

static inline bool ipc_is_trace_channel(struct iosm_imem *ipc_mem, u16 chl_id)
{
 return false;
}

static inline void ipc_trace_port_rx(struct iosm_imem *ipc_imem,
         struct sk_buff *skb)
{
 dev_kfree_skb(skb);
}

#endif

#endif

Messung V0.5
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge