Lines Matching refs:layer

388 				   unsigned layer)  in mb86a20s_get_modulation()  argument
397 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_modulation()
399 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_modulation()
420 unsigned layer) in mb86a20s_get_fec() argument
430 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_fec()
432 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_fec()
455 unsigned layer) in mb86a20s_get_interleaving() argument
468 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_interleaving()
470 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_interleaving()
481 unsigned layer) in mb86a20s_get_segment_count() argument
492 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_segment_count()
495 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_segment_count()
553 static void mb86a20s_layer_bitrate(struct dvb_frontend *fe, u32 layer, in mb86a20s_layer_bitrate() argument
628 __func__, 'A' + layer, in mb86a20s_layer_bitrate()
632 state->estimated_rate[layer] = rate; in mb86a20s_layer_bitrate()
639 int layer, rc; in mb86a20s_get_frontend() local
657 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_frontend()
659 __func__, 'A' + layer); in mb86a20s_get_frontend()
661 rc = mb86a20s_get_segment_count(state, layer); in mb86a20s_get_frontend()
665 c->layer[layer].segment_count = rc; in mb86a20s_get_frontend()
667 c->layer[layer].segment_count = 0; in mb86a20s_get_frontend()
668 state->estimated_rate[layer] = 0; in mb86a20s_get_frontend()
671 c->isdbt_layer_enabled |= 1 << layer; in mb86a20s_get_frontend()
672 rc = mb86a20s_get_modulation(state, layer); in mb86a20s_get_frontend()
677 c->layer[layer].modulation = rc; in mb86a20s_get_frontend()
678 rc = mb86a20s_get_fec(state, layer); in mb86a20s_get_frontend()
683 c->layer[layer].fec = rc; in mb86a20s_get_frontend()
684 rc = mb86a20s_get_interleaving(state, layer); in mb86a20s_get_frontend()
689 c->layer[layer].interleaving = rc; in mb86a20s_get_frontend()
690 mb86a20s_layer_bitrate(fe, layer, c->layer[layer].modulation, in mb86a20s_get_frontend()
691 c->layer[layer].fec, in mb86a20s_get_frontend()
693 c->layer[layer].segment_count); in mb86a20s_get_frontend()
812 unsigned layer, in mb86a20s_get_pre_ber() argument
820 if (layer >= NUM_LAYERS) in mb86a20s_get_pre_ber()
829 if (!(rc & (1 << layer))) { in mb86a20s_get_pre_ber()
832 __func__, 'A' + layer); in mb86a20s_get_pre_ber()
837 rc = mb86a20s_readreg(state, 0x55 + layer * 3); in mb86a20s_get_pre_ber()
841 rc = mb86a20s_readreg(state, 0x56 + layer * 3); in mb86a20s_get_pre_ber()
845 rc = mb86a20s_readreg(state, 0x57 + layer * 3); in mb86a20s_get_pre_ber()
852 __func__, 'A' + layer, *error); in mb86a20s_get_pre_ber()
855 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
862 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
869 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
879 __func__, 'A' + layer, *count); in mb86a20s_get_pre_ber()
889 if (state->estimated_rate[layer] in mb86a20s_get_pre_ber()
890 && state->estimated_rate[layer] != *count) { in mb86a20s_get_pre_ber()
893 __func__, 'A' + layer, state->estimated_rate[layer]); in mb86a20s_get_pre_ber()
899 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
903 state->estimated_rate[layer] >> 16); in mb86a20s_get_pre_ber()
906 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
910 state->estimated_rate[layer] >> 8); in mb86a20s_get_pre_ber()
913 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
917 state->estimated_rate[layer]); in mb86a20s_get_pre_ber()
935 rc = mb86a20s_writereg(state, 0x53, val & ~(1 << layer)); in mb86a20s_get_pre_ber()
938 rc = mb86a20s_writereg(state, 0x53, val | (1 << layer)); in mb86a20s_get_pre_ber()
945 unsigned layer, in mb86a20s_get_post_ber() argument
954 if (layer >= NUM_LAYERS) in mb86a20s_get_post_ber()
963 if (!(rc & (1 << layer))) { in mb86a20s_get_post_ber()
966 __func__, 'A' + layer); in mb86a20s_get_post_ber()
971 rc = mb86a20s_readreg(state, 0x64 + layer * 3); in mb86a20s_get_post_ber()
975 rc = mb86a20s_readreg(state, 0x65 + layer * 3); in mb86a20s_get_post_ber()
979 rc = mb86a20s_readreg(state, 0x66 + layer * 3); in mb86a20s_get_post_ber()
986 __func__, 'A' + layer, *error); in mb86a20s_get_post_ber()
989 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
996 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
1007 __func__, 'A' + layer, *count); in mb86a20s_get_post_ber()
1016 if (!state->estimated_rate[layer]) in mb86a20s_get_post_ber()
1019 collect_rate = state->estimated_rate[layer] / 204 / 8; in mb86a20s_get_post_ber()
1027 __func__, 'A' + layer, collect_rate); in mb86a20s_get_post_ber()
1033 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
1039 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
1064 rc = mb86a20s_writereg(state, 0x5f, val & ~(1 << layer)); in mb86a20s_get_post_ber()
1067 rc = mb86a20s_writereg(state, 0x5f, val | (1 << layer)); in mb86a20s_get_post_ber()
1073 unsigned layer, in mb86a20s_get_blk_error() argument
1081 if (layer >= NUM_LAYERS) in mb86a20s_get_blk_error()
1094 if (!(rc & (1 << layer))) { in mb86a20s_get_blk_error()
1097 __func__, 'A' + layer); in mb86a20s_get_blk_error()
1102 rc = mb86a20s_writereg(state, 0x50, 0xb9 + layer * 2); in mb86a20s_get_blk_error()
1109 rc = mb86a20s_writereg(state, 0x50, 0xba + layer * 2); in mb86a20s_get_blk_error()
1117 __func__, 'A' + layer, *error); in mb86a20s_get_blk_error()
1120 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1127 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1137 __func__, 'A' + layer, *count); in mb86a20s_get_blk_error()
1146 if (!state->estimated_rate[layer]) in mb86a20s_get_blk_error()
1149 collect_rate = state->estimated_rate[layer] / 204 / 8; in mb86a20s_get_blk_error()
1158 __func__, 'A' + layer, collect_rate); in mb86a20s_get_blk_error()
1169 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1175 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1211 rc = mb86a20s_writereg(state, 0x51, val | (1 << layer)); in mb86a20s_get_blk_error()
1214 rc = mb86a20s_writereg(state, 0x51, val & ~(1 << layer)); in mb86a20s_get_blk_error()
1446 int rc, val, layer; in mb86a20s_get_blk_error_layer_CNR() local
1468 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_blk_error_layer_CNR()
1469 if (!(c->isdbt_layer_enabled & (1 << layer))) { in mb86a20s_get_blk_error_layer_CNR()
1470 c->cnr.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_blk_error_layer_CNR()
1474 rc = mb86a20s_writereg(state, 0x50, 0x52 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1481 rc = mb86a20s_writereg(state, 0x50, 0x53 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1488 rc = mb86a20s_writereg(state, 0x50, 0x54 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1496 switch (c->layer[layer].modulation) { in mb86a20s_get_blk_error_layer_CNR()
1514 c->cnr.stat[1 + layer].scale = FE_SCALE_DECIBEL; in mb86a20s_get_blk_error_layer_CNR()
1515 c->cnr.stat[1 + layer].svalue = cnr; in mb86a20s_get_blk_error_layer_CNR()
1519 __func__, 'A' + layer, cnr / 1000, cnr % 1000, mer); in mb86a20s_get_blk_error_layer_CNR()
1547 int layer; in mb86a20s_stats_not_ready() local
1570 for (layer = 0; layer < NUM_LAYERS + 1; layer++) { in mb86a20s_stats_not_ready()
1571 c->cnr.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1572 c->pre_bit_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1573 c->pre_bit_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1574 c->post_bit_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1575 c->post_bit_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1576 c->block_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1577 c->block_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1585 int rc = 0, layer; in mb86a20s_get_stats() local
1609 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_stats()
1610 if (c->isdbt_layer_enabled & (1 << layer)) { in mb86a20s_get_stats()
1615 rc = mb86a20s_get_pre_ber(fe, layer, in mb86a20s_get_stats()
1618 c->pre_bit_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1619 c->pre_bit_error.stat[1 + layer].uvalue += bit_error; in mb86a20s_get_stats()
1620 c->pre_bit_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1621 c->pre_bit_count.stat[1 + layer].uvalue += bit_count; in mb86a20s_get_stats()
1627 c->pre_bit_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1628 c->pre_bit_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1631 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1633 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1637 rc = mb86a20s_get_post_ber(fe, layer, in mb86a20s_get_stats()
1640 c->post_bit_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1641 c->post_bit_error.stat[1 + layer].uvalue += bit_error; in mb86a20s_get_stats()
1642 c->post_bit_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1643 c->post_bit_count.stat[1 + layer].uvalue += bit_count; in mb86a20s_get_stats()
1649 c->post_bit_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1650 c->post_bit_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1653 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1655 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1659 rc = mb86a20s_get_blk_error(fe, layer, in mb86a20s_get_stats()
1663 c->block_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1664 c->block_error.stat[1 + layer].uvalue += block_error; in mb86a20s_get_stats()
1665 c->block_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1666 c->block_count.stat[1 + layer].uvalue += block_count; in mb86a20s_get_stats()
1672 c->block_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1673 c->block_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1676 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1679 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1683 t_pre_bit_error += c->pre_bit_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1684 t_pre_bit_count += c->pre_bit_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1687 t_post_bit_error += c->post_bit_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1688 t_post_bit_count += c->post_bit_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1691 t_block_error += c->block_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1692 t_block_count += c->block_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()