0001
0002
0003
0004
0005
0006 struct smsdvb_debugfs;
0007 struct smsdvb_client_t;
0008
0009 typedef void (*sms_prt_dvb_stats_t)(struct smsdvb_debugfs *debug_data,
0010 struct sms_stats *p);
0011
0012 typedef void (*sms_prt_isdb_stats_t)(struct smsdvb_debugfs *debug_data,
0013 struct sms_isdbt_stats *p);
0014
0015 typedef void (*sms_prt_isdb_stats_ex_t)
0016 (struct smsdvb_debugfs *debug_data,
0017 struct sms_isdbt_stats_ex *p);
0018
0019
0020 struct smsdvb_client_t {
0021 struct list_head entry;
0022
0023 struct smscore_device_t *coredev;
0024 struct smscore_client_t *smsclient;
0025
0026 struct dvb_adapter adapter;
0027 struct dvb_demux demux;
0028 struct dmxdev dmxdev;
0029 struct dvb_frontend frontend;
0030
0031 enum fe_status fe_status;
0032
0033 struct completion tune_done;
0034 struct completion stats_done;
0035
0036 int last_per;
0037
0038 int legacy_ber, legacy_per;
0039
0040 int event_fe_state;
0041 int event_unc_state;
0042
0043 unsigned long get_stats_jiffies;
0044
0045 int feed_users;
0046 bool has_tuned;
0047
0048
0049 struct dentry *debugfs;
0050
0051 struct smsdvb_debugfs *debug_data;
0052
0053 sms_prt_dvb_stats_t prt_dvb_stats;
0054 sms_prt_isdb_stats_t prt_isdb_stats;
0055 sms_prt_isdb_stats_ex_t prt_isdb_stats_ex;
0056 };
0057
0058
0059
0060
0061
0062
0063 struct RECEPTION_STATISTICS_PER_SLICES_S {
0064 u32 result;
0065 u32 snr;
0066 s32 in_band_power;
0067 u32 ts_packets;
0068 u32 ets_packets;
0069 u32 constellation;
0070 u32 hp_code;
0071 u32 tps_srv_ind_lp;
0072 u32 tps_srv_ind_hp;
0073 u32 cell_id;
0074 u32 reason;
0075 u32 request_id;
0076 u32 modem_state;
0077
0078 u32 ber;
0079 s32 RSSI;
0080 s32 carrier_offset;
0081
0082 u32 is_rf_locked;
0083 u32 is_demod_locked;
0084
0085 u32 ber_bit_count;
0086 u32 ber_error_count;
0087
0088 s32 MRC_SNR;
0089 s32 mrc_in_band_pwr;
0090 s32 MRC_RSSI;
0091 };
0092
0093
0094 #ifdef CONFIG_SMS_SIANO_DEBUGFS
0095
0096 int smsdvb_debugfs_create(struct smsdvb_client_t *client);
0097 void smsdvb_debugfs_release(struct smsdvb_client_t *client);
0098 void smsdvb_debugfs_register(void);
0099 void smsdvb_debugfs_unregister(void);
0100
0101 #else
0102
0103 static inline int smsdvb_debugfs_create(struct smsdvb_client_t *client)
0104 {
0105 return 0;
0106 }
0107
0108 static inline void smsdvb_debugfs_release(struct smsdvb_client_t *client) {}
0109
0110 static inline void smsdvb_debugfs_register(void) {}
0111
0112 static inline void smsdvb_debugfs_unregister(void) {};
0113
0114 #endif
0115