• Home
  • Raw
  • Download

Lines Matching +full:0 +full:x2b

26 	MB86A20S_13SEG = 0,
33 0xb0, 0xc0, 0xd0, 0xe0,
34 0xf0, 0x00, 0x10, 0x20,
67 { 0x70, 0x0f },
68 { 0x70, 0xff },
69 { 0x08, 0x01 },
70 { 0x50, 0xd1 }, { 0x51, 0x20 },
74 { 0x50, 0xd1 }, { 0x51, 0x22 },
75 { 0x39, 0x01 },
76 { 0x71, 0x00 },
77 { 0x3b, 0x21 },
78 { 0x3c, 0x3a },
79 { 0x01, 0x0d },
80 { 0x04, 0x08 }, { 0x05, 0x05 },
81 { 0x04, 0x0e }, { 0x05, 0x00 },
82 { 0x04, 0x0f }, { 0x05, 0x14 },
83 { 0x04, 0x0b }, { 0x05, 0x8c },
84 { 0x04, 0x00 }, { 0x05, 0x00 },
85 { 0x04, 0x01 }, { 0x05, 0x07 },
86 { 0x04, 0x02 }, { 0x05, 0x0f },
87 { 0x04, 0x03 }, { 0x05, 0xa0 },
88 { 0x04, 0x09 }, { 0x05, 0x00 },
89 { 0x04, 0x0a }, { 0x05, 0xff },
90 { 0x04, 0x27 }, { 0x05, 0x64 },
91 { 0x04, 0x28 }, { 0x05, 0x00 },
92 { 0x04, 0x1e }, { 0x05, 0xff },
93 { 0x04, 0x29 }, { 0x05, 0x0a },
94 { 0x04, 0x32 }, { 0x05, 0x0a },
95 { 0x04, 0x14 }, { 0x05, 0x02 },
96 { 0x04, 0x04 }, { 0x05, 0x00 },
97 { 0x04, 0x05 }, { 0x05, 0x22 },
98 { 0x04, 0x06 }, { 0x05, 0x0e },
99 { 0x04, 0x07 }, { 0x05, 0xd8 },
100 { 0x04, 0x12 }, { 0x05, 0x00 },
101 { 0x04, 0x13 }, { 0x05, 0xff },
110 { 0x52, 0x01 }, /* Turn on BER before Viterbi */
111 { 0x50, 0xa7 }, { 0x51, 0x00 },
112 { 0x50, 0xa8 }, { 0x51, 0xff },
113 { 0x50, 0xa9 }, { 0x51, 0xff },
114 { 0x50, 0xaa }, { 0x51, 0x00 },
115 { 0x50, 0xab }, { 0x51, 0xff },
116 { 0x50, 0xac }, { 0x51, 0xff },
117 { 0x50, 0xad }, { 0x51, 0x00 },
118 { 0x50, 0xae }, { 0x51, 0xff },
119 { 0x50, 0xaf }, { 0x51, 0xff },
128 { 0x5e, 0x07 }, /* Turn on BER after Viterbi */
129 { 0x50, 0xdc }, { 0x51, 0x00 },
130 { 0x50, 0xdd }, { 0x51, 0x7f },
131 { 0x50, 0xde }, { 0x51, 0x00 },
132 { 0x50, 0xdf }, { 0x51, 0x7f },
133 { 0x50, 0xe0 }, { 0x51, 0x00 },
134 { 0x50, 0xe1 }, { 0x51, 0x7f },
143 { 0x50, 0xb0 }, { 0x51, 0x07 }, /* Enable PER */
144 { 0x50, 0xb2 }, { 0x51, 0x00 },
145 { 0x50, 0xb3 }, { 0x51, 0x7f },
146 { 0x50, 0xb4 }, { 0x51, 0x00 },
147 { 0x50, 0xb5 }, { 0x51, 0x7f },
148 { 0x50, 0xb6 }, { 0x51, 0x00 },
149 { 0x50, 0xb7 }, { 0x51, 0x7f },
151 { 0x50, 0x50 }, { 0x51, 0x02 }, /* MER manual mode */
152 { 0x50, 0x51 }, { 0x51, 0x04 }, /* MER symbol 4 */
153 { 0x45, 0x04 }, /* CN symbol 4 */
154 { 0x48, 0x04 }, /* CN manual mode */
155 { 0x50, 0xd5 }, { 0x51, 0x01 },
156 { 0x50, 0xd6 }, { 0x51, 0x1f },
157 { 0x50, 0xd2 }, { 0x51, 0x03 },
158 { 0x50, 0xd7 }, { 0x51, 0x3f },
159 { 0x1c, 0x01 },
160 { 0x28, 0x06 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x03 },
161 { 0x28, 0x07 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x0d },
162 { 0x28, 0x08 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x02 },
163 { 0x28, 0x09 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x01 },
164 { 0x28, 0x0a }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x21 },
165 { 0x28, 0x0b }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x29 },
166 { 0x28, 0x0c }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x16 },
167 { 0x28, 0x0d }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x31 },
168 { 0x28, 0x0e }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x0e },
169 { 0x28, 0x0f }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x4e },
170 { 0x28, 0x10 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x46 },
171 { 0x28, 0x11 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x0f },
172 { 0x28, 0x12 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x56 },
173 { 0x28, 0x13 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x35 },
174 { 0x28, 0x14 }, { 0x29, 0x00 }, { 0x2a, 0x01 }, { 0x2b, 0xbe },
175 { 0x28, 0x15 }, { 0x29, 0x00 }, { 0x2a, 0x01 }, { 0x2b, 0x84 },
176 { 0x28, 0x16 }, { 0x29, 0x00 }, { 0x2a, 0x03 }, { 0x2b, 0xee },
177 { 0x28, 0x17 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x98 },
178 { 0x28, 0x18 }, { 0x29, 0x00 }, { 0x2a, 0x00 }, { 0x2b, 0x9f },
179 { 0x28, 0x19 }, { 0x29, 0x00 }, { 0x2a, 0x07 }, { 0x2b, 0xb2 },
180 { 0x28, 0x1a }, { 0x29, 0x00 }, { 0x2a, 0x06 }, { 0x2b, 0xc2 },
181 { 0x28, 0x1b }, { 0x29, 0x00 }, { 0x2a, 0x07 }, { 0x2b, 0x4a },
182 { 0x28, 0x1c }, { 0x29, 0x00 }, { 0x2a, 0x01 }, { 0x2b, 0xbc },
183 { 0x28, 0x1d }, { 0x29, 0x00 }, { 0x2a, 0x04 }, { 0x2b, 0xba },
184 { 0x28, 0x1e }, { 0x29, 0x00 }, { 0x2a, 0x06 }, { 0x2b, 0x14 },
185 { 0x50, 0x1e }, { 0x51, 0x5d },
186 { 0x50, 0x22 }, { 0x51, 0x00 },
187 { 0x50, 0x23 }, { 0x51, 0xc8 },
188 { 0x50, 0x24 }, { 0x51, 0x00 },
189 { 0x50, 0x25 }, { 0x51, 0xf0 },
190 { 0x50, 0x26 }, { 0x51, 0x00 },
191 { 0x50, 0x27 }, { 0x51, 0xc3 },
192 { 0x50, 0x39 }, { 0x51, 0x02 },
193 { 0x50, 0xd5 }, { 0x51, 0x01 },
194 { 0xd0, 0x00 },
198 { 0x70, 0xf0 },
199 { 0x70, 0xff },
200 { 0x08, 0x01 },
201 { 0x08, 0x00 },
205 { 0x53, 0x00 }, /* pre BER Counter reset */
206 { 0x53, 0x07 },
208 { 0x5f, 0x00 }, /* post BER Counter reset */
209 { 0x5f, 0x07 },
211 { 0x50, 0xb1 }, /* PER Counter reset */
212 { 0x51, 0x07 },
213 { 0x51, 0x00 },
225 .addr = i2c_addr, .flags = 0, .buf = buf, .len = 2 in mb86a20s_i2c_writereg()
232 "%s: writereg error (rc == %i, reg == 0x%02x, data == 0x%02x)\n", in mb86a20s_i2c_writereg()
237 return 0; in mb86a20s_i2c_writereg()
245 for (i = 0; i < size; i++) { in mb86a20s_i2c_writeregdata()
248 if (rc < 0) in mb86a20s_i2c_writeregdata()
251 return 0; in mb86a20s_i2c_writeregdata()
260 { .addr = i2c_addr, .flags = 0, .buf = &reg, .len = 1 }, in mb86a20s_i2c_readreg()
267 dev_err(&state->i2c->dev, "%s: reg=0x%x (error=%d)\n", in mb86a20s_i2c_readreg()
269 return (rc < 0) ? rc : -EIO; in mb86a20s_i2c_readreg()
294 *status = 0; in mb86a20s_read_status()
296 val = mb86a20s_readreg(state, 0x0a); in mb86a20s_read_status()
297 if (val < 0) in mb86a20s_read_status()
300 val &= 0xf; in mb86a20s_read_status()
320 dev_dbg(&state->i2c->dev, "%s: Status = 0x%02x (state = %d)\n", in mb86a20s_read_status()
335 return c->strength.stat[0].uvalue; in mb86a20s_read_signal_strength()
338 c->strength.stat[0].uvalue = 0; in mb86a20s_read_signal_strength()
341 rf_max = 0xfff; in mb86a20s_read_signal_strength()
342 rf_min = 0; in mb86a20s_read_signal_strength()
345 rc = mb86a20s_writereg(state, 0x04, 0x1f); in mb86a20s_read_signal_strength()
346 if (rc < 0) in mb86a20s_read_signal_strength()
348 rc = mb86a20s_writereg(state, 0x05, rf >> 8); in mb86a20s_read_signal_strength()
349 if (rc < 0) in mb86a20s_read_signal_strength()
351 rc = mb86a20s_writereg(state, 0x04, 0x20); in mb86a20s_read_signal_strength()
352 if (rc < 0) in mb86a20s_read_signal_strength()
354 rc = mb86a20s_writereg(state, 0x05, rf); in mb86a20s_read_signal_strength()
355 if (rc < 0) in mb86a20s_read_signal_strength()
358 rc = mb86a20s_readreg(state, 0x02); in mb86a20s_read_signal_strength()
359 if (rc < 0) in mb86a20s_read_signal_strength()
361 if (rc & 0x08) in mb86a20s_read_signal_strength()
376 c->strength.stat[0].uvalue = rf; in mb86a20s_read_signal_strength()
379 return 0; in mb86a20s_read_signal_strength()
389 [0] = 0x86, /* Layer A */ in mb86a20s_get_modulation()
390 [1] = 0x8a, /* Layer B */ in mb86a20s_get_modulation()
391 [2] = 0x8e, /* Layer C */ in mb86a20s_get_modulation()
396 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_modulation()
397 if (rc < 0) in mb86a20s_get_modulation()
399 rc = mb86a20s_readreg(state, 0x6e); in mb86a20s_get_modulation()
400 if (rc < 0) in mb86a20s_get_modulation()
402 switch ((rc >> 4) & 0x07) { in mb86a20s_get_modulation()
403 case 0: in mb86a20s_get_modulation()
422 [0] = 0x87, /* Layer A */ in mb86a20s_get_fec()
423 [1] = 0x8b, /* Layer B */ in mb86a20s_get_fec()
424 [2] = 0x8f, /* Layer C */ in mb86a20s_get_fec()
429 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_fec()
430 if (rc < 0) in mb86a20s_get_fec()
432 rc = mb86a20s_readreg(state, 0x6e); in mb86a20s_get_fec()
433 if (rc < 0) in mb86a20s_get_fec()
435 switch ((rc >> 4) & 0x07) { in mb86a20s_get_fec()
436 case 0: in mb86a20s_get_fec()
456 0, 1, 2, 4, 8 in mb86a20s_get_interleaving()
460 [0] = 0x88, /* Layer A */ in mb86a20s_get_interleaving()
461 [1] = 0x8c, /* Layer B */ in mb86a20s_get_interleaving()
462 [2] = 0x90, /* Layer C */ in mb86a20s_get_interleaving()
467 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_interleaving()
468 if (rc < 0) in mb86a20s_get_interleaving()
470 rc = mb86a20s_readreg(state, 0x6e); in mb86a20s_get_interleaving()
471 if (rc < 0) in mb86a20s_get_interleaving()
474 return interleaving[(rc >> 4) & 0x07]; in mb86a20s_get_interleaving()
482 [0] = 0x89, /* Layer A */ in mb86a20s_get_segment_count()
483 [1] = 0x8d, /* Layer B */ in mb86a20s_get_segment_count()
484 [2] = 0x91, /* Layer C */ in mb86a20s_get_segment_count()
492 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_segment_count()
493 if (rc < 0) in mb86a20s_get_segment_count()
495 rc = mb86a20s_readreg(state, 0x6e); in mb86a20s_get_segment_count()
496 if (rc < 0) in mb86a20s_get_segment_count()
498 count = (rc >> 4) & 0x0f; in mb86a20s_get_segment_count()
517 c->isdbt_layer_enabled = 0; in mb86a20s_reset_frontend_cache()
520 c->isdbt_sb_mode = 0; in mb86a20s_reset_frontend_cache()
521 c->isdbt_sb_segment_count = 0; in mb86a20s_reset_frontend_cache()
568 mod = 0; in mb86a20s_layer_bitrate()
582 fec = 0; in mb86a20s_layer_bitrate()
601 guard = 0; in mb86a20s_layer_bitrate()
624 "%s: layer %c bitrate: %d kbps; counter = %d (0x%06x)\n", in mb86a20s_layer_bitrate()
644 rc = mb86a20s_writereg(state, 0x6d, 0x85); in mb86a20s_get_frontend()
645 if (rc < 0) in mb86a20s_get_frontend()
647 rc = mb86a20s_readreg(state, 0x6e); in mb86a20s_get_frontend()
648 if (rc < 0) in mb86a20s_get_frontend()
650 c->isdbt_partial_reception = (rc & 0x10) ? 1 : 0; in mb86a20s_get_frontend()
654 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_frontend()
659 if (rc < 0) in mb86a20s_get_frontend()
661 if (rc >= 0 && rc < 14) { in mb86a20s_get_frontend()
664 c->layer[layer].segment_count = 0; in mb86a20s_get_frontend()
665 state->estimated_rate[layer] = 0; in mb86a20s_get_frontend()
670 if (rc < 0) in mb86a20s_get_frontend()
676 if (rc < 0) in mb86a20s_get_frontend()
682 if (rc < 0) in mb86a20s_get_frontend()
693 rc = mb86a20s_writereg(state, 0x6d, 0x84); in mb86a20s_get_frontend()
694 if (rc < 0) in mb86a20s_get_frontend()
696 if ((rc & 0x60) == 0x20) { in mb86a20s_get_frontend()
704 rc = mb86a20s_readreg(state, 0x07); in mb86a20s_get_frontend()
705 if (rc < 0) in mb86a20s_get_frontend()
708 if ((rc & 0x60) == 0x20) { in mb86a20s_get_frontend()
710 switch ((rc >> 2) & 0x03) { in mb86a20s_get_frontend()
720 if (!(rc & 0x10)) { in mb86a20s_get_frontend()
722 switch (rc & 0x3) { in mb86a20s_get_frontend()
723 case 0: in mb86a20s_get_frontend()
734 return 0; in mb86a20s_get_frontend()
739 c->isdbt_layer_enabled = 0; in mb86a20s_get_frontend()
754 memset(&c->cnr, 0, sizeof(c->cnr)); in mb86a20s_reset_counters()
755 memset(&c->pre_bit_error, 0, sizeof(c->pre_bit_error)); in mb86a20s_reset_counters()
756 memset(&c->pre_bit_count, 0, sizeof(c->pre_bit_count)); in mb86a20s_reset_counters()
757 memset(&c->post_bit_error, 0, sizeof(c->post_bit_error)); in mb86a20s_reset_counters()
758 memset(&c->post_bit_count, 0, sizeof(c->post_bit_count)); in mb86a20s_reset_counters()
759 memset(&c->block_error, 0, sizeof(c->block_error)); in mb86a20s_reset_counters()
760 memset(&c->block_count, 0, sizeof(c->block_count)); in mb86a20s_reset_counters()
769 if (rc < 0) in mb86a20s_reset_counters()
773 rc = mb86a20s_readreg(state, 0x45); in mb86a20s_reset_counters()
774 if (rc < 0) in mb86a20s_reset_counters()
777 rc = mb86a20s_writereg(state, 0x45, val | 0x10); in mb86a20s_reset_counters()
778 if (rc < 0) in mb86a20s_reset_counters()
780 rc = mb86a20s_writereg(state, 0x45, val & 0x6f); in mb86a20s_reset_counters()
781 if (rc < 0) in mb86a20s_reset_counters()
785 rc = mb86a20s_writereg(state, 0x50, 0x50); in mb86a20s_reset_counters()
786 if (rc < 0) in mb86a20s_reset_counters()
788 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_reset_counters()
789 if (rc < 0) in mb86a20s_reset_counters()
792 rc = mb86a20s_writereg(state, 0x51, val | 0x01); in mb86a20s_reset_counters()
793 if (rc < 0) in mb86a20s_reset_counters()
795 rc = mb86a20s_writereg(state, 0x51, val & 0x06); in mb86a20s_reset_counters()
796 if (rc < 0) in mb86a20s_reset_counters()
821 rc = mb86a20s_readreg(state, 0x54); in mb86a20s_get_pre_ber()
822 if (rc < 0) in mb86a20s_get_pre_ber()
834 rc = mb86a20s_readreg(state, 0x55 + layer * 3); in mb86a20s_get_pre_ber()
835 if (rc < 0) in mb86a20s_get_pre_ber()
838 rc = mb86a20s_readreg(state, 0x56 + layer * 3); in mb86a20s_get_pre_ber()
839 if (rc < 0) in mb86a20s_get_pre_ber()
842 rc = mb86a20s_readreg(state, 0x57 + layer * 3); in mb86a20s_get_pre_ber()
843 if (rc < 0) in mb86a20s_get_pre_ber()
852 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
853 if (rc < 0) in mb86a20s_get_pre_ber()
855 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_pre_ber()
856 if (rc < 0) in mb86a20s_get_pre_ber()
859 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
860 if (rc < 0) in mb86a20s_get_pre_ber()
862 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_pre_ber()
863 if (rc < 0) in mb86a20s_get_pre_ber()
866 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
867 if (rc < 0) in mb86a20s_get_pre_ber()
869 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_pre_ber()
870 if (rc < 0) in mb86a20s_get_pre_ber()
893 rc = mb86a20s_writereg(state, 0x52, 0x00); in mb86a20s_get_pre_ber()
896 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
897 if (rc < 0) in mb86a20s_get_pre_ber()
899 rc = mb86a20s_writereg(state, 0x51, in mb86a20s_get_pre_ber()
901 if (rc < 0) in mb86a20s_get_pre_ber()
903 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
904 if (rc < 0) in mb86a20s_get_pre_ber()
906 rc = mb86a20s_writereg(state, 0x51, in mb86a20s_get_pre_ber()
908 if (rc < 0) in mb86a20s_get_pre_ber()
910 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
911 if (rc < 0) in mb86a20s_get_pre_ber()
913 rc = mb86a20s_writereg(state, 0x51, in mb86a20s_get_pre_ber()
915 if (rc < 0) in mb86a20s_get_pre_ber()
919 rc = mb86a20s_writereg(state, 0x52, 0x01); in mb86a20s_get_pre_ber()
922 rc = mb86a20s_writereg(state, 0x53, 0x00); in mb86a20s_get_pre_ber()
923 if (rc < 0) in mb86a20s_get_pre_ber()
925 rc = mb86a20s_writereg(state, 0x53, 0x07); in mb86a20s_get_pre_ber()
928 rc = mb86a20s_readreg(state, 0x53); in mb86a20s_get_pre_ber()
929 if (rc < 0) in mb86a20s_get_pre_ber()
932 rc = mb86a20s_writereg(state, 0x53, val & ~(1 << layer)); in mb86a20s_get_pre_ber()
933 if (rc < 0) in mb86a20s_get_pre_ber()
935 rc = mb86a20s_writereg(state, 0x53, val | (1 << layer)); in mb86a20s_get_pre_ber()
955 rc = mb86a20s_readreg(state, 0x60); in mb86a20s_get_post_ber()
956 if (rc < 0) in mb86a20s_get_post_ber()
968 rc = mb86a20s_readreg(state, 0x64 + layer * 3); in mb86a20s_get_post_ber()
969 if (rc < 0) in mb86a20s_get_post_ber()
972 rc = mb86a20s_readreg(state, 0x65 + layer * 3); in mb86a20s_get_post_ber()
973 if (rc < 0) in mb86a20s_get_post_ber()
976 rc = mb86a20s_readreg(state, 0x66 + layer * 3); in mb86a20s_get_post_ber()
977 if (rc < 0) in mb86a20s_get_post_ber()
986 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
987 if (rc < 0) in mb86a20s_get_post_ber()
989 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_post_ber()
990 if (rc < 0) in mb86a20s_get_post_ber()
993 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
994 if (rc < 0) in mb86a20s_get_post_ber()
996 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_post_ber()
997 if (rc < 0) in mb86a20s_get_post_ber()
1027 rc = mb86a20s_writereg(state, 0x5e, 0x00); in mb86a20s_get_post_ber()
1030 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
1031 if (rc < 0) in mb86a20s_get_post_ber()
1033 rc = mb86a20s_writereg(state, 0x51, collect_rate >> 8); in mb86a20s_get_post_ber()
1034 if (rc < 0) in mb86a20s_get_post_ber()
1036 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
1037 if (rc < 0) in mb86a20s_get_post_ber()
1039 rc = mb86a20s_writereg(state, 0x51, collect_rate & 0xff); in mb86a20s_get_post_ber()
1040 if (rc < 0) in mb86a20s_get_post_ber()
1044 rc = mb86a20s_writereg(state, 0x5e, 0x07); in mb86a20s_get_post_ber()
1047 rc = mb86a20s_writereg(state, 0x5f, 0x00); in mb86a20s_get_post_ber()
1048 if (rc < 0) in mb86a20s_get_post_ber()
1050 rc = mb86a20s_writereg(state, 0x5f, 0x07); in mb86a20s_get_post_ber()
1057 rc = mb86a20s_readreg(state, 0x5f); in mb86a20s_get_post_ber()
1058 if (rc < 0) in mb86a20s_get_post_ber()
1061 rc = mb86a20s_writereg(state, 0x5f, val & ~(1 << layer)); in mb86a20s_get_post_ber()
1062 if (rc < 0) in mb86a20s_get_post_ber()
1064 rc = mb86a20s_writereg(state, 0x5f, val | (1 << layer)); in mb86a20s_get_post_ber()
1082 rc = mb86a20s_writereg(state, 0x50, 0xb8); in mb86a20s_get_blk_error()
1083 if (rc < 0) in mb86a20s_get_blk_error()
1085 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1086 if (rc < 0) in mb86a20s_get_blk_error()
1099 rc = mb86a20s_writereg(state, 0x50, 0xb9 + layer * 2); in mb86a20s_get_blk_error()
1100 if (rc < 0) in mb86a20s_get_blk_error()
1102 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1103 if (rc < 0) in mb86a20s_get_blk_error()
1106 rc = mb86a20s_writereg(state, 0x50, 0xba + layer * 2); in mb86a20s_get_blk_error()
1107 if (rc < 0) in mb86a20s_get_blk_error()
1109 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1110 if (rc < 0) in mb86a20s_get_blk_error()
1117 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1118 if (rc < 0) in mb86a20s_get_blk_error()
1120 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1121 if (rc < 0) in mb86a20s_get_blk_error()
1124 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1125 if (rc < 0) in mb86a20s_get_blk_error()
1127 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1128 if (rc < 0) in mb86a20s_get_blk_error()
1158 rc = mb86a20s_writereg(state, 0x50, 0xb0); in mb86a20s_get_blk_error()
1159 if (rc < 0) in mb86a20s_get_blk_error()
1161 rc = mb86a20s_writereg(state, 0x51, 0x00); in mb86a20s_get_blk_error()
1162 if (rc < 0) in mb86a20s_get_blk_error()
1166 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1167 if (rc < 0) in mb86a20s_get_blk_error()
1169 rc = mb86a20s_writereg(state, 0x51, collect_rate >> 8); in mb86a20s_get_blk_error()
1170 if (rc < 0) in mb86a20s_get_blk_error()
1172 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1173 if (rc < 0) in mb86a20s_get_blk_error()
1175 rc = mb86a20s_writereg(state, 0x51, collect_rate & 0xff); in mb86a20s_get_blk_error()
1176 if (rc < 0) in mb86a20s_get_blk_error()
1180 rc = mb86a20s_writereg(state, 0x50, 0xb0); in mb86a20s_get_blk_error()
1181 if (rc < 0) in mb86a20s_get_blk_error()
1183 rc = mb86a20s_writereg(state, 0x51, 0x07); in mb86a20s_get_blk_error()
1184 if (rc < 0) in mb86a20s_get_blk_error()
1188 rc = mb86a20s_writereg(state, 0x50, 0xb1); in mb86a20s_get_blk_error()
1189 if (rc < 0) in mb86a20s_get_blk_error()
1191 rc = mb86a20s_writereg(state, 0x51, 0x07); in mb86a20s_get_blk_error()
1192 if (rc < 0) in mb86a20s_get_blk_error()
1194 rc = mb86a20s_writereg(state, 0x51, 0x00); in mb86a20s_get_blk_error()
1201 rc = mb86a20s_writereg(state, 0x50, 0xb1); in mb86a20s_get_blk_error()
1202 if (rc < 0) in mb86a20s_get_blk_error()
1204 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error()
1205 if (rc < 0) in mb86a20s_get_blk_error()
1208 rc = mb86a20s_writereg(state, 0x51, val | (1 << layer)); in mb86a20s_get_blk_error()
1209 if (rc < 0) in mb86a20s_get_blk_error()
1211 rc = mb86a20s_writereg(state, 0x51, val & ~(1 << layer)); in mb86a20s_get_blk_error()
1225 { 19648, 0},
1259 { 3922688, 0},
1293 { 5314816, 0},
1327 { 2834176, 0},
1367 if (value >= segments[0].x) in interpolate_value()
1368 return segments[0].y; in interpolate_value()
1399 rc = mb86a20s_readreg(state, 0x45); in mb86a20s_get_main_CNR()
1400 if (rc < 0) in mb86a20s_get_main_CNR()
1403 if (!(rc & 0x40)) { in mb86a20s_get_main_CNR()
1410 rc = mb86a20s_readreg(state, 0x46); in mb86a20s_get_main_CNR()
1411 if (rc < 0) in mb86a20s_get_main_CNR()
1415 rc = mb86a20s_readreg(state, 0x46); in mb86a20s_get_main_CNR()
1416 if (rc < 0) in mb86a20s_get_main_CNR()
1423 c->cnr.stat[0].scale = FE_SCALE_DECIBEL; in mb86a20s_get_main_CNR()
1424 c->cnr.stat[0].svalue = cnr; in mb86a20s_get_main_CNR()
1430 rc = mb86a20s_writereg(state, 0x45, val | 0x10); in mb86a20s_get_main_CNR()
1431 if (rc < 0) in mb86a20s_get_main_CNR()
1433 rc = mb86a20s_writereg(state, 0x45, val & 0x6f); in mb86a20s_get_main_CNR()
1450 rc = mb86a20s_writereg(state, 0x50, 0x5b); in mb86a20s_get_blk_error_layer_CNR()
1451 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1453 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error_layer_CNR()
1454 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1458 if (!(rc & 0x01)) { in mb86a20s_get_blk_error_layer_CNR()
1465 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_blk_error_layer_CNR()
1471 rc = mb86a20s_writereg(state, 0x50, 0x52 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1472 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1474 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error_layer_CNR()
1475 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1478 rc = mb86a20s_writereg(state, 0x50, 0x53 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1479 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1481 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error_layer_CNR()
1482 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1485 rc = mb86a20s_writereg(state, 0x50, 0x54 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1486 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1488 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error_layer_CNR()
1489 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1522 rc = mb86a20s_writereg(state, 0x50, 0x50); in mb86a20s_get_blk_error_layer_CNR()
1523 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1525 rc = mb86a20s_readreg(state, 0x51); in mb86a20s_get_blk_error_layer_CNR()
1526 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1530 rc = mb86a20s_writereg(state, 0x51, val | 0x01); in mb86a20s_get_blk_error_layer_CNR()
1531 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1533 rc = mb86a20s_writereg(state, 0x51, val & 0x06); in mb86a20s_get_blk_error_layer_CNR()
1534 if (rc < 0) in mb86a20s_get_blk_error_layer_CNR()
1537 return 0; in mb86a20s_get_blk_error_layer_CNR()
1563 c->strength.stat[0].scale = FE_SCALE_RELATIVE; in mb86a20s_stats_not_ready()
1564 c->strength.stat[0].uvalue = 0; in mb86a20s_stats_not_ready()
1567 for (layer = 0; layer < NUM_LAYERS + 1; layer++) { in mb86a20s_stats_not_ready()
1582 int rc = 0, layer; in mb86a20s_get_stats()
1583 u32 bit_error = 0, bit_count = 0; in mb86a20s_get_stats()
1584 u32 t_pre_bit_error = 0, t_pre_bit_count = 0; in mb86a20s_get_stats()
1585 u32 t_post_bit_error = 0, t_post_bit_count = 0; in mb86a20s_get_stats()
1586 u32 block_error = 0, block_count = 0; in mb86a20s_get_stats()
1587 u32 t_block_error = 0, t_block_count = 0; in mb86a20s_get_stats()
1588 int active_layers = 0, pre_ber_layers = 0, post_ber_layers = 0; in mb86a20s_get_stats()
1589 int per_layers = 0; in mb86a20s_get_stats()
1604 return 0; in mb86a20s_get_stats()
1606 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_stats()
1614 if (rc >= 0) { in mb86a20s_get_stats()
1636 if (rc >= 0) { in mb86a20s_get_stats()
1659 if (rc >= 0) { in mb86a20s_get_stats()
1705 c->pre_bit_error.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1706 c->pre_bit_error.stat[0].uvalue = t_pre_bit_error; in mb86a20s_get_stats()
1707 c->pre_bit_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1708 c->pre_bit_count.stat[0].uvalue = t_pre_bit_count; in mb86a20s_get_stats()
1710 c->pre_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1711 c->pre_bit_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1726 c->post_bit_error.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1727 c->post_bit_error.stat[0].uvalue = t_post_bit_error; in mb86a20s_get_stats()
1728 c->post_bit_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1729 c->post_bit_count.stat[0].uvalue = t_post_bit_count; in mb86a20s_get_stats()
1731 c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1732 c->post_bit_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1743 c->block_error.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1744 c->block_error.stat[0].uvalue = t_block_error; in mb86a20s_get_stats()
1745 c->block_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1746 c->block_count.stat[0].uvalue = t_block_count; in mb86a20s_get_stats()
1748 c->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1749 c->block_count.stat[0].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1766 u8 regD5 = 1, reg71, reg09 = 0x3a; in mb86a20s_initfe()
1771 fe->ops.i2c_gate_ctrl(fe, 0); in mb86a20s_initfe()
1775 if (rc < 0) in mb86a20s_initfe()
1779 reg09 |= 0x04; in mb86a20s_initfe()
1780 rc = mb86a20s_writereg(state, 0x09, reg09); in mb86a20s_initfe()
1781 if (rc < 0) in mb86a20s_initfe()
1786 reg71 = 0; in mb86a20s_initfe()
1787 rc = mb86a20s_writereg(state, 0x39, reg71); in mb86a20s_initfe()
1788 if (rc < 0) in mb86a20s_initfe()
1790 rc = mb86a20s_writereg(state, 0x71, state->bw); in mb86a20s_initfe()
1791 if (rc < 0) in mb86a20s_initfe()
1794 rc = mb86a20s_writereg(state, 0x44, state->subchannel); in mb86a20s_initfe()
1795 if (rc < 0) in mb86a20s_initfe()
1813 rc = mb86a20s_writereg(state, 0x28, 0x2a); in mb86a20s_initfe()
1814 if (rc < 0) in mb86a20s_initfe()
1816 rc = mb86a20s_writereg(state, 0x29, (pll >> 16) & 0xff); in mb86a20s_initfe()
1817 if (rc < 0) in mb86a20s_initfe()
1819 rc = mb86a20s_writereg(state, 0x2a, (pll >> 8) & 0xff); in mb86a20s_initfe()
1820 if (rc < 0) in mb86a20s_initfe()
1822 rc = mb86a20s_writereg(state, 0x2b, pll & 0xff); in mb86a20s_initfe()
1823 if (rc < 0) in mb86a20s_initfe()
1825 dev_dbg(&state->i2c->dev, "%s: fclk=%d, IF=%d, clock reg=0x%06llx\n", in mb86a20s_initfe()
1831 rc = mb86a20s_writereg(state, 0x28, 0x20); in mb86a20s_initfe()
1832 if (rc < 0) in mb86a20s_initfe()
1834 rc = mb86a20s_writereg(state, 0x29, (pll >> 16) & 0xff); in mb86a20s_initfe()
1835 if (rc < 0) in mb86a20s_initfe()
1837 rc = mb86a20s_writereg(state, 0x2a, (pll >> 8) & 0xff); in mb86a20s_initfe()
1838 if (rc < 0) in mb86a20s_initfe()
1840 rc = mb86a20s_writereg(state, 0x2b, pll & 0xff); in mb86a20s_initfe()
1841 if (rc < 0) in mb86a20s_initfe()
1843 dev_dbg(&state->i2c->dev, "%s: IF=%d, IF reg=0x%06llx\n", in mb86a20s_initfe()
1849 rc = mb86a20s_writereg(state, 0x50, 0xd5); in mb86a20s_initfe()
1850 if (rc < 0) in mb86a20s_initfe()
1852 rc = mb86a20s_writereg(state, 0x51, regD5); in mb86a20s_initfe()
1853 if (rc < 0) in mb86a20s_initfe()
1857 if (rc < 0) in mb86a20s_initfe()
1865 if (rc < 0) { in mb86a20s_initfe()
1899 state->subchannel = 0; in mb86a20s_set_frontend()
1902 c->isdbt_sb_subchannel = 0; in mb86a20s_set_frontend()
1938 fe->ops.i2c_gate_ctrl(fe, 0); in mb86a20s_set_frontend()
1959 fe->ops.i2c_gate_ctrl(fe, 0); in mb86a20s_read_status_and_stats()
1967 if (status_nr < 0) { in mb86a20s_read_status_and_stats()
1976 if (rc < 0) { in mb86a20s_read_status_and_stats()
1982 rc = 0; /* Status is OK */ in mb86a20s_read_status_and_stats()
1989 if (rc < 0) { in mb86a20s_read_status_and_stats()
1992 rc = 0; /* Status is OK */ in mb86a20s_read_status_and_stats()
1998 if (rc < 0 && rc != -EBUSY) { in mb86a20s_read_status_and_stats()
2001 rc = 0; in mb86a20s_read_status_and_stats()
2004 rc = 0; /* Don't return EBUSY to userspace */ in mb86a20s_read_status_and_stats()
2024 *strength = c->strength.stat[0].uvalue; in mb86a20s_read_signal_strength_from_cache()
2026 return 0; in mb86a20s_read_signal_strength_from_cache()
2036 int rc = 0; in mb86a20s_tune()
2088 rev = mb86a20s_readreg(state, 0); in mb86a20s_attach()
2089 if (rev != 0x13) { in mb86a20s_attach()