diff options
author | Jemma Denson <jdenson@gmail.com> | 2015-05-15 21:08:26 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-05-19 13:01:47 +0200 |
commit | 5c0a1c28c064e5998f6d6f48826e9701e9f68af2 (patch) | |
tree | 9fe06d82db08ca9f238f79b4aec7ed5d83a8652e /drivers/media/dvb-frontends/cx24120.c | |
parent | [media] b2c2: Reset no_base_addr on skystarS2 attach failure (diff) | |
download | linux-5c0a1c28c064e5998f6d6f48826e9701e9f68af2.tar.xz linux-5c0a1c28c064e5998f6d6f48826e9701e9f68af2.zip |
[media] cx24120: Complete modfec_table
Add in all the likely values for setting fec on tuning. Some values
yet to be tested but very likely to be correct.
In the very unlikely event that these are wrong tuning with
FEC_AUTO will still work.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/dvb-frontends/cx24120.c')
-rw-r--r-- | drivers/media/dvb-frontends/cx24120.c | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/drivers/media/dvb-frontends/cx24120.c b/drivers/media/dvb-frontends/cx24120.c index bc8d0ebb63b6..da50b9e1e9f8 100644 --- a/drivers/media/dvb-frontends/cx24120.c +++ b/drivers/media/dvb-frontends/cx24120.c @@ -920,32 +920,36 @@ static int cx24120_set_inversion(struct cx24120_state *state, return 0; } -/* - * FEC lookup table for tuning Some DVB-S2 val's have been found by - * trial and error. Sofar it seems to match up with the contents of - * the REG_FECMODE after tuning The rest will probably be the same but - * would need testing. Anything not in the table will run with - * FEC_AUTO and take a while longer to tune in ( c.500ms instead of - * 30ms ) - */ +/* FEC lookup table for tuning */ static struct cx24120_modfec_table { fe_delivery_system_t delsys; fe_modulation_t mod; fe_code_rate_t fec; u8 val; } modfec_table[] = { - /*delsys mod fec val */ - { SYS_DVBS, QPSK, FEC_1_2, 0x2e }, - { SYS_DVBS, QPSK, FEC_2_3, 0x2f }, - { SYS_DVBS, QPSK, FEC_3_4, 0x30 }, - { SYS_DVBS, QPSK, FEC_5_6, 0x31 }, - { SYS_DVBS, QPSK, FEC_6_7, 0x32 }, - { SYS_DVBS, QPSK, FEC_7_8, 0x33 }, - - { SYS_DVBS2, QPSK, FEC_3_4, 0x07 }, - - { SYS_DVBS2, PSK_8, FEC_2_3, 0x0d }, - { SYS_DVBS2, PSK_8, FEC_3_4, 0x0e }, + /*delsys mod fec val */ + { SYS_DVBS, QPSK, FEC_1_2, 0x2e }, + { SYS_DVBS, QPSK, FEC_2_3, 0x2f }, + { SYS_DVBS, QPSK, FEC_3_4, 0x30 }, + { SYS_DVBS, QPSK, FEC_5_6, 0x31 }, + { SYS_DVBS, QPSK, FEC_6_7, 0x32 }, + { SYS_DVBS, QPSK, FEC_7_8, 0x33 }, + + { SYS_DVBS2, QPSK, FEC_1_2, 0x04 }, + { SYS_DVBS2, QPSK, FEC_3_5, 0x05 }, + { SYS_DVBS2, QPSK, FEC_2_3, 0x06 }, + { SYS_DVBS2, QPSK, FEC_3_4, 0x07 }, + { SYS_DVBS2, QPSK, FEC_4_5, 0x08 }, + { SYS_DVBS2, QPSK, FEC_5_6, 0x09 }, + { SYS_DVBS2, QPSK, FEC_8_9, 0x0a }, + { SYS_DVBS2, QPSK, FEC_9_10, 0x0b }, + + { SYS_DVBS2, PSK_8, FEC_3_5, 0x0c }, + { SYS_DVBS2, PSK_8, FEC_2_3, 0x0d }, + { SYS_DVBS2, PSK_8, FEC_3_4, 0x0e }, + { SYS_DVBS2, PSK_8, FEC_5_6, 0x0f }, + { SYS_DVBS2, PSK_8, FEC_8_9, 0x10 }, + { SYS_DVBS2, PSK_8, FEC_9_10, 0x11 }, }; /* Set fec_val & fec_mask values from delsys, modulation & fec */ |