Lines Matching refs:layer
377 unsigned layer) in mb86a20s_get_modulation() argument
386 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_modulation()
388 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_modulation()
409 unsigned layer) in mb86a20s_get_fec() argument
419 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_fec()
421 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_fec()
444 unsigned layer) in mb86a20s_get_interleaving() argument
457 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_interleaving()
459 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_interleaving()
470 unsigned layer) in mb86a20s_get_segment_count() argument
481 if (layer >= ARRAY_SIZE(reg)) in mb86a20s_get_segment_count()
484 rc = mb86a20s_writereg(state, 0x6d, reg[layer]); in mb86a20s_get_segment_count()
542 static void mb86a20s_layer_bitrate(struct dvb_frontend *fe, u32 layer, in mb86a20s_layer_bitrate() argument
617 __func__, 'A' + layer, in mb86a20s_layer_bitrate()
621 state->estimated_rate[layer] = rate; in mb86a20s_layer_bitrate()
628 int layer, rc; in mb86a20s_get_frontend() local
646 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_frontend()
648 __func__, 'A' + layer); in mb86a20s_get_frontend()
650 rc = mb86a20s_get_segment_count(state, layer); in mb86a20s_get_frontend()
654 c->layer[layer].segment_count = rc; in mb86a20s_get_frontend()
656 c->layer[layer].segment_count = 0; in mb86a20s_get_frontend()
657 state->estimated_rate[layer] = 0; in mb86a20s_get_frontend()
660 c->isdbt_layer_enabled |= 1 << layer; in mb86a20s_get_frontend()
661 rc = mb86a20s_get_modulation(state, layer); in mb86a20s_get_frontend()
666 c->layer[layer].modulation = rc; in mb86a20s_get_frontend()
667 rc = mb86a20s_get_fec(state, layer); in mb86a20s_get_frontend()
672 c->layer[layer].fec = rc; in mb86a20s_get_frontend()
673 rc = mb86a20s_get_interleaving(state, layer); in mb86a20s_get_frontend()
678 c->layer[layer].interleaving = rc; in mb86a20s_get_frontend()
679 mb86a20s_layer_bitrate(fe, layer, c->layer[layer].modulation, in mb86a20s_get_frontend()
680 c->layer[layer].fec, in mb86a20s_get_frontend()
682 c->layer[layer].segment_count); in mb86a20s_get_frontend()
801 unsigned layer, in mb86a20s_get_pre_ber() argument
809 if (layer >= NUM_LAYERS) in mb86a20s_get_pre_ber()
818 if (!(rc & (1 << layer))) { in mb86a20s_get_pre_ber()
821 __func__, 'A' + layer); in mb86a20s_get_pre_ber()
826 rc = mb86a20s_readreg(state, 0x55 + layer * 3); in mb86a20s_get_pre_ber()
830 rc = mb86a20s_readreg(state, 0x56 + layer * 3); in mb86a20s_get_pre_ber()
834 rc = mb86a20s_readreg(state, 0x57 + layer * 3); in mb86a20s_get_pre_ber()
841 __func__, 'A' + layer, *error); in mb86a20s_get_pre_ber()
844 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
851 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
858 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
868 __func__, 'A' + layer, *count); in mb86a20s_get_pre_ber()
878 if (state->estimated_rate[layer] in mb86a20s_get_pre_ber()
879 && state->estimated_rate[layer] != *count) { in mb86a20s_get_pre_ber()
882 __func__, 'A' + layer, state->estimated_rate[layer]); in mb86a20s_get_pre_ber()
888 rc = mb86a20s_writereg(state, 0x50, 0xa7 + layer * 3); in mb86a20s_get_pre_ber()
892 state->estimated_rate[layer] >> 16); in mb86a20s_get_pre_ber()
895 rc = mb86a20s_writereg(state, 0x50, 0xa8 + layer * 3); in mb86a20s_get_pre_ber()
899 state->estimated_rate[layer] >> 8); in mb86a20s_get_pre_ber()
902 rc = mb86a20s_writereg(state, 0x50, 0xa9 + layer * 3); in mb86a20s_get_pre_ber()
906 state->estimated_rate[layer]); in mb86a20s_get_pre_ber()
924 rc = mb86a20s_writereg(state, 0x53, val & ~(1 << layer)); in mb86a20s_get_pre_ber()
927 rc = mb86a20s_writereg(state, 0x53, val | (1 << layer)); in mb86a20s_get_pre_ber()
934 unsigned layer, in mb86a20s_get_post_ber() argument
943 if (layer >= NUM_LAYERS) in mb86a20s_get_post_ber()
952 if (!(rc & (1 << layer))) { in mb86a20s_get_post_ber()
955 __func__, 'A' + layer); in mb86a20s_get_post_ber()
960 rc = mb86a20s_readreg(state, 0x64 + layer * 3); in mb86a20s_get_post_ber()
964 rc = mb86a20s_readreg(state, 0x65 + layer * 3); in mb86a20s_get_post_ber()
968 rc = mb86a20s_readreg(state, 0x66 + layer * 3); in mb86a20s_get_post_ber()
975 __func__, 'A' + layer, *error); in mb86a20s_get_post_ber()
978 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
985 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
996 __func__, 'A' + layer, *count); in mb86a20s_get_post_ber()
1005 if (!state->estimated_rate[layer]) in mb86a20s_get_post_ber()
1008 collect_rate = state->estimated_rate[layer] / 204 / 8; in mb86a20s_get_post_ber()
1016 __func__, 'A' + layer, collect_rate); in mb86a20s_get_post_ber()
1022 rc = mb86a20s_writereg(state, 0x50, 0xdc + layer * 2); in mb86a20s_get_post_ber()
1028 rc = mb86a20s_writereg(state, 0x50, 0xdd + layer * 2); in mb86a20s_get_post_ber()
1053 rc = mb86a20s_writereg(state, 0x5f, val & ~(1 << layer)); in mb86a20s_get_post_ber()
1056 rc = mb86a20s_writereg(state, 0x5f, val | (1 << layer)); in mb86a20s_get_post_ber()
1062 unsigned layer, in mb86a20s_get_blk_error() argument
1070 if (layer >= NUM_LAYERS) in mb86a20s_get_blk_error()
1083 if (!(rc & (1 << layer))) { in mb86a20s_get_blk_error()
1086 __func__, 'A' + layer); in mb86a20s_get_blk_error()
1091 rc = mb86a20s_writereg(state, 0x50, 0xb9 + layer * 2); in mb86a20s_get_blk_error()
1098 rc = mb86a20s_writereg(state, 0x50, 0xba + layer * 2); in mb86a20s_get_blk_error()
1106 __func__, 'A' + layer, *error); in mb86a20s_get_blk_error()
1109 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1116 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1126 __func__, 'A' + layer, *count); in mb86a20s_get_blk_error()
1135 if (!state->estimated_rate[layer]) in mb86a20s_get_blk_error()
1138 collect_rate = state->estimated_rate[layer] / 204 / 8; in mb86a20s_get_blk_error()
1147 __func__, 'A' + layer, collect_rate); in mb86a20s_get_blk_error()
1158 rc = mb86a20s_writereg(state, 0x50, 0xb2 + layer * 2); in mb86a20s_get_blk_error()
1164 rc = mb86a20s_writereg(state, 0x50, 0xb3 + layer * 2); in mb86a20s_get_blk_error()
1200 rc = mb86a20s_writereg(state, 0x51, val | (1 << layer)); in mb86a20s_get_blk_error()
1203 rc = mb86a20s_writereg(state, 0x51, val & ~(1 << layer)); in mb86a20s_get_blk_error()
1435 int rc, val, layer; in mb86a20s_get_blk_error_layer_CNR() local
1457 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_blk_error_layer_CNR()
1458 if (!(c->isdbt_layer_enabled & (1 << layer))) { in mb86a20s_get_blk_error_layer_CNR()
1459 c->cnr.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_blk_error_layer_CNR()
1463 rc = mb86a20s_writereg(state, 0x50, 0x52 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1470 rc = mb86a20s_writereg(state, 0x50, 0x53 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1477 rc = mb86a20s_writereg(state, 0x50, 0x54 + layer * 3); in mb86a20s_get_blk_error_layer_CNR()
1485 switch (c->layer[layer].modulation) { in mb86a20s_get_blk_error_layer_CNR()
1503 c->cnr.stat[1 + layer].scale = FE_SCALE_DECIBEL; in mb86a20s_get_blk_error_layer_CNR()
1504 c->cnr.stat[1 + layer].svalue = cnr; in mb86a20s_get_blk_error_layer_CNR()
1508 __func__, 'A' + layer, cnr / 1000, cnr % 1000, mer); in mb86a20s_get_blk_error_layer_CNR()
1536 int layer; in mb86a20s_stats_not_ready() local
1559 for (layer = 0; layer < NUM_LAYERS + 1; layer++) { in mb86a20s_stats_not_ready()
1560 c->cnr.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1561 c->pre_bit_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1562 c->pre_bit_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1563 c->post_bit_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1564 c->post_bit_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1565 c->block_error.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1566 c->block_count.stat[layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_stats_not_ready()
1574 int rc = 0, layer; in mb86a20s_get_stats() local
1598 for (layer = 0; layer < NUM_LAYERS; layer++) { in mb86a20s_get_stats()
1599 if (c->isdbt_layer_enabled & (1 << layer)) { in mb86a20s_get_stats()
1604 rc = mb86a20s_get_pre_ber(fe, layer, in mb86a20s_get_stats()
1607 c->pre_bit_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1608 c->pre_bit_error.stat[1 + layer].uvalue += bit_error; in mb86a20s_get_stats()
1609 c->pre_bit_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1610 c->pre_bit_count.stat[1 + layer].uvalue += bit_count; in mb86a20s_get_stats()
1616 c->pre_bit_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1617 c->pre_bit_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1620 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1622 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1626 rc = mb86a20s_get_post_ber(fe, layer, in mb86a20s_get_stats()
1629 c->post_bit_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1630 c->post_bit_error.stat[1 + layer].uvalue += bit_error; in mb86a20s_get_stats()
1631 c->post_bit_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1632 c->post_bit_count.stat[1 + layer].uvalue += bit_count; in mb86a20s_get_stats()
1638 c->post_bit_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1639 c->post_bit_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1642 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1644 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1648 rc = mb86a20s_get_blk_error(fe, layer, in mb86a20s_get_stats()
1652 c->block_error.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1653 c->block_error.stat[1 + layer].uvalue += block_error; in mb86a20s_get_stats()
1654 c->block_count.stat[1 + layer].scale = FE_SCALE_COUNTER; in mb86a20s_get_stats()
1655 c->block_count.stat[1 + layer].uvalue += block_count; in mb86a20s_get_stats()
1661 c->block_error.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1662 c->block_count.stat[1 + layer].scale = FE_SCALE_NOT_AVAILABLE; in mb86a20s_get_stats()
1665 __func__, 'A' + layer, rc); in mb86a20s_get_stats()
1668 if (c->block_error.stat[1 + layer].scale != FE_SCALE_NOT_AVAILABLE) in mb86a20s_get_stats()
1672 t_pre_bit_error += c->pre_bit_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1673 t_pre_bit_count += c->pre_bit_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1676 t_post_bit_error += c->post_bit_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1677 t_post_bit_count += c->post_bit_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1680 t_block_error += c->block_error.stat[1 + layer].uvalue; in mb86a20s_get_stats()
1681 t_block_count += c->block_count.stat[1 + layer].uvalue; in mb86a20s_get_stats()