Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / media / dvb-frontends / cxd2880 / cxd2880_tnrdmd_dvbt2_mon.h
blob5b7adaceff22ca0d9d82efd44e09b847f9ae5766
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * cxd2880_tnrdmd_dvbt2_mon.h
4 * Sony CXD2880 DVB-T2/T tuner + demodulator driver
5 * DVB-T2 monitor interface
7 * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
8 */
10 #ifndef CXD2880_TNRDMD_DVBT2_MON_H
11 #define CXD2880_TNRDMD_DVBT2_MON_H
13 #include "cxd2880_tnrdmd.h"
14 #include "cxd2880_dvbt2.h"
16 int cxd2880_tnrdmd_dvbt2_mon_sync_stat(struct cxd2880_tnrdmd
17 *tnr_dmd, u8 *sync_stat,
18 u8 *ts_lock_stat,
19 u8 *unlock_detected);
21 int cxd2880_tnrdmd_dvbt2_mon_sync_stat_sub(struct cxd2880_tnrdmd
22 *tnr_dmd,
23 u8 *sync_stat,
24 u8 *unlock_detected);
26 int cxd2880_tnrdmd_dvbt2_mon_carrier_offset(struct cxd2880_tnrdmd
27 *tnr_dmd, int *offset);
29 int cxd2880_tnrdmd_dvbt2_mon_carrier_offset_sub(struct
30 cxd2880_tnrdmd
31 *tnr_dmd,
32 int *offset);
34 int cxd2880_tnrdmd_dvbt2_mon_l1_pre(struct cxd2880_tnrdmd *tnr_dmd,
35 struct cxd2880_dvbt2_l1pre
36 *l1_pre);
38 int cxd2880_tnrdmd_dvbt2_mon_version(struct cxd2880_tnrdmd
39 *tnr_dmd,
40 enum cxd2880_dvbt2_version
41 *ver);
43 int cxd2880_tnrdmd_dvbt2_mon_ofdm(struct cxd2880_tnrdmd *tnr_dmd,
44 struct cxd2880_dvbt2_ofdm *ofdm);
46 int cxd2880_tnrdmd_dvbt2_mon_data_plps(struct cxd2880_tnrdmd
47 *tnr_dmd, u8 *plp_ids,
48 u8 *num_plps);
50 int cxd2880_tnrdmd_dvbt2_mon_active_plp(struct cxd2880_tnrdmd
51 *tnr_dmd,
52 enum
53 cxd2880_dvbt2_plp_btype
54 type,
55 struct cxd2880_dvbt2_plp
56 *plp_info);
58 int cxd2880_tnrdmd_dvbt2_mon_data_plp_error(struct cxd2880_tnrdmd
59 *tnr_dmd,
60 u8 *plp_error);
62 int cxd2880_tnrdmd_dvbt2_mon_l1_change(struct cxd2880_tnrdmd
63 *tnr_dmd, u8 *l1_change);
65 int cxd2880_tnrdmd_dvbt2_mon_l1_post(struct cxd2880_tnrdmd
66 *tnr_dmd,
67 struct cxd2880_dvbt2_l1post
68 *l1_post);
70 int cxd2880_tnrdmd_dvbt2_mon_bbheader(struct cxd2880_tnrdmd
71 *tnr_dmd,
72 enum cxd2880_dvbt2_plp_btype
73 type,
74 struct cxd2880_dvbt2_bbheader
75 *bbheader);
77 int cxd2880_tnrdmd_dvbt2_mon_in_bandb_ts_rate(struct cxd2880_tnrdmd
78 *tnr_dmd,
79 enum
80 cxd2880_dvbt2_plp_btype
81 type,
82 u32 *ts_rate_bps);
84 int cxd2880_tnrdmd_dvbt2_mon_spectrum_sense(struct cxd2880_tnrdmd
85 *tnr_dmd,
86 enum
87 cxd2880_tnrdmd_spectrum_sense
88 *sense);
90 int cxd2880_tnrdmd_dvbt2_mon_snr(struct cxd2880_tnrdmd *tnr_dmd,
91 int *snr);
93 int cxd2880_tnrdmd_dvbt2_mon_snr_diver(struct cxd2880_tnrdmd
94 *tnr_dmd, int *snr,
95 int *snr_main,
96 int *snr_sub);
98 int cxd2880_tnrdmd_dvbt2_mon_packet_error_number(struct
99 cxd2880_tnrdmd
100 *tnr_dmd,
101 u32 *pen);
103 int cxd2880_tnrdmd_dvbt2_mon_sampling_offset(struct cxd2880_tnrdmd
104 *tnr_dmd, int *ppm);
106 int cxd2880_tnrdmd_dvbt2_mon_sampling_offset_sub(struct
107 cxd2880_tnrdmd
108 *tnr_dmd,
109 int *ppm);
111 int cxd2880_tnrdmd_dvbt2_mon_qam(struct cxd2880_tnrdmd *tnr_dmd,
112 enum cxd2880_dvbt2_plp_btype type,
113 enum cxd2880_dvbt2_plp_constell
114 *qam);
116 int cxd2880_tnrdmd_dvbt2_mon_code_rate(struct cxd2880_tnrdmd
117 *tnr_dmd,
118 enum cxd2880_dvbt2_plp_btype
119 type,
120 enum
121 cxd2880_dvbt2_plp_code_rate
122 *code_rate);
124 int cxd2880_tnrdmd_dvbt2_mon_profile(struct cxd2880_tnrdmd
125 *tnr_dmd,
126 enum cxd2880_dvbt2_profile
127 *profile);
129 int cxd2880_tnrdmd_dvbt2_mon_ssi(struct cxd2880_tnrdmd *tnr_dmd,
130 u8 *ssi);
132 int cxd2880_tnrdmd_dvbt2_mon_ssi_sub(struct cxd2880_tnrdmd
133 *tnr_dmd, u8 *ssi);
135 #endif