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

smsdvb.h (2783B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/***********************************************************************
      3 *
      4 ***********************************************************************/
      5
      6struct smsdvb_debugfs;
      7struct smsdvb_client_t;
      8
      9typedef void (*sms_prt_dvb_stats_t)(struct smsdvb_debugfs *debug_data,
     10				    struct sms_stats *p);
     11
     12typedef void (*sms_prt_isdb_stats_t)(struct smsdvb_debugfs *debug_data,
     13				     struct sms_isdbt_stats *p);
     14
     15typedef void (*sms_prt_isdb_stats_ex_t)
     16			(struct smsdvb_debugfs *debug_data,
     17			 struct sms_isdbt_stats_ex *p);
     18
     19
     20struct smsdvb_client_t {
     21	struct list_head entry;
     22
     23	struct smscore_device_t *coredev;
     24	struct smscore_client_t *smsclient;
     25
     26	struct dvb_adapter      adapter;
     27	struct dvb_demux        demux;
     28	struct dmxdev           dmxdev;
     29	struct dvb_frontend     frontend;
     30
     31	enum fe_status          fe_status;
     32
     33	struct completion       tune_done;
     34	struct completion       stats_done;
     35
     36	int last_per;
     37
     38	int legacy_ber, legacy_per;
     39
     40	int event_fe_state;
     41	int event_unc_state;
     42
     43	unsigned long		get_stats_jiffies;
     44
     45	int			feed_users;
     46	bool			has_tuned;
     47
     48	/* stats debugfs data */
     49	struct dentry		*debugfs;
     50
     51	struct smsdvb_debugfs	*debug_data;
     52
     53	sms_prt_dvb_stats_t	prt_dvb_stats;
     54	sms_prt_isdb_stats_t	prt_isdb_stats;
     55	sms_prt_isdb_stats_ex_t	prt_isdb_stats_ex;
     56};
     57
     58/*
     59 * This struct is a mix of struct sms_rx_stats_ex and
     60 * struct sms_srvm_signal_status.
     61 * It was obtained by comparing the way it was filled by the original code
     62 */
     63struct RECEPTION_STATISTICS_PER_SLICES_S {
     64	u32 result;
     65	u32 snr;
     66	s32 in_band_power;
     67	u32 ts_packets;
     68	u32 ets_packets;
     69	u32 constellation;
     70	u32 hp_code;
     71	u32 tps_srv_ind_lp;
     72	u32 tps_srv_ind_hp;
     73	u32 cell_id;
     74	u32 reason;
     75	u32 request_id;
     76	u32 modem_state;		/* from SMSHOSTLIB_DVB_MODEM_STATE_ET */
     77
     78	u32 ber;		/* Post Viterbi BER [1E-5] */
     79	s32 RSSI;		/* dBm */
     80	s32 carrier_offset;	/* Carrier Offset in bin/1024 */
     81
     82	u32 is_rf_locked;		/* 0 - not locked, 1 - locked */
     83	u32 is_demod_locked;	/* 0 - not locked, 1 - locked */
     84
     85	u32 ber_bit_count;	/* Total number of SYNC bits. */
     86	u32 ber_error_count;	/* Number of erroneous SYNC bits. */
     87
     88	s32 MRC_SNR;		/* dB */
     89	s32 mrc_in_band_pwr;	/* In band power in dBM */
     90	s32 MRC_RSSI;		/* dBm */
     91};
     92
     93/* From smsdvb-debugfs.c */
     94#ifdef CONFIG_SMS_SIANO_DEBUGFS
     95
     96int smsdvb_debugfs_create(struct smsdvb_client_t *client);
     97void smsdvb_debugfs_release(struct smsdvb_client_t *client);
     98void smsdvb_debugfs_register(void);
     99void smsdvb_debugfs_unregister(void);
    100
    101#else
    102
    103static inline int smsdvb_debugfs_create(struct smsdvb_client_t *client)
    104{
    105	return 0;
    106}
    107
    108static inline void smsdvb_debugfs_release(struct smsdvb_client_t *client) {}
    109
    110static inline void smsdvb_debugfs_register(void) {}
    111
    112static inline void smsdvb_debugfs_unregister(void) {};
    113
    114#endif
    115