root/drivers/media/common/siano/smsdvb.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. smsdvb_debugfs_create
  2. smsdvb_debugfs_release
  3. smsdvb_debugfs_register
  4. smsdvb_debugfs_unregister

   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /***********************************************************************
   3  *
   4  ***********************************************************************/
   5 
   6 struct smsdvb_debugfs;
   7 struct smsdvb_client_t;
   8 
   9 typedef void (*sms_prt_dvb_stats_t)(struct smsdvb_debugfs *debug_data,
  10                                     struct sms_stats *p);
  11 
  12 typedef void (*sms_prt_isdb_stats_t)(struct smsdvb_debugfs *debug_data,
  13                                      struct sms_isdbt_stats *p);
  14 
  15 typedef void (*sms_prt_isdb_stats_ex_t)
  16                         (struct smsdvb_debugfs *debug_data,
  17                          struct sms_isdbt_stats_ex *p);
  18 
  19 
  20 struct 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  */
  63 struct 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 
  96 int smsdvb_debugfs_create(struct smsdvb_client_t *client);
  97 void smsdvb_debugfs_release(struct smsdvb_client_t *client);
  98 void smsdvb_debugfs_register(void);
  99 void smsdvb_debugfs_unregister(void);
 100 
 101 #else
 102 
 103 static inline int smsdvb_debugfs_create(struct smsdvb_client_t *client)
 104 {
 105         return 0;
 106 }
 107 
 108 static inline void smsdvb_debugfs_release(struct smsdvb_client_t *client) {}
 109 
 110 static inline void smsdvb_debugfs_register(void) {}
 111 
 112 static inline void smsdvb_debugfs_unregister(void) {};
 113 
 114 #endif
 115 

/* [<][>][^][v][top][bottom][index][help] */