summaryrefslogtreecommitdiff
path: root/drivers/media/dvb-frontends
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-frontends')
-rw-r--r--drivers/media/dvb-frontends/Makefile1
-rw-r--r--drivers/media/dvb-frontends/a8293.h2
-rw-r--r--drivers/media/dvb-frontends/af9013_priv.h2
-rw-r--r--drivers/media/dvb-frontends/af9033_priv.h4
-rw-r--r--drivers/media/dvb-frontends/as102_fe.c2
-rw-r--r--drivers/media/dvb-frontends/ascot2e.c6
-rw-r--r--drivers/media/dvb-frontends/atbm8830.c2
-rw-r--r--drivers/media/dvb-frontends/au8522_common.c2
-rw-r--r--drivers/media/dvb-frontends/au8522_dig.c2
-rw-r--r--drivers/media/dvb-frontends/au8522_priv.h220
-rw-r--r--drivers/media/dvb-frontends/bcm3510.c2
-rw-r--r--drivers/media/dvb-frontends/cx22700.c2
-rw-r--r--drivers/media/dvb-frontends/cx22702.c2
-rw-r--r--drivers/media/dvb-frontends/cx24110.c2
-rw-r--r--drivers/media/dvb-frontends/cx24113.c2
-rw-r--r--drivers/media/dvb-frontends/cx24116.c4
-rw-r--r--drivers/media/dvb-frontends/cx24117.c2
-rw-r--r--drivers/media/dvb-frontends/cx24120.c2
-rw-r--r--drivers/media/dvb-frontends/cx24123.c2
-rw-r--r--drivers/media/dvb-frontends/cxd2820r_priv.h4
-rw-r--r--drivers/media/dvb-frontends/cxd2841er.c23
-rw-r--r--drivers/media/dvb-frontends/dib0070.c2
-rw-r--r--drivers/media/dvb-frontends/dib0090.c2
-rw-r--r--drivers/media/dvb-frontends/dib3000mb.c2
-rw-r--r--drivers/media/dvb-frontends/dib3000mc.c2
-rw-r--r--drivers/media/dvb-frontends/dib7000m.c2
-rw-r--r--drivers/media/dvb-frontends/dib7000p.c4
-rw-r--r--drivers/media/dvb-frontends/dib8000.c4
-rw-r--r--drivers/media/dvb-frontends/dib9000.c4
-rw-r--r--drivers/media/dvb-frontends/dibx000_common.c8
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/Makefile1
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/drx39xxj.h2
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/drx_driver.h2
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/drxj.c16
-rw-r--r--drivers/media/dvb-frontends/drxd_hard.c27
-rw-r--r--drivers/media/dvb-frontends/drxk.h6
-rw-r--r--drivers/media/dvb-frontends/drxk_hard.c6
-rw-r--r--drivers/media/dvb-frontends/ds3000.c2
-rw-r--r--drivers/media/dvb-frontends/dvb-pll.h2
-rw-r--r--drivers/media/dvb-frontends/dvb_dummy_fe.c2
-rw-r--r--drivers/media/dvb-frontends/dvb_dummy_fe.h2
-rw-r--r--drivers/media/dvb-frontends/ec100.c2
-rw-r--r--drivers/media/dvb-frontends/gp8psk-fe.c2
-rw-r--r--drivers/media/dvb-frontends/helene.c6
-rw-r--r--drivers/media/dvb-frontends/horus3a.c6
-rw-r--r--drivers/media/dvb-frontends/isl6405.c2
-rw-r--r--drivers/media/dvb-frontends/isl6421.c2
-rw-r--r--drivers/media/dvb-frontends/isl6423.c2
-rw-r--r--drivers/media/dvb-frontends/itd1000.c7
-rw-r--r--drivers/media/dvb-frontends/ix2505v.h2
-rw-r--r--drivers/media/dvb-frontends/l64781.c2
-rw-r--r--drivers/media/dvb-frontends/lg2160.h2
-rw-r--r--drivers/media/dvb-frontends/lgdt3305.c2
-rw-r--r--drivers/media/dvb-frontends/lgdt3305.h2
-rw-r--r--drivers/media/dvb-frontends/lgdt3306a.c2
-rw-r--r--drivers/media/dvb-frontends/lgdt3306a.h2
-rw-r--r--drivers/media/dvb-frontends/lgdt330x.c4
-rw-r--r--drivers/media/dvb-frontends/lgs8gl5.c2
-rw-r--r--drivers/media/dvb-frontends/lgs8gxx.c2
-rw-r--r--drivers/media/dvb-frontends/lnbh25.c2
-rw-r--r--drivers/media/dvb-frontends/lnbp21.c2
-rw-r--r--drivers/media/dvb-frontends/lnbp22.c2
-rw-r--r--drivers/media/dvb-frontends/m88ds3103_priv.h4
-rw-r--r--drivers/media/dvb-frontends/m88rs2000.c13
-rw-r--r--drivers/media/dvb-frontends/m88rs2000.h2
-rw-r--r--drivers/media/dvb-frontends/mb86a16.c15
-rw-r--r--drivers/media/dvb-frontends/mb86a16.h2
-rw-r--r--drivers/media/dvb-frontends/mb86a20s.c4
-rw-r--r--drivers/media/dvb-frontends/mn88472_priv.h4
-rw-r--r--drivers/media/dvb-frontends/mn88473.c2
-rw-r--r--drivers/media/dvb-frontends/mn88473_priv.h4
-rw-r--r--drivers/media/dvb-frontends/mt312.c7
-rw-r--r--drivers/media/dvb-frontends/mt352.c2
-rw-r--r--drivers/media/dvb-frontends/mxl5xx.c11
-rw-r--r--drivers/media/dvb-frontends/mxl5xx.h2
-rw-r--r--drivers/media/dvb-frontends/nxt200x.c2
-rw-r--r--drivers/media/dvb-frontends/nxt6000.c2
-rw-r--r--drivers/media/dvb-frontends/or51132.c4
-rw-r--r--drivers/media/dvb-frontends/or51211.c4
-rw-r--r--drivers/media/dvb-frontends/rtl2830_priv.h4
-rw-r--r--drivers/media/dvb-frontends/rtl2832_priv.h4
-rw-r--r--drivers/media/dvb-frontends/rtl2832_sdr.h2
-rw-r--r--drivers/media/dvb-frontends/s5h1409.c2
-rw-r--r--drivers/media/dvb-frontends/s5h1411.c2
-rw-r--r--drivers/media/dvb-frontends/s5h1420.c2
-rw-r--r--drivers/media/dvb-frontends/s5h1432.c2
-rw-r--r--drivers/media/dvb-frontends/s921.c2
-rw-r--r--drivers/media/dvb-frontends/si2165.c613
-rw-r--r--drivers/media/dvb-frontends/si2165.h37
-rw-r--r--drivers/media/dvb-frontends/si2165_priv.h114
-rw-r--r--drivers/media/dvb-frontends/si2168.c3
-rw-r--r--drivers/media/dvb-frontends/si2168_priv.h2
-rw-r--r--drivers/media/dvb-frontends/si21xx.c2
-rw-r--r--drivers/media/dvb-frontends/si21xx.h2
-rw-r--r--drivers/media/dvb-frontends/sp2.h2
-rw-r--r--drivers/media/dvb-frontends/sp2_priv.h2
-rw-r--r--drivers/media/dvb-frontends/sp8870.c2
-rw-r--r--drivers/media/dvb-frontends/sp887x.c2
-rw-r--r--drivers/media/dvb-frontends/stb0899_algo.c3
-rw-r--r--drivers/media/dvb-frontends/stb0899_drv.c15
-rw-r--r--drivers/media/dvb-frontends/stb0899_drv.h4
-rw-r--r--drivers/media/dvb-frontends/stb0899_priv.h4
-rw-r--r--drivers/media/dvb-frontends/stb6000.h2
-rw-r--r--drivers/media/dvb-frontends/stb6100.c8
-rw-r--r--drivers/media/dvb-frontends/stb6100.h2
-rw-r--r--drivers/media/dvb-frontends/stb6100_cfg.h2
-rw-r--r--drivers/media/dvb-frontends/stb6100_proc.h2
-rw-r--r--drivers/media/dvb-frontends/stv0288.c2
-rw-r--r--drivers/media/dvb-frontends/stv0288.h2
-rw-r--r--drivers/media/dvb-frontends/stv0297.c2
-rw-r--r--drivers/media/dvb-frontends/stv0297.h2
-rw-r--r--drivers/media/dvb-frontends/stv0299.c2
-rw-r--r--drivers/media/dvb-frontends/stv0299.h2
-rw-r--r--drivers/media/dvb-frontends/stv0367.c8
-rw-r--r--drivers/media/dvb-frontends/stv0367.h2
-rw-r--r--drivers/media/dvb-frontends/stv0900.h2
-rw-r--r--drivers/media/dvb-frontends/stv0900_core.c2
-rw-r--r--drivers/media/dvb-frontends/stv0900_init.h34
-rw-r--r--drivers/media/dvb-frontends/stv0900_priv.h2
-rw-r--r--drivers/media/dvb-frontends/stv090x.c43
-rw-r--r--drivers/media/dvb-frontends/stv090x_priv.h4
-rw-r--r--drivers/media/dvb-frontends/stv0910.c227
-rw-r--r--drivers/media/dvb-frontends/stv0910_regs.h1854
-rw-r--r--drivers/media/dvb-frontends/stv6110.h2
-rw-r--r--drivers/media/dvb-frontends/stv6110x.c8
-rw-r--r--drivers/media/dvb-frontends/stv6110x_priv.h6
-rw-r--r--drivers/media/dvb-frontends/stv6111.c46
-rw-r--r--drivers/media/dvb-frontends/tc90522.c2
-rw-r--r--drivers/media/dvb-frontends/tc90522.h2
-rw-r--r--drivers/media/dvb-frontends/tda10021.c2
-rw-r--r--drivers/media/dvb-frontends/tda10023.c4
-rw-r--r--drivers/media/dvb-frontends/tda10048.c4
-rw-r--r--drivers/media/dvb-frontends/tda1004x.c2
-rw-r--r--drivers/media/dvb-frontends/tda10071_priv.h2
-rw-r--r--drivers/media/dvb-frontends/tda10086.c2
-rw-r--r--drivers/media/dvb-frontends/tda18271c2dd.c3
-rw-r--r--drivers/media/dvb-frontends/tda18271c2dd.h4
-rw-r--r--drivers/media/dvb-frontends/tda665x.c2
-rw-r--r--drivers/media/dvb-frontends/tda8083.c2
-rw-r--r--drivers/media/dvb-frontends/tda8261.c2
-rw-r--r--drivers/media/dvb-frontends/tda826x.h2
-rw-r--r--drivers/media/dvb-frontends/ts2020.c6
-rw-r--r--drivers/media/dvb-frontends/tua6100.h2
-rw-r--r--drivers/media/dvb-frontends/ves1820.c2
-rw-r--r--drivers/media/dvb-frontends/ves1x93.c2
-rw-r--r--drivers/media/dvb-frontends/zd1301_demod.h2
-rw-r--r--drivers/media/dvb-frontends/zl10036.h2
-rw-r--r--drivers/media/dvb-frontends/zl10039.c6
-rw-r--r--drivers/media/dvb-frontends/zl10353.c2
149 files changed, 1983 insertions, 1700 deletions
diff --git a/drivers/media/dvb-frontends/Makefile b/drivers/media/dvb-frontends/Makefile
index d025eb373842..4be59fed4536 100644
--- a/drivers/media/dvb-frontends/Makefile
+++ b/drivers/media/dvb-frontends/Makefile
@@ -3,7 +3,6 @@
# Makefile for the kernel DVB frontend device drivers.
#
-ccflags-y += -I$(srctree)/drivers/media/dvb-core/
ccflags-y += -I$(srctree)/drivers/media/tuners/
# FIXME: RTL2832 SDR driver uses power management directly from USB IF driver
diff --git a/drivers/media/dvb-frontends/a8293.h b/drivers/media/dvb-frontends/a8293.h
index 7b90a03fcd0a..bc6f74f10f32 100644
--- a/drivers/media/dvb-frontends/a8293.h
+++ b/drivers/media/dvb-frontends/a8293.h
@@ -17,7 +17,7 @@
#ifndef A8293_H
#define A8293_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/*
* I2C address
diff --git a/drivers/media/dvb-frontends/af9013_priv.h b/drivers/media/dvb-frontends/af9013_priv.h
index 35ca5c9bcacd..688fc3472cf6 100644
--- a/drivers/media/dvb-frontends/af9013_priv.h
+++ b/drivers/media/dvb-frontends/af9013_priv.h
@@ -21,7 +21,7 @@
#ifndef AF9013_PRIV_H
#define AF9013_PRIV_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "af9013.h"
#include <linux/firmware.h>
#include <linux/math64.h>
diff --git a/drivers/media/dvb-frontends/af9033_priv.h b/drivers/media/dvb-frontends/af9033_priv.h
index 8799cda1ae14..f269abf609f0 100644
--- a/drivers/media/dvb-frontends/af9033_priv.h
+++ b/drivers/media/dvb-frontends/af9033_priv.h
@@ -18,12 +18,12 @@
#ifndef AF9033_PRIV_H
#define AF9033_PRIV_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "af9033.h"
#include <linux/math64.h>
#include <linux/regmap.h>
#include <linux/kernel.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
struct reg_val {
u32 reg;
diff --git a/drivers/media/dvb-frontends/as102_fe.c b/drivers/media/dvb-frontends/as102_fe.c
index b1c84ee914f0..9b2f2da1d989 100644
--- a/drivers/media/dvb-frontends/as102_fe.c
+++ b/drivers/media/dvb-frontends/as102_fe.c
@@ -14,7 +14,7 @@
* GNU General Public License for more details.
*/
-#include <dvb_frontend.h>
+#include <media/dvb_frontend.h>
#include "as102_fe.h"
diff --git a/drivers/media/dvb-frontends/ascot2e.c b/drivers/media/dvb-frontends/ascot2e.c
index 0ee0df53b91b..9746c6dd7fb8 100644
--- a/drivers/media/dvb-frontends/ascot2e.c
+++ b/drivers/media/dvb-frontends/ascot2e.c
@@ -24,7 +24,7 @@
#include <linux/dvb/frontend.h>
#include <linux/types.h>
#include "ascot2e.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define MAX_WRITE_REGSIZE 10
@@ -155,7 +155,9 @@ static int ascot2e_write_regs(struct ascot2e_priv *priv,
static int ascot2e_write_reg(struct ascot2e_priv *priv, u8 reg, u8 val)
{
- return ascot2e_write_regs(priv, reg, &val, 1);
+ u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return ascot2e_write_regs(priv, reg, &tmp, 1);
}
static int ascot2e_read_regs(struct ascot2e_priv *priv,
diff --git a/drivers/media/dvb-frontends/atbm8830.c b/drivers/media/dvb-frontends/atbm8830.c
index 05850b32d6c6..7b0f3239dbba 100644
--- a/drivers/media/dvb-frontends/atbm8830.c
+++ b/drivers/media/dvb-frontends/atbm8830.c
@@ -16,7 +16,7 @@
*/
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "atbm8830.h"
#include "atbm8830_priv.h"
diff --git a/drivers/media/dvb-frontends/au8522_common.c b/drivers/media/dvb-frontends/au8522_common.c
index 6722838c3707..56605de9923b 100644
--- a/drivers/media/dvb-frontends/au8522_common.c
+++ b/drivers/media/dvb-frontends/au8522_common.c
@@ -23,7 +23,7 @@
*/
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "au8522_priv.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/au8522_dig.c b/drivers/media/dvb-frontends/au8522_dig.c
index 3f3635f5a06a..8f659bd1c79e 100644
--- a/drivers/media/dvb-frontends/au8522_dig.c
+++ b/drivers/media/dvb-frontends/au8522_dig.c
@@ -24,7 +24,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "au8522.h"
#include "au8522_priv.h"
diff --git a/drivers/media/dvb-frontends/au8522_priv.h b/drivers/media/dvb-frontends/au8522_priv.h
index f5a9438f6ce5..2043c1744753 100644
--- a/drivers/media/dvb-frontends/au8522_priv.h
+++ b/drivers/media/dvb-frontends/au8522_priv.h
@@ -32,7 +32,7 @@
#include <media/v4l2-ctrls.h>
#include <media/v4l2-mc.h>
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "au8522.h"
#include "tuner-i2c.h"
@@ -99,7 +99,7 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H 0x0A5
#define AU8522_AGC_CONTROL_RANGE_REG0A6H 0x0A6
#define AU8522_SYSTEM_GAIN_CONTROL_REG0A7H 0x0A7
-#define AU8522_TUNER_AGC_RF_STOP_REG0A8H 0x0A8
+#define AU8522_TUNER_AGC_RF_STOP_REG0A8H 0x0A8
#define AU8522_TUNER_AGC_RF_START_REG0A9H 0x0A9
#define AU8522_TUNER_RF_AGC_DEFAULT_REG0AAH 0x0AA
#define AU8522_TUNER_AGC_IF_STOP_REG0ABH 0x0AB
@@ -110,18 +110,18 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
/* Receiver registers */
#define AU8522_FRMREGTHRD1_REG0B0H 0x0B0
-#define AU8522_FRMREGAGC1H_REG0B1H 0x0B1
-#define AU8522_FRMREGSHIFT1_REG0B2H 0x0B2
-#define AU8522_TOREGAGC1_REG0B3H 0x0B3
-#define AU8522_TOREGASHIFT1_REG0B4H 0x0B4
+#define AU8522_FRMREGAGC1H_REG0B1H 0x0B1
+#define AU8522_FRMREGSHIFT1_REG0B2H 0x0B2
+#define AU8522_TOREGAGC1_REG0B3H 0x0B3
+#define AU8522_TOREGASHIFT1_REG0B4H 0x0B4
#define AU8522_FRMREGBBH_REG0B5H 0x0B5
-#define AU8522_FRMREGBBM_REG0B6H 0x0B6
-#define AU8522_FRMREGBBL_REG0B7H 0x0B7
+#define AU8522_FRMREGBBM_REG0B6H 0x0B6
+#define AU8522_FRMREGBBL_REG0B7H 0x0B7
/* 0xB8 TO 0xD7 are the filter coefficients */
-#define AU8522_FRMREGTHRD2_REG0D8H 0x0D8
-#define AU8522_FRMREGAGC2H_REG0D9H 0x0D9
-#define AU8522_TOREGAGC2_REG0DAH 0x0DA
-#define AU8522_TOREGSHIFT2_REG0DBH 0x0DB
+#define AU8522_FRMREGTHRD2_REG0D8H 0x0D8
+#define AU8522_FRMREGAGC2H_REG0D9H 0x0D9
+#define AU8522_TOREGAGC2_REG0DAH 0x0DA
+#define AU8522_TOREGSHIFT2_REG0DBH 0x0DB
#define AU8522_FRMREGPILOTH_REG0DCH 0x0DC
#define AU8522_FRMREGPILOTM_REG0DDH 0x0DD
#define AU8522_FRMREGPILOTL_REG0DEH 0x0DE
@@ -134,9 +134,9 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_CHIP_MODE_REG0FEH 0x0FE
/* I2C bus control registers */
-#define AU8522_I2C_CONTROL_REG0_REG090H 0x090
-#define AU8522_I2C_CONTROL_REG1_REG091H 0x091
-#define AU8522_I2C_STATUS_REG092H 0x092
+#define AU8522_I2C_CONTROL_REG0_REG090H 0x090
+#define AU8522_I2C_CONTROL_REG1_REG091H 0x091
+#define AU8522_I2C_STATUS_REG092H 0x092
#define AU8522_I2C_WR_DATA0_REG093H 0x093
#define AU8522_I2C_WR_DATA1_REG094H 0x094
#define AU8522_I2C_WR_DATA2_REG095H 0x095
@@ -156,48 +156,48 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_ENA_USB_REG101H 0x101
-#define AU8522_I2S_CTRL_0_REG110H 0x110
-#define AU8522_I2S_CTRL_1_REG111H 0x111
-#define AU8522_I2S_CTRL_2_REG112H 0x112
+#define AU8522_I2S_CTRL_0_REG110H 0x110
+#define AU8522_I2S_CTRL_1_REG111H 0x111
+#define AU8522_I2S_CTRL_2_REG112H 0x112
-#define AU8522_FRMREGFFECONTROL_REG121H 0x121
-#define AU8522_FRMREGDFECONTROL_REG122H 0x122
+#define AU8522_FRMREGFFECONTROL_REG121H 0x121
+#define AU8522_FRMREGDFECONTROL_REG122H 0x122
-#define AU8522_CARRFREQOFFSET0_REG201H 0x201
+#define AU8522_CARRFREQOFFSET0_REG201H 0x201
#define AU8522_CARRFREQOFFSET1_REG202H 0x202
#define AU8522_DECIMATION_GAIN_REG21AH 0x21A
-#define AU8522_FRMREGIFSLP_REG21BH 0x21B
-#define AU8522_FRMREGTHRDL2_REG21CH 0x21C
-#define AU8522_FRMREGSTEP3DB_REG21DH 0x21D
+#define AU8522_FRMREGIFSLP_REG21BH 0x21B
+#define AU8522_FRMREGTHRDL2_REG21CH 0x21C
+#define AU8522_FRMREGSTEP3DB_REG21DH 0x21D
#define AU8522_DAGC_GAIN_ADJUSTMENT_REG21EH 0x21E
-#define AU8522_FRMREGPLLMODE_REG21FH 0x21F
-#define AU8522_FRMREGCSTHRD_REG220H 0x220
-#define AU8522_FRMREGCRLOCKDMAX_REG221H 0x221
-#define AU8522_FRMREGCRPERIODMASK_REG222H 0x222
-#define AU8522_FRMREGCRLOCK0THH_REG223H 0x223
-#define AU8522_FRMREGCRLOCK1THH_REG224H 0x224
-#define AU8522_FRMREGCRLOCK0THL_REG225H 0x225
-#define AU8522_FRMREGCRLOCK1THL_REG226H 0x226
+#define AU8522_FRMREGPLLMODE_REG21FH 0x21F
+#define AU8522_FRMREGCSTHRD_REG220H 0x220
+#define AU8522_FRMREGCRLOCKDMAX_REG221H 0x221
+#define AU8522_FRMREGCRPERIODMASK_REG222H 0x222
+#define AU8522_FRMREGCRLOCK0THH_REG223H 0x223
+#define AU8522_FRMREGCRLOCK1THH_REG224H 0x224
+#define AU8522_FRMREGCRLOCK0THL_REG225H 0x225
+#define AU8522_FRMREGCRLOCK1THL_REG226H 0x226
#define AU_FRMREGPLLACQPHASESCL_REG227H 0x227
-#define AU8522_FRMREGFREQFBCTRL_REG228H 0x228
+#define AU8522_FRMREGFREQFBCTRL_REG228H 0x228
/* Analog TV Decoder */
#define AU8522_TVDEC_STATUS_REG000H 0x000
#define AU8522_TVDEC_INT_STATUS_REG001H 0x001
-#define AU8522_TVDEC_MACROVISION_STATUS_REG002H 0x002
+#define AU8522_TVDEC_MACROVISION_STATUS_REG002H 0x002
#define AU8522_TVDEC_SHARPNESSREG009H 0x009
#define AU8522_TVDEC_BRIGHTNESS_REG00AH 0x00A
#define AU8522_TVDEC_CONTRAST_REG00BH 0x00B
#define AU8522_TVDEC_SATURATION_CB_REG00CH 0x00C
#define AU8522_TVDEC_SATURATION_CR_REG00DH 0x00D
#define AU8522_TVDEC_HUE_H_REG00EH 0x00E
-#define AU8522_TVDEC_HUE_L_REG00FH 0x00F
+#define AU8522_TVDEC_HUE_L_REG00FH 0x00F
#define AU8522_TVDEC_INT_MASK_REG010H 0x010
#define AU8522_VIDEO_MODE_REG011H 0x011
#define AU8522_TVDEC_PGA_REG012H 0x012
#define AU8522_TVDEC_COMB_MODE_REG015H 0x015
-#define AU8522_REG016H 0x016
+#define AU8522_REG016H 0x016
#define AU8522_TVDED_DBG_MODE_REG060H 0x060
#define AU8522_TVDEC_FORMAT_CTRL1_REG061H 0x061
#define AU8522_TVDEC_FORMAT_CTRL2_REG062H 0x062
@@ -207,13 +207,13 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_TVDEC_COMB_VDIF_THR2_REG066H 0x066
#define AU8522_TVDEC_COMB_VDIF_THR3_REG067H 0x067
#define AU8522_TVDEC_COMB_NOTCH_THR_REG068H 0x068
-#define AU8522_TVDEC_COMB_HDIF_THR1_REG069H 0x069
+#define AU8522_TVDEC_COMB_HDIF_THR1_REG069H 0x069
#define AU8522_TVDEC_COMB_HDIF_THR2_REG06AH 0x06A
-#define AU8522_TVDEC_COMB_HDIF_THR3_REG06BH 0x06B
-#define AU8522_TVDEC_COMB_DCDIF_THR1_REG06CH 0x06C
-#define AU8522_TVDEC_COMB_DCDIF_THR2_REG06DH 0x06D
-#define AU8522_TVDEC_COMB_DCDIF_THR3_REG06EH 0x06E
-#define AU8522_TVDEC_UV_SEP_THR_REG06FH 0x06F
+#define AU8522_TVDEC_COMB_HDIF_THR3_REG06BH 0x06B
+#define AU8522_TVDEC_COMB_DCDIF_THR1_REG06CH 0x06C
+#define AU8522_TVDEC_COMB_DCDIF_THR2_REG06DH 0x06D
+#define AU8522_TVDEC_COMB_DCDIF_THR3_REG06EH 0x06E
+#define AU8522_TVDEC_UV_SEP_THR_REG06FH 0x06F
#define AU8522_TVDEC_COMB_DC_THR1_NTSC_REG070H 0x070
#define AU8522_TVDEC_COMB_DC_THR2_NTSC_REG073H 0x073
#define AU8522_TVDEC_DCAGC_CTRL_REG077H 0x077
@@ -229,42 +229,42 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_TVDEC_CHROMA_AGC_REG401H 0x401
#define AU8522_TVDEC_CHROMA_SFT_REG402H 0x402
-#define AU8522_FILTER_COEF_R410 0x410
-#define AU8522_FILTER_COEF_R411 0x411
-#define AU8522_FILTER_COEF_R412 0x412
-#define AU8522_FILTER_COEF_R413 0x413
-#define AU8522_FILTER_COEF_R414 0x414
-#define AU8522_FILTER_COEF_R415 0x415
-#define AU8522_FILTER_COEF_R416 0x416
-#define AU8522_FILTER_COEF_R417 0x417
-#define AU8522_FILTER_COEF_R418 0x418
-#define AU8522_FILTER_COEF_R419 0x419
-#define AU8522_FILTER_COEF_R41A 0x41A
-#define AU8522_FILTER_COEF_R41B 0x41B
-#define AU8522_FILTER_COEF_R41C 0x41C
-#define AU8522_FILTER_COEF_R41D 0x41D
-#define AU8522_FILTER_COEF_R41E 0x41E
-#define AU8522_FILTER_COEF_R41F 0x41F
-#define AU8522_FILTER_COEF_R420 0x420
-#define AU8522_FILTER_COEF_R421 0x421
-#define AU8522_FILTER_COEF_R422 0x422
-#define AU8522_FILTER_COEF_R423 0x423
-#define AU8522_FILTER_COEF_R424 0x424
-#define AU8522_FILTER_COEF_R425 0x425
-#define AU8522_FILTER_COEF_R426 0x426
-#define AU8522_FILTER_COEF_R427 0x427
-#define AU8522_FILTER_COEF_R428 0x428
-#define AU8522_FILTER_COEF_R429 0x429
-#define AU8522_FILTER_COEF_R42A 0x42A
-#define AU8522_FILTER_COEF_R42B 0x42B
-#define AU8522_FILTER_COEF_R42C 0x42C
-#define AU8522_FILTER_COEF_R42D 0x42D
+#define AU8522_FILTER_COEF_R410 0x410
+#define AU8522_FILTER_COEF_R411 0x411
+#define AU8522_FILTER_COEF_R412 0x412
+#define AU8522_FILTER_COEF_R413 0x413
+#define AU8522_FILTER_COEF_R414 0x414
+#define AU8522_FILTER_COEF_R415 0x415
+#define AU8522_FILTER_COEF_R416 0x416
+#define AU8522_FILTER_COEF_R417 0x417
+#define AU8522_FILTER_COEF_R418 0x418
+#define AU8522_FILTER_COEF_R419 0x419
+#define AU8522_FILTER_COEF_R41A 0x41A
+#define AU8522_FILTER_COEF_R41B 0x41B
+#define AU8522_FILTER_COEF_R41C 0x41C
+#define AU8522_FILTER_COEF_R41D 0x41D
+#define AU8522_FILTER_COEF_R41E 0x41E
+#define AU8522_FILTER_COEF_R41F 0x41F
+#define AU8522_FILTER_COEF_R420 0x420
+#define AU8522_FILTER_COEF_R421 0x421
+#define AU8522_FILTER_COEF_R422 0x422
+#define AU8522_FILTER_COEF_R423 0x423
+#define AU8522_FILTER_COEF_R424 0x424
+#define AU8522_FILTER_COEF_R425 0x425
+#define AU8522_FILTER_COEF_R426 0x426
+#define AU8522_FILTER_COEF_R427 0x427
+#define AU8522_FILTER_COEF_R428 0x428
+#define AU8522_FILTER_COEF_R429 0x429
+#define AU8522_FILTER_COEF_R42A 0x42A
+#define AU8522_FILTER_COEF_R42B 0x42B
+#define AU8522_FILTER_COEF_R42C 0x42C
+#define AU8522_FILTER_COEF_R42D 0x42D
/* VBI Control Registers */
-#define AU8522_TVDEC_VBI_RX_FIFO_CONTAIN_REG004H 0x004
-#define AU8522_TVDEC_VBI_TX_FIFO_CONTAIN_REG005H 0x005
-#define AU8522_TVDEC_VBI_RX_FIFO_READ_REG006H 0x006
-#define AU8522_TVDEC_VBI_FIFO_STATUS_REG007H 0x007
+#define AU8522_TVDEC_VBI_RX_FIFO_CONTAIN_REG004H 0x004
+#define AU8522_TVDEC_VBI_TX_FIFO_CONTAIN_REG005H 0x005
+#define AU8522_TVDEC_VBI_RX_FIFO_READ_REG006H 0x006
+#define AU8522_TVDEC_VBI_FIFO_STATUS_REG007H 0x007
#define AU8522_TVDEC_VBI_CTRL_H_REG017H 0x017
#define AU8522_TVDEC_VBI_CTRL_L_REG018H 0x018
#define AU8522_TVDEC_VBI_USER_TOTAL_BITS_REG019H 0x019
@@ -272,10 +272,10 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_TVDEC_VBI_USER_TUNIT_L_REG01BH 0x01B
#define AU8522_TVDEC_VBI_USER_THRESH1_REG01CH 0x01C
#define AU8522_TVDEC_VBI_USER_FRAME_PAT2_REG01EH 0x01E
-#define AU8522_TVDEC_VBI_USER_FRAME_PAT1_REG01FH 0x01F
-#define AU8522_TVDEC_VBI_USER_FRAME_PAT0_REG020H 0x020
-#define AU8522_TVDEC_VBI_USER_FRAME_MASK2_REG021H 0x021
-#define AU8522_TVDEC_VBI_USER_FRAME_MASK1_REG022H 0x022
+#define AU8522_TVDEC_VBI_USER_FRAME_PAT1_REG01FH 0x01F
+#define AU8522_TVDEC_VBI_USER_FRAME_PAT0_REG020H 0x020
+#define AU8522_TVDEC_VBI_USER_FRAME_MASK2_REG021H 0x021
+#define AU8522_TVDEC_VBI_USER_FRAME_MASK1_REG022H 0x022
#define AU8522_TVDEC_VBI_USER_FRAME_MASK0_REG023H 0x023
#define AU8522_REG071H 0x071
@@ -315,17 +315,17 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_GPIO_DATA_REG0E2H 0x0E2
/* Audio Control Registers */
-#define AU8522_AUDIOAGC_REG0EEH 0x0EE
-#define AU8522_AUDIO_STATUS_REG0F0H 0x0F0
-#define AU8522_AUDIO_MODE_REG0F1H 0x0F1
-#define AU8522_AUDIO_VOLUME_L_REG0F2H 0x0F2
-#define AU8522_AUDIO_VOLUME_R_REG0F3H 0x0F3
-#define AU8522_AUDIO_VOLUME_REG0F4H 0x0F4
-#define AU8522_FRMREGAUPHASE_REG0F7H 0x0F7
+#define AU8522_AUDIOAGC_REG0EEH 0x0EE
+#define AU8522_AUDIO_STATUS_REG0F0H 0x0F0
+#define AU8522_AUDIO_MODE_REG0F1H 0x0F1
+#define AU8522_AUDIO_VOLUME_L_REG0F2H 0x0F2
+#define AU8522_AUDIO_VOLUME_R_REG0F3H 0x0F3
+#define AU8522_AUDIO_VOLUME_REG0F4H 0x0F4
+#define AU8522_FRMREGAUPHASE_REG0F7H 0x0F7
#define AU8522_REG0F9H 0x0F9
-#define AU8522_AUDIOAGC2_REG605H 0x605
-#define AU8522_AUDIOFREQ_REG606H 0x606
+#define AU8522_AUDIOAGC2_REG605H 0x605
+#define AU8522_AUDIOFREQ_REG606H 0x606
/**************************************************************/
@@ -356,53 +356,53 @@ int au8522_led_ctrl(struct au8522_state *state, int led);
#define AU8522_TVDEC_FORMAT_CTRL2_REG062H_STD_PAL_M 0x02
-#define AU8522_INPUT_CONTROL_REG081H_ATSC 0xC4
+#define AU8522_INPUT_CONTROL_REG081H_ATSC 0xC4
#define AU8522_INPUT_CONTROL_REG081H_ATVRF 0xC4
#define AU8522_INPUT_CONTROL_REG081H_ATVRF13 0xC4
-#define AU8522_INPUT_CONTROL_REG081H_J83B64 0xC4
-#define AU8522_INPUT_CONTROL_REG081H_J83B256 0xC4
-#define AU8522_INPUT_CONTROL_REG081H_CVBS 0x20
+#define AU8522_INPUT_CONTROL_REG081H_J83B64 0xC4
+#define AU8522_INPUT_CONTROL_REG081H_J83B256 0xC4
+#define AU8522_INPUT_CONTROL_REG081H_CVBS 0x20
#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH1 0xA2
#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH2 0xA0
#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH3 0x69
#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH4 0x68
-#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH4_SIF 0x28
+#define AU8522_INPUT_CONTROL_REG081H_CVBS_CH4_SIF 0x28
/* CH1 AS Y,CH3 AS C */
-#define AU8522_INPUT_CONTROL_REG081H_SVIDEO_CH13 0x23
+#define AU8522_INPUT_CONTROL_REG081H_SVIDEO_CH13 0x23
/* CH2 AS Y,CH4 AS C */
-#define AU8522_INPUT_CONTROL_REG081H_SVIDEO_CH24 0x20
-#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_ATSC 0x0C
-#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_J83B64 0x09
-#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_J83B256 0x09
-#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_CVBS 0x12
-#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_ATVRF 0x1A
+#define AU8522_INPUT_CONTROL_REG081H_SVIDEO_CH24 0x20
+#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_ATSC 0x0C
+#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_J83B64 0x09
+#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_J83B256 0x09
+#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_CVBS 0x12
+#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_ATVRF 0x1A
#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_ATVRF13 0x1A
#define AU8522_MODULE_CLOCK_CONTROL_REG0A3H_SVIDEO 0x02
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CLEAR 0x00
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_SVIDEO 0x9C
-#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CVBS 0x9D
+#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_CVBS 0x9D
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_ATSC 0xE8
-#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_J83B256 0xCA
-#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_J83B64 0xCA
-#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_ATVRF 0xDD
+#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_J83B256 0xCA
+#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_J83B64 0xCA
+#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_ATVRF 0xDD
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_ATVRF13 0xDD
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_PAL 0xDD
#define AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H_FM 0xDD
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_ATSC 0x80
-#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_J83B256 0x80
-#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_J83B64 0x80
+#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_J83B256 0x80
+#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_J83B64 0x80
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_DONGLE_ATSC 0x40
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_DONGLE_J83B256 0x40
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_DONGLE_J83B64 0x40
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_DONGLE_CLEAR 0x00
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_ATVRF 0x01
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_ATVRF13 0x01
-#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_SVIDEO 0x04
+#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_SVIDEO 0x04
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_CVBS 0x01
-#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_PWM 0x03
-#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_IIS 0x09
+#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_PWM 0x03
+#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_IIS 0x09
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_PAL 0x01
#define AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H_FM 0x01
diff --git a/drivers/media/dvb-frontends/bcm3510.c b/drivers/media/dvb-frontends/bcm3510.c
index ba63ad170d3c..05df133dc5be 100644
--- a/drivers/media/dvb-frontends/bcm3510.c
+++ b/drivers/media/dvb-frontends/bcm3510.c
@@ -40,7 +40,7 @@
#include <linux/slab.h>
#include <linux/mutex.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "bcm3510.h"
#include "bcm3510_priv.h"
diff --git a/drivers/media/dvb-frontends/cx22700.c b/drivers/media/dvb-frontends/cx22700.c
index 2b629e23ceeb..9ffd2c7ac74a 100644
--- a/drivers/media/dvb-frontends/cx22700.c
+++ b/drivers/media/dvb-frontends/cx22700.c
@@ -25,7 +25,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx22700.h"
diff --git a/drivers/media/dvb-frontends/cx22702.c b/drivers/media/dvb-frontends/cx22702.c
index c0e54c59cccf..e8b1e6b7e7e5 100644
--- a/drivers/media/dvb-frontends/cx22702.c
+++ b/drivers/media/dvb-frontends/cx22702.c
@@ -31,7 +31,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx22702.h"
struct cx22702_state {
diff --git a/drivers/media/dvb-frontends/cx24110.c b/drivers/media/dvb-frontends/cx24110.c
index cf1bc99d1f32..2f3a1c237489 100644
--- a/drivers/media/dvb-frontends/cx24110.c
+++ b/drivers/media/dvb-frontends/cx24110.c
@@ -27,7 +27,7 @@
#include <linux/module.h>
#include <linux/init.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24110.h"
diff --git a/drivers/media/dvb-frontends/cx24113.c b/drivers/media/dvb-frontends/cx24113.c
index ee1f704f81f2..037db3e9d2dd 100644
--- a/drivers/media/dvb-frontends/cx24113.c
+++ b/drivers/media/dvb-frontends/cx24113.c
@@ -22,7 +22,7 @@
#include <linux/module.h>
#include <linux/init.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24113.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/cx24116.c b/drivers/media/dvb-frontends/cx24116.c
index 8fb3f095e21c..786c56a4ef76 100644
--- a/drivers/media/dvb-frontends/cx24116.c
+++ b/drivers/media/dvb-frontends/cx24116.c
@@ -41,7 +41,7 @@
#include <linux/init.h>
#include <linux/firmware.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24116.h"
static int debug;
@@ -963,7 +963,7 @@ static int cx24116_send_diseqc_msg(struct dvb_frontend *fe,
/* Validate length */
if (d->msg_len > sizeof(d->msg))
- return -EINVAL;
+ return -EINVAL;
/* Dump DiSEqC message */
if (debug) {
diff --git a/drivers/media/dvb-frontends/cx24117.c b/drivers/media/dvb-frontends/cx24117.c
index d37cb7762bd6..8935114b75f3 100644
--- a/drivers/media/dvb-frontends/cx24117.c
+++ b/drivers/media/dvb-frontends/cx24117.c
@@ -32,7 +32,7 @@
#include <linux/firmware.h>
#include "tuner-i2c.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24117.h"
diff --git a/drivers/media/dvb-frontends/cx24120.c b/drivers/media/dvb-frontends/cx24120.c
index 7f11dcc94d85..810f68acd69b 100644
--- a/drivers/media/dvb-frontends/cx24120.c
+++ b/drivers/media/dvb-frontends/cx24120.c
@@ -29,7 +29,7 @@
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/firmware.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24120.h"
#define CX24120_SEARCH_RANGE_KHZ 5000
diff --git a/drivers/media/dvb-frontends/cx24123.c b/drivers/media/dvb-frontends/cx24123.c
index 1d59d1d3bd82..228ba1f4bf63 100644
--- a/drivers/media/dvb-frontends/cx24123.c
+++ b/drivers/media/dvb-frontends/cx24123.c
@@ -24,7 +24,7 @@
#include <linux/init.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "cx24123.h"
#define XTAL 10111000
diff --git a/drivers/media/dvb-frontends/cxd2820r_priv.h b/drivers/media/dvb-frontends/cxd2820r_priv.h
index 0d096206ac66..61adde4b4b2f 100644
--- a/drivers/media/dvb-frontends/cxd2820r_priv.h
+++ b/drivers/media/dvb-frontends/cxd2820r_priv.h
@@ -23,8 +23,8 @@
#define CXD2820R_PRIV_H
#include <linux/dvb/version.h>
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "cxd2820r.h"
#include <linux/gpio.h>
#include <linux/math64.h>
diff --git a/drivers/media/dvb-frontends/cxd2841er.c b/drivers/media/dvb-frontends/cxd2841er.c
index 48ee9bc00c06..85905d3503ff 100644
--- a/drivers/media/dvb-frontends/cxd2841er.c
+++ b/drivers/media/dvb-frontends/cxd2841er.c
@@ -29,9 +29,10 @@
#include <linux/math64.h>
#include <linux/log2.h>
#include <linux/dynamic_debug.h>
+#include <linux/kernel.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_math.h>
+#include <media/dvb_frontend.h>
#include "cxd2841er.h"
#include "cxd2841er_priv.h"
@@ -257,7 +258,9 @@ static int cxd2841er_write_regs(struct cxd2841er_priv *priv,
static int cxd2841er_write_reg(struct cxd2841er_priv *priv,
u8 addr, u8 reg, u8 val)
{
- return cxd2841er_write_regs(priv, addr, reg, &val, 1);
+ u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return cxd2841er_write_regs(priv, addr, reg, &tmp, 1);
}
static int cxd2841er_read_regs(struct cxd2841er_priv *priv,
@@ -1696,12 +1699,10 @@ static u32 cxd2841er_dvbs_read_snr(struct cxd2841er_priv *priv,
min_index = 0;
if (delsys == SYS_DVBS) {
cn_data = s_cn_data;
- max_index = sizeof(s_cn_data) /
- sizeof(s_cn_data[0]) - 1;
+ max_index = ARRAY_SIZE(s_cn_data) - 1;
} else {
cn_data = s2_cn_data;
- max_index = sizeof(s2_cn_data) /
- sizeof(s2_cn_data[0]) - 1;
+ max_index = ARRAY_SIZE(s2_cn_data) - 1;
}
if (value >= cn_data[min_index].value) {
res = cn_data[min_index].cnr_x1000;
@@ -3340,13 +3341,17 @@ static int cxd2841er_set_frontend_s(struct dvb_frontend *fe)
cxd2841er_tune_done(priv);
timeout = ((3000000 + (symbol_rate - 1)) / symbol_rate) + 150;
- for (i = 0; i < timeout / CXD2841ER_DVBS_POLLING_INVL; i++) {
+
+ i = 0;
+ do {
usleep_range(CXD2841ER_DVBS_POLLING_INVL*1000,
(CXD2841ER_DVBS_POLLING_INVL + 2) * 1000);
cxd2841er_read_status_s(fe, &status);
if (status & FE_HAS_LOCK)
break;
- }
+ i++;
+ } while (i < timeout / CXD2841ER_DVBS_POLLING_INVL);
+
if (status & FE_HAS_LOCK) {
if (cxd2841er_get_carrier_offset_s_s2(
priv, &carr_offset)) {
diff --git a/drivers/media/dvb-frontends/dib0070.c b/drivers/media/dvb-frontends/dib0070.c
index d7614b8b8782..932d235118e2 100644
--- a/drivers/media/dvb-frontends/dib0070.c
+++ b/drivers/media/dvb-frontends/dib0070.c
@@ -27,7 +27,7 @@
#include <linux/i2c.h>
#include <linux/mutex.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib0070.h"
#include "dibx000_common.h"
diff --git a/drivers/media/dvb-frontends/dib0090.c b/drivers/media/dvb-frontends/dib0090.c
index d9d730dfe0b1..64f49c8eb1fb 100644
--- a/drivers/media/dvb-frontends/dib0090.c
+++ b/drivers/media/dvb-frontends/dib0090.c
@@ -27,7 +27,7 @@
#include <linux/i2c.h>
#include <linux/mutex.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib0090.h"
#include "dibx000_common.h"
diff --git a/drivers/media/dvb-frontends/dib3000mb.c b/drivers/media/dvb-frontends/dib3000mb.c
index 068bec104e29..de3ce2786c72 100644
--- a/drivers/media/dvb-frontends/dib3000mb.c
+++ b/drivers/media/dvb-frontends/dib3000mb.c
@@ -30,7 +30,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib3000.h"
#include "dib3000mb_priv.h"
diff --git a/drivers/media/dvb-frontends/dib3000mc.c b/drivers/media/dvb-frontends/dib3000mc.c
index 4d086a7248e9..7e5d474806a5 100644
--- a/drivers/media/dvb-frontends/dib3000mc.c
+++ b/drivers/media/dvb-frontends/dib3000mc.c
@@ -17,7 +17,7 @@
#include <linux/slab.h>
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib3000mc.h"
diff --git a/drivers/media/dvb-frontends/dib7000m.c b/drivers/media/dvb-frontends/dib7000m.c
index 5ce9f93a65c3..6a1d357d0c7c 100644
--- a/drivers/media/dvb-frontends/dib7000m.c
+++ b/drivers/media/dvb-frontends/dib7000m.c
@@ -16,7 +16,7 @@
#include <linux/i2c.h>
#include <linux/mutex.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib7000m.h"
diff --git a/drivers/media/dvb-frontends/dib7000p.c b/drivers/media/dvb-frontends/dib7000p.c
index 0fbaabe43682..90ace707a80d 100644
--- a/drivers/media/dvb-frontends/dib7000p.c
+++ b/drivers/media/dvb-frontends/dib7000p.c
@@ -16,8 +16,8 @@
#include <linux/mutex.h>
#include <asm/div64.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_math.h>
+#include <media/dvb_frontend.h>
#include "dib7000p.h"
diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c
index 5d9381509b07..e64014f338fb 100644
--- a/drivers/media/dvb-frontends/dib8000.c
+++ b/drivers/media/dvb-frontends/dib8000.c
@@ -16,9 +16,9 @@
#include <linux/mutex.h>
#include <asm/div64.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dib8000.h"
diff --git a/drivers/media/dvb-frontends/dib9000.c b/drivers/media/dvb-frontends/dib9000.c
index 1b7a4331af05..f9289f488de7 100644
--- a/drivers/media/dvb-frontends/dib9000.c
+++ b/drivers/media/dvb-frontends/dib9000.c
@@ -14,8 +14,8 @@
#include <linux/i2c.h>
#include <linux/mutex.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_math.h>
+#include <media/dvb_frontend.h>
#include "dib9000.h"
#include "dibx000_common.h"
diff --git a/drivers/media/dvb-frontends/dibx000_common.c b/drivers/media/dvb-frontends/dibx000_common.c
index bc28184c7fb0..d981233e458f 100644
--- a/drivers/media/dvb-frontends/dibx000_common.c
+++ b/drivers/media/dvb-frontends/dibx000_common.c
@@ -288,8 +288,8 @@ static int dibx000_i2c_gated_gpio67_xfer(struct i2c_adapter *i2c_adap,
int ret;
if (num > 32) {
- dprintk("%s: too much I2C message to be transmitted (%i).\
- Maximum is 32", __func__, num);
+ dprintk("%s: too much I2C message to be transmitted (%i). Maximum is 32",
+ __func__, num);
return -ENOMEM;
}
@@ -335,8 +335,8 @@ static int dibx000_i2c_gated_tuner_xfer(struct i2c_adapter *i2c_adap,
int ret;
if (num > 32) {
- dprintk("%s: too much I2C message to be transmitted (%i).\
- Maximum is 32", __func__, num);
+ dprintk("%s: too much I2C message to be transmitted (%i). Maximum is 32",
+ __func__, num);
return -ENOMEM;
}
diff --git a/drivers/media/dvb-frontends/drx39xyj/Makefile b/drivers/media/dvb-frontends/drx39xyj/Makefile
index 672e07774955..87f6eddcf657 100644
--- a/drivers/media/dvb-frontends/drx39xyj/Makefile
+++ b/drivers/media/dvb-frontends/drx39xyj/Makefile
@@ -2,5 +2,4 @@ drx39xyj-objs := drxj.o
obj-$(CONFIG_DVB_DRX39XYJ) += drx39xyj.o
-ccflags-y += -I$(srctree)/drivers/media/dvb-core/
ccflags-y += -I$(srctree)/drivers/media/tuners/
diff --git a/drivers/media/dvb-frontends/drx39xyj/drx39xxj.h b/drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
index 11e1ddeeef0a..c0c66ed65b6e 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
+++ b/drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
@@ -19,7 +19,7 @@
#define DRX39XXJ_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "drx_driver.h"
struct drx39xxj_state {
diff --git a/drivers/media/dvb-frontends/drx39xyj/drx_driver.h b/drivers/media/dvb-frontends/drx39xyj/drx_driver.h
index 855685b6b386..1ec20eecc433 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drx_driver.h
+++ b/drivers/media/dvb-frontends/drx39xyj/drx_driver.h
@@ -932,7 +932,7 @@ STRUCTS
* Used by DRX_CTRL_LOAD_UCODE and DRX_CTRL_VERIFY_UCODE
*/
struct drxu_code_info {
- char *mc_file;
+ char *mc_file;
};
/*
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index 8cbd8cc21059..5706898e84cc 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -61,7 +61,7 @@ INCLUDE FILES
#include <linux/slab.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "drx39xxj.h"
#include "drxj.h"
@@ -2151,9 +2151,13 @@ int drxj_dap_atomic_read_write_block(struct i2c_device_addr *dev_addr,
if (read_flag) {
/* read data from buffer */
for (i = 0; i < (datasize / 2); i++) {
- drxj_dap_read_reg16(dev_addr,
- (DRXJ_HI_ATOMIC_BUF_START + i),
- &word, 0);
+ rc = drxj_dap_read_reg16(dev_addr,
+ (DRXJ_HI_ATOMIC_BUF_START + i),
+ &word, 0);
+ if (rc) {
+ pr_err("error %d\n", rc);
+ goto rw_error;
+ }
data[2 * i] = (u8) (word & 0xFF);
data[(2 * i) + 1] = (u8) (word >> 8);
}
@@ -11074,7 +11078,7 @@ ctrl_power_mode(struct drx_demod_instance *demod, enum drx_power_mode *mode)
}
}
- if ((*mode == DRX_POWER_UP)) {
+ if (*mode == DRX_POWER_UP) {
/* Restore analog & pin configuration */
/* Initialize default AFE configuration for VSB */
@@ -11723,7 +11727,7 @@ eof:
* - In case of UCODE_UPLOAD: I2C error.
* - In case of UCODE_VERIFY: I2C error or image on device
* is not equal to image provided to this control function.
- * -EINVAL:
+ * -EINVAL:
* - Invalid arguments.
* - Provided image is corrupt
*/
diff --git a/drivers/media/dvb-frontends/drxd_hard.c b/drivers/media/dvb-frontends/drxd_hard.c
index 0696bc62dcc9..3b7d31a22d82 100644
--- a/drivers/media/dvb-frontends/drxd_hard.c
+++ b/drivers/media/dvb-frontends/drxd_hard.c
@@ -26,7 +26,7 @@
#include <linux/i2c.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "drxd.h"
#include "drxd_firm.h"
@@ -972,7 +972,6 @@ static int DownloadMicrocode(struct drxd_state *state,
static int HI_Command(struct drxd_state *state, u16 cmd, u16 * pResult)
{
u32 nrRetries = 0;
- u16 waitCmd;
int status;
status = Write16(state, HI_RA_RAM_SRV_CMD__A, cmd, 0);
@@ -985,8 +984,8 @@ static int HI_Command(struct drxd_state *state, u16 cmd, u16 * pResult)
status = -1;
break;
}
- status = Read16(state, HI_RA_RAM_SRV_CMD__A, &waitCmd, 0);
- } while (waitCmd != 0);
+ status = Read16(state, HI_RA_RAM_SRV_CMD__A, NULL, 0);
+ } while (status != 0);
if (status >= 0)
status = Read16(state, HI_RA_RAM_SRV_RES__A, pResult, 0);
@@ -1298,12 +1297,11 @@ static int InitFT(struct drxd_state *state)
static int SC_WaitForReady(struct drxd_state *state)
{
- u16 curCmd;
int i;
for (i = 0; i < DRXD_MAX_RETRIES; i += 1) {
- int status = Read16(state, SC_RA_RAM_CMD__A, &curCmd, 0);
- if (status == 0 || curCmd == 0)
+ int status = Read16(state, SC_RA_RAM_CMD__A, NULL, 0);
+ if (status == 0)
return status;
}
return -1;
@@ -1311,15 +1309,15 @@ static int SC_WaitForReady(struct drxd_state *state)
static int SC_SendCommand(struct drxd_state *state, u16 cmd)
{
- int status = 0;
+ int status = 0, ret;
u16 errCode;
Write16(state, SC_RA_RAM_CMD__A, cmd, 0);
SC_WaitForReady(state);
- Read16(state, SC_RA_RAM_CMD_ADDR__A, &errCode, 0);
+ ret = Read16(state, SC_RA_RAM_CMD_ADDR__A, &errCode, 0);
- if (errCode == 0xFFFF) {
+ if (ret < 0 || errCode == 0xFFFF) {
printk(KERN_ERR "Command Error\n");
status = -1;
}
@@ -1330,13 +1328,13 @@ static int SC_SendCommand(struct drxd_state *state, u16 cmd)
static int SC_ProcStartCommand(struct drxd_state *state,
u16 subCmd, u16 param0, u16 param1)
{
- int status = 0;
+ int ret, status = 0;
u16 scExec;
mutex_lock(&state->mutex);
do {
- Read16(state, SC_COMM_EXEC__A, &scExec, 0);
- if (scExec != 1) {
+ ret = Read16(state, SC_COMM_EXEC__A, &scExec, 0);
+ if (ret < 0 || scExec != 1) {
status = -1;
break;
}
@@ -2140,7 +2138,6 @@ static int DRX_Start(struct drxd_state *state, s32 off)
}
break;
}
- status = status;
if (status < 0)
break;
@@ -2251,7 +2248,6 @@ static int DRX_Start(struct drxd_state *state, s32 off)
break;
}
- status = status;
if (status < 0)
break;
@@ -2318,7 +2314,6 @@ static int DRX_Start(struct drxd_state *state, s32 off)
}
break;
}
- status = status;
if (status < 0)
break;
diff --git a/drivers/media/dvb-frontends/drxk.h b/drivers/media/dvb-frontends/drxk.h
index b16fedbb53a3..76466f7ec3a0 100644
--- a/drivers/media/dvb-frontends/drxk.h
+++ b/drivers/media/dvb-frontends/drxk.h
@@ -10,7 +10,7 @@
*
* @adr: I2C address of the DRX-K
* @parallel_ts: True means that the device uses parallel TS,
- * Serial otherwise.
+ * Serial otherwise.
* @dynamic_clk: True means that the clock will be dynamically
* adjusted. Static clock otherwise.
* @enable_merr_cfg: Enable SIO_PDR_PERR_CFG/SIO_PDR_MVAL_CFG.
@@ -67,8 +67,8 @@ extern struct dvb_frontend *drxk_attach(const struct drxk_config *config,
static inline struct dvb_frontend *drxk_attach(const struct drxk_config *config,
struct i2c_adapter *i2c)
{
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
- return NULL;
+ printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ return NULL;
}
#endif
diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c
index f59ac2e91c59..5a26ad93be10 100644
--- a/drivers/media/dvb-frontends/drxk_hard.c
+++ b/drivers/media/dvb-frontends/drxk_hard.c
@@ -29,10 +29,10 @@
#include <linux/hardirq.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "drxk.h"
#include "drxk_hard.h"
-#include "dvb_math.h"
+#include <media/dvb_math.h>
static int power_down_dvbt(struct drxk_state *state, bool set_power_mode);
static int power_down_qam(struct drxk_state *state);
@@ -6062,7 +6062,7 @@ static int init_drxk(struct drxk_state *state)
u16 driver_version;
dprintk(1, "\n");
- if ((state->m_drxk_state == DRXK_UNINITIALIZED)) {
+ if (state->m_drxk_state == DRXK_UNINITIALIZED) {
drxk_i2c_lock(state);
status = power_up_device(state);
if (status < 0)
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index bd4f8278c906..2ff90e5eabce 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -26,7 +26,7 @@
#include <linux/init.h>
#include <linux/firmware.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "ts2020.h"
#include "ds3000.h"
diff --git a/drivers/media/dvb-frontends/dvb-pll.h b/drivers/media/dvb-frontends/dvb-pll.h
index 212e0730f154..ca885e71d2f0 100644
--- a/drivers/media/dvb-frontends/dvb-pll.h
+++ b/drivers/media/dvb-frontends/dvb-pll.h
@@ -7,7 +7,7 @@
#define __DVB_PLL_H__
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define DVB_PLL_UNDEFINED 0
#define DVB_PLL_THOMSON_DTT7579 1
diff --git a/drivers/media/dvb-frontends/dvb_dummy_fe.c b/drivers/media/dvb-frontends/dvb_dummy_fe.c
index 50b2b666ef6c..6650d4f61ef2 100644
--- a/drivers/media/dvb-frontends/dvb_dummy_fe.c
+++ b/drivers/media/dvb-frontends/dvb_dummy_fe.c
@@ -20,7 +20,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "dvb_dummy_fe.h"
diff --git a/drivers/media/dvb-frontends/dvb_dummy_fe.h b/drivers/media/dvb-frontends/dvb_dummy_fe.h
index 86dd7b9d1e57..7aacef4b7c80 100644
--- a/drivers/media/dvb-frontends/dvb_dummy_fe.h
+++ b/drivers/media/dvb-frontends/dvb_dummy_fe.h
@@ -19,7 +19,7 @@
#define DVB_DUMMY_FE_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#if IS_REACHABLE(CONFIG_DVB_DUMMY_FE)
extern struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void);
diff --git a/drivers/media/dvb-frontends/ec100.c b/drivers/media/dvb-frontends/ec100.c
index fa2a96d5f94e..c2575fdcc811 100644
--- a/drivers/media/dvb-frontends/ec100.c
+++ b/drivers/media/dvb-frontends/ec100.c
@@ -15,7 +15,7 @@
*
*/
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "ec100.h"
struct ec100_state {
diff --git a/drivers/media/dvb-frontends/gp8psk-fe.c b/drivers/media/dvb-frontends/gp8psk-fe.c
index efe015df7f1d..a772ef8bfe1c 100644
--- a/drivers/media/dvb-frontends/gp8psk-fe.c
+++ b/drivers/media/dvb-frontends/gp8psk-fe.c
@@ -16,7 +16,7 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include "gp8psk-fe.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
static int debug;
module_param(debug, int, 0644);
diff --git a/drivers/media/dvb-frontends/helene.c b/drivers/media/dvb-frontends/helene.c
index 4bf5a551ba40..a0d0b53c91d7 100644
--- a/drivers/media/dvb-frontends/helene.c
+++ b/drivers/media/dvb-frontends/helene.c
@@ -23,7 +23,7 @@
#include <linux/dvb/frontend.h>
#include <linux/types.h>
#include "helene.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define MAX_WRITE_REGSIZE 20
@@ -331,7 +331,9 @@ static int helene_write_regs(struct helene_priv *priv,
static int helene_write_reg(struct helene_priv *priv, u8 reg, u8 val)
{
- return helene_write_regs(priv, reg, &val, 1);
+ u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return helene_write_regs(priv, reg, &tmp, 1);
}
static int helene_read_regs(struct helene_priv *priv,
diff --git a/drivers/media/dvb-frontends/horus3a.c b/drivers/media/dvb-frontends/horus3a.c
index 68d759c4c52e..5e7e265a52e6 100644
--- a/drivers/media/dvb-frontends/horus3a.c
+++ b/drivers/media/dvb-frontends/horus3a.c
@@ -24,7 +24,7 @@
#include <linux/dvb/frontend.h>
#include <linux/types.h>
#include "horus3a.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define MAX_WRITE_REGSIZE 5
@@ -89,7 +89,9 @@ static int horus3a_write_regs(struct horus3a_priv *priv,
static int horus3a_write_reg(struct horus3a_priv *priv, u8 reg, u8 val)
{
- return horus3a_write_regs(priv, reg, &val, 1);
+ u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return horus3a_write_regs(priv, reg, &tmp, 1);
}
static int horus3a_enter_power_save(struct horus3a_priv *priv)
diff --git a/drivers/media/dvb-frontends/isl6405.c b/drivers/media/dvb-frontends/isl6405.c
index 2fc8d3c72c11..3bc78f8ffc00 100644
--- a/drivers/media/dvb-frontends/isl6405.c
+++ b/drivers/media/dvb-frontends/isl6405.c
@@ -29,7 +29,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "isl6405.h"
struct isl6405 {
diff --git a/drivers/media/dvb-frontends/isl6421.c b/drivers/media/dvb-frontends/isl6421.c
index 3f3487887672..ae8ec59b665c 100644
--- a/drivers/media/dvb-frontends/isl6421.c
+++ b/drivers/media/dvb-frontends/isl6421.c
@@ -29,7 +29,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "isl6421.h"
struct isl6421 {
diff --git a/drivers/media/dvb-frontends/isl6423.c b/drivers/media/dvb-frontends/isl6423.c
index dca5bebfeeb5..3dd2465d17cf 100644
--- a/drivers/media/dvb-frontends/isl6423.c
+++ b/drivers/media/dvb-frontends/isl6423.c
@@ -26,7 +26,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "isl6423.h"
static unsigned int verbose;
diff --git a/drivers/media/dvb-frontends/itd1000.c b/drivers/media/dvb-frontends/itd1000.c
index 5bb1e73a10b4..04f7f6854f73 100644
--- a/drivers/media/dvb-frontends/itd1000.c
+++ b/drivers/media/dvb-frontends/itd1000.c
@@ -22,7 +22,7 @@
#include <linux/i2c.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "itd1000.h"
#include "itd1000_priv.h"
@@ -95,8 +95,9 @@ static int itd1000_read_reg(struct itd1000_state *state, u8 reg)
static inline int itd1000_write_reg(struct itd1000_state *state, u8 r, u8 v)
{
- int ret = itd1000_write_regs(state, r, &v, 1);
- state->shadow[r] = v;
+ u8 tmp = v; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+ int ret = itd1000_write_regs(state, r, &tmp, 1);
+ state->shadow[r] = tmp;
return ret;
}
diff --git a/drivers/media/dvb-frontends/ix2505v.h b/drivers/media/dvb-frontends/ix2505v.h
index 49ed93e754ed..20b1eb3dda1a 100644
--- a/drivers/media/dvb-frontends/ix2505v.h
+++ b/drivers/media/dvb-frontends/ix2505v.h
@@ -17,7 +17,7 @@
#define DVB_IX2505V_H
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/**
* struct ix2505v_config - ix2505 attachment configuration
diff --git a/drivers/media/dvb-frontends/l64781.c b/drivers/media/dvb-frontends/l64781.c
index e5a6c1766664..e056f36e6f0c 100644
--- a/drivers/media/dvb-frontends/l64781.c
+++ b/drivers/media/dvb-frontends/l64781.c
@@ -25,7 +25,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "l64781.h"
diff --git a/drivers/media/dvb-frontends/lg2160.h b/drivers/media/dvb-frontends/lg2160.h
index ba99125deac0..df817aec29e2 100644
--- a/drivers/media/dvb-frontends/lg2160.h
+++ b/drivers/media/dvb-frontends/lg2160.h
@@ -19,7 +19,7 @@
#define _LG2160_H_
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
enum lg_chip_type {
LG2160 = 0,
diff --git a/drivers/media/dvb-frontends/lgdt3305.c b/drivers/media/dvb-frontends/lgdt3305.c
index 0af4d9104761..735d73060265 100644
--- a/drivers/media/dvb-frontends/lgdt3305.c
+++ b/drivers/media/dvb-frontends/lgdt3305.c
@@ -20,7 +20,7 @@
#include <asm/div64.h>
#include <linux/dvb/frontend.h>
#include <linux/slab.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
#include "lgdt3305.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/lgdt3305.h b/drivers/media/dvb-frontends/lgdt3305.h
index 2fb60d91f7b4..a54daaee823a 100644
--- a/drivers/media/dvb-frontends/lgdt3305.h
+++ b/drivers/media/dvb-frontends/lgdt3305.h
@@ -19,7 +19,7 @@
#define _LGDT3305_H_
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
enum lgdt3305_mpeg_mode {
diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c
index 724e9aac0f11..6356815cf3e1 100644
--- a/drivers/media/dvb-frontends/lgdt3306a.c
+++ b/drivers/media/dvb-frontends/lgdt3306a.c
@@ -21,7 +21,7 @@
#include <asm/div64.h>
#include <linux/kernel.h>
#include <linux/dvb/frontend.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
#include "lgdt3306a.h"
#include <linux/i2c-mux.h>
diff --git a/drivers/media/dvb-frontends/lgdt3306a.h b/drivers/media/dvb-frontends/lgdt3306a.h
index 6ce337ec5272..8b53044f5bdb 100644
--- a/drivers/media/dvb-frontends/lgdt3306a.h
+++ b/drivers/media/dvb-frontends/lgdt3306a.h
@@ -19,7 +19,7 @@
#define _LGDT3306A_H_
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
enum lgdt3306a_mpeg_mode {
diff --git a/drivers/media/dvb-frontends/lgdt330x.c b/drivers/media/dvb-frontends/lgdt330x.c
index 06f47dc8cd3d..8ad03bd81af5 100644
--- a/drivers/media/dvb-frontends/lgdt330x.c
+++ b/drivers/media/dvb-frontends/lgdt330x.c
@@ -37,8 +37,8 @@
#include <linux/slab.h>
#include <asm/byteorder.h>
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "lgdt330x_priv.h"
#include "lgdt330x.h"
diff --git a/drivers/media/dvb-frontends/lgs8gl5.c b/drivers/media/dvb-frontends/lgs8gl5.c
index 970e42fdbc1b..f47e5a1af16d 100644
--- a/drivers/media/dvb-frontends/lgs8gl5.c
+++ b/drivers/media/dvb-frontends/lgs8gl5.c
@@ -25,7 +25,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "lgs8gl5.h"
diff --git a/drivers/media/dvb-frontends/lgs8gxx.c b/drivers/media/dvb-frontends/lgs8gxx.c
index e6bf60e1138c..84af8a12f26a 100644
--- a/drivers/media/dvb-frontends/lgs8gxx.c
+++ b/drivers/media/dvb-frontends/lgs8gxx.c
@@ -22,7 +22,7 @@
#include <asm/div64.h>
#include <linux/firmware.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "lgs8gxx.h"
#include "lgs8gxx_priv.h"
diff --git a/drivers/media/dvb-frontends/lnbh25.c b/drivers/media/dvb-frontends/lnbh25.c
index cb486e879fdd..0b388502c298 100644
--- a/drivers/media/dvb-frontends/lnbh25.c
+++ b/drivers/media/dvb-frontends/lnbh25.c
@@ -23,7 +23,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "lnbh25.h"
/**
diff --git a/drivers/media/dvb-frontends/lnbp21.c b/drivers/media/dvb-frontends/lnbp21.c
index 392d7be93774..d9966a338a72 100644
--- a/drivers/media/dvb-frontends/lnbp21.c
+++ b/drivers/media/dvb-frontends/lnbp21.c
@@ -29,7 +29,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "lnbp21.h"
#include "lnbh24.h"
diff --git a/drivers/media/dvb-frontends/lnbp22.c b/drivers/media/dvb-frontends/lnbp22.c
index 39326a2ebab2..a62e82bf46f5 100644
--- a/drivers/media/dvb-frontends/lnbp22.c
+++ b/drivers/media/dvb-frontends/lnbp22.c
@@ -30,7 +30,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "lnbp22.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/m88ds3103_priv.h b/drivers/media/dvb-frontends/m88ds3103_priv.h
index 07f20c269c67..1ba0b79df311 100644
--- a/drivers/media/dvb-frontends/m88ds3103_priv.h
+++ b/drivers/media/dvb-frontends/m88ds3103_priv.h
@@ -17,9 +17,9 @@
#ifndef M88DS3103_PRIV_H
#define M88DS3103_PRIV_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "m88ds3103.h"
-#include "dvb_math.h"
+#include <media/dvb_math.h>
#include <linux/firmware.h>
#include <linux/i2c-mux.h>
#include <linux/regmap.h>
diff --git a/drivers/media/dvb-frontends/m88rs2000.c b/drivers/media/dvb-frontends/m88rs2000.c
index ce6c21d405ee..496ce27fa63a 100644
--- a/drivers/media/dvb-frontends/m88rs2000.c
+++ b/drivers/media/dvb-frontends/m88rs2000.c
@@ -31,7 +31,7 @@
#include <linux/types.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "m88rs2000.h"
struct m88rs2000_state {
@@ -630,13 +630,16 @@ static int m88rs2000_set_frontend(struct dvb_frontend *fe)
if (ret < 0)
return -ENODEV;
- if (fe->ops.tuner_ops.get_frequency)
+ if (fe->ops.tuner_ops.get_frequency) {
ret = fe->ops.tuner_ops.get_frequency(fe, &tuner_freq);
- if (ret < 0)
- return -ENODEV;
+ if (ret < 0)
+ return -ENODEV;
- offset = (s16)((s32)tuner_freq - c->frequency);
+ offset = (s16)((s32)tuner_freq - c->frequency);
+ } else {
+ offset = 0;
+ }
/* default mclk value 96.4285 * 2 * 1000 = 192857 */
if (((c->frequency % 192857) >= (192857 - 3000)) ||
diff --git a/drivers/media/dvb-frontends/m88rs2000.h b/drivers/media/dvb-frontends/m88rs2000.h
index 1a313b0f5875..b015872c4ff4 100644
--- a/drivers/media/dvb-frontends/m88rs2000.h
+++ b/drivers/media/dvb-frontends/m88rs2000.h
@@ -21,7 +21,7 @@
#define M88RS2000_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct m88rs2000_config {
/* Demodulator i2c address */
diff --git a/drivers/media/dvb-frontends/mb86a16.c b/drivers/media/dvb-frontends/mb86a16.c
index dfe322eccaa1..2969ba6ed9e1 100644
--- a/drivers/media/dvb-frontends/mb86a16.c
+++ b/drivers/media/dvb-frontends/mb86a16.c
@@ -24,7 +24,7 @@
#include <linux/moduleparam.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "mb86a16.h"
#include "mb86a16_priv.h"
@@ -635,6 +635,7 @@ static int sync_chk(struct mb86a16_state *state,
return sync;
err:
dprintk(verbose, MB86A16_ERROR, 1, "I2C transfer error");
+ *VIRM = 0;
return -EREMOTEIO;
}
@@ -1676,15 +1677,15 @@ static int mb86a16_read_ber(struct dvb_frontend *fe, u32 *ber)
* the deinterleaver output.
* monitored BER is expressed as a 20 bit output in total
*/
- ber_rst = ber_mon >> 3;
+ ber_rst = (ber_mon >> 3) & 0x03;
*ber = (((ber_msb << 8) | ber_mid) << 8) | ber_lsb;
if (ber_rst == 0)
timer = 12500000;
- if (ber_rst == 1)
+ else if (ber_rst == 1)
timer = 25000000;
- if (ber_rst == 2)
+ else if (ber_rst == 2)
timer = 50000000;
- if (ber_rst == 3)
+ else /* ber_rst == 3 */
timer = 100000000;
*ber /= timer;
@@ -1696,11 +1697,11 @@ static int mb86a16_read_ber(struct dvb_frontend *fe, u32 *ber)
* QPSK demodulator output.
* monitored BER is expressed as a 24 bit output in total
*/
- ber_tim = ber_mon >> 1;
+ ber_tim = (ber_mon >> 1) & 0x01;
*ber = (((ber_msb << 8) | ber_mid) << 8) | ber_lsb;
if (ber_tim == 0)
timer = 16;
- if (ber_tim == 1)
+ else /* ber_tim == 1 */
timer = 24;
*ber /= 2 ^ timer;
diff --git a/drivers/media/dvb-frontends/mb86a16.h b/drivers/media/dvb-frontends/mb86a16.h
index dbd5f43fa128..f13820bc7a21 100644
--- a/drivers/media/dvb-frontends/mb86a16.h
+++ b/drivers/media/dvb-frontends/mb86a16.h
@@ -22,7 +22,7 @@
#define __MB86A16_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct mb86a16_config {
diff --git a/drivers/media/dvb-frontends/mb86a20s.c b/drivers/media/dvb-frontends/mb86a20s.c
index bdaf9d235fed..36e95196dff4 100644
--- a/drivers/media/dvb-frontends/mb86a20s.c
+++ b/drivers/media/dvb-frontends/mb86a20s.c
@@ -17,7 +17,7 @@
#include <linux/kernel.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "mb86a20s.h"
#define NUM_LAYERS 3
@@ -2057,7 +2057,7 @@ static void mb86a20s_release(struct dvb_frontend *fe)
static int mb86a20s_get_frontend_algo(struct dvb_frontend *fe)
{
- return DVBFE_ALGO_HW;
+ return DVBFE_ALGO_HW;
}
static const struct dvb_frontend_ops mb86a20s_ops;
diff --git a/drivers/media/dvb-frontends/mn88472_priv.h b/drivers/media/dvb-frontends/mn88472_priv.h
index fb50f56ba30b..2ec126a42527 100644
--- a/drivers/media/dvb-frontends/mn88472_priv.h
+++ b/drivers/media/dvb-frontends/mn88472_priv.h
@@ -17,8 +17,8 @@
#ifndef MN88472_PRIV_H
#define MN88472_PRIV_H
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "mn88472.h"
#include <linux/firmware.h>
#include <linux/regmap.h>
diff --git a/drivers/media/dvb-frontends/mn88473.c b/drivers/media/dvb-frontends/mn88473.c
index 58247432a628..ca722084e534 100644
--- a/drivers/media/dvb-frontends/mn88473.c
+++ b/drivers/media/dvb-frontends/mn88473.c
@@ -764,7 +764,7 @@ MODULE_DEVICE_TABLE(i2c, mn88473_id_table);
static struct i2c_driver mn88473_driver = {
.driver = {
- .name = "mn88473",
+ .name = "mn88473",
.suppress_bind_attrs = true,
},
.probe = mn88473_probe,
diff --git a/drivers/media/dvb-frontends/mn88473_priv.h b/drivers/media/dvb-frontends/mn88473_priv.h
index 5fc463d147c8..d89a86320263 100644
--- a/drivers/media/dvb-frontends/mn88473_priv.h
+++ b/drivers/media/dvb-frontends/mn88473_priv.h
@@ -17,8 +17,8 @@
#ifndef MN88473_PRIV_H
#define MN88473_PRIV_H
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "mn88473.h"
#include <linux/math64.h>
#include <linux/firmware.h>
diff --git a/drivers/media/dvb-frontends/mt312.c b/drivers/media/dvb-frontends/mt312.c
index 961b9a2508e0..e2a3fc521620 100644
--- a/drivers/media/dvb-frontends/mt312.c
+++ b/drivers/media/dvb-frontends/mt312.c
@@ -32,7 +32,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "mt312_priv.h"
#include "mt312.h"
@@ -142,7 +142,10 @@ static inline int mt312_readreg(struct mt312_state *state,
static inline int mt312_writereg(struct mt312_state *state,
const enum mt312_reg_addr reg, const u8 val)
{
- return mt312_write(state, reg, &val, 1);
+ u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+
+ return mt312_write(state, reg, &tmp, 1);
}
static inline u32 mt312_div(u32 a, u32 b)
diff --git a/drivers/media/dvb-frontends/mt352.c b/drivers/media/dvb-frontends/mt352.c
index d5fa96f0a6cd..a440b76444d3 100644
--- a/drivers/media/dvb-frontends/mt352.c
+++ b/drivers/media/dvb-frontends/mt352.c
@@ -33,7 +33,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "mt352_priv.h"
#include "mt352.h"
diff --git a/drivers/media/dvb-frontends/mxl5xx.c b/drivers/media/dvb-frontends/mxl5xx.c
index 53064e11f5f1..e899821018a0 100644
--- a/drivers/media/dvb-frontends/mxl5xx.c
+++ b/drivers/media/dvb-frontends/mxl5xx.c
@@ -33,7 +33,7 @@
#include <asm/div64.h>
#include <asm/unaligned.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "mxl5xx.h"
#include "mxl5xx_regs.h"
#include "mxl5xx_defs.h"
@@ -636,16 +636,9 @@ static int tune(struct dvb_frontend *fe, bool re_tune,
if (r)
return r;
state->tune_time = jiffies;
- return 0;
}
- if (*status & FE_HAS_LOCK)
- return 0;
- r = read_status(fe, status);
- if (r)
- return r;
-
- return 0;
+ return read_status(fe, status);
}
static enum fe_code_rate conv_fec(enum MXL_HYDRA_FEC_E fec)
diff --git a/drivers/media/dvb-frontends/mxl5xx.h b/drivers/media/dvb-frontends/mxl5xx.h
index 532e08111537..ad4c21846800 100644
--- a/drivers/media/dvb-frontends/mxl5xx.h
+++ b/drivers/media/dvb-frontends/mxl5xx.h
@@ -4,7 +4,7 @@
#include <linux/types.h>
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct mxl5xx_cfg {
u8 adr;
diff --git a/drivers/media/dvb-frontends/nxt200x.c b/drivers/media/dvb-frontends/nxt200x.c
index bf6e5cd572c5..7aa74403648e 100644
--- a/drivers/media/dvb-frontends/nxt200x.c
+++ b/drivers/media/dvb-frontends/nxt200x.c
@@ -48,7 +48,7 @@
#include <linux/slab.h>
#include <linux/string.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "nxt200x.h"
struct nxt200x_state {
diff --git a/drivers/media/dvb-frontends/nxt6000.c b/drivers/media/dvb-frontends/nxt6000.c
index 1ce5ea28489b..109a635d166a 100644
--- a/drivers/media/dvb-frontends/nxt6000.c
+++ b/drivers/media/dvb-frontends/nxt6000.c
@@ -27,7 +27,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "nxt6000_priv.h"
#include "nxt6000.h"
diff --git a/drivers/media/dvb-frontends/or51132.c b/drivers/media/dvb-frontends/or51132.c
index 5f2549c48eb0..b4c9aadcb552 100644
--- a/drivers/media/dvb-frontends/or51132.c
+++ b/drivers/media/dvb-frontends/or51132.c
@@ -38,8 +38,8 @@
#include <linux/slab.h>
#include <asm/byteorder.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_math.h>
+#include <media/dvb_frontend.h>
#include "or51132.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/or51211.c b/drivers/media/dvb-frontends/or51211.c
index d14fa9736ae5..a1b7c301828f 100644
--- a/drivers/media/dvb-frontends/or51211.c
+++ b/drivers/media/dvb-frontends/or51211.c
@@ -36,8 +36,8 @@
#include <linux/slab.h>
#include <asm/byteorder.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_math.h>
+#include <media/dvb_frontend.h>
#include "or51211.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/rtl2830_priv.h b/drivers/media/dvb-frontends/rtl2830_priv.h
index 8ec4721d79ac..72d3f3546ff2 100644
--- a/drivers/media/dvb-frontends/rtl2830_priv.h
+++ b/drivers/media/dvb-frontends/rtl2830_priv.h
@@ -18,8 +18,8 @@
#ifndef RTL2830_PRIV_H
#define RTL2830_PRIV_H
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "rtl2830.h"
#include <linux/i2c-mux.h>
#include <linux/math64.h>
diff --git a/drivers/media/dvb-frontends/rtl2832_priv.h b/drivers/media/dvb-frontends/rtl2832_priv.h
index 9a6d01a9c690..bd13d9ad9ab7 100644
--- a/drivers/media/dvb-frontends/rtl2832_priv.h
+++ b/drivers/media/dvb-frontends/rtl2832_priv.h
@@ -26,8 +26,8 @@
#include <linux/math64.h>
#include <linux/bitops.h>
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "rtl2832.h"
struct rtl2832_dev {
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.h b/drivers/media/dvb-frontends/rtl2832_sdr.h
index 8f88c2fb8627..d28735c1cb0c 100644
--- a/drivers/media/dvb-frontends/rtl2832_sdr.h
+++ b/drivers/media/dvb-frontends/rtl2832_sdr.h
@@ -27,7 +27,7 @@
#include <linux/i2c.h>
#include <media/v4l2-subdev.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/**
* struct rtl2832_sdr_platform_data - Platform data for the rtl2832_sdr driver
diff --git a/drivers/media/dvb-frontends/s5h1409.c b/drivers/media/dvb-frontends/s5h1409.c
index f370c6df0a8b..aced6a956ec5 100644
--- a/drivers/media/dvb-frontends/s5h1409.c
+++ b/drivers/media/dvb-frontends/s5h1409.c
@@ -25,7 +25,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "s5h1409.h"
struct s5h1409_state {
diff --git a/drivers/media/dvb-frontends/s5h1411.c b/drivers/media/dvb-frontends/s5h1411.c
index dd09336a135b..c4b1e9725f3e 100644
--- a/drivers/media/dvb-frontends/s5h1411.c
+++ b/drivers/media/dvb-frontends/s5h1411.c
@@ -25,7 +25,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "s5h1411.h"
struct s5h1411_state {
diff --git a/drivers/media/dvb-frontends/s5h1420.c b/drivers/media/dvb-frontends/s5h1420.c
index fd427a29c001..8b2222530227 100644
--- a/drivers/media/dvb-frontends/s5h1420.c
+++ b/drivers/media/dvb-frontends/s5h1420.c
@@ -30,7 +30,7 @@
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "s5h1420.h"
#include "s5h1420_priv.h"
diff --git a/drivers/media/dvb-frontends/s5h1432.c b/drivers/media/dvb-frontends/s5h1432.c
index 4de50fe0c638..740a60df0455 100644
--- a/drivers/media/dvb-frontends/s5h1432.c
+++ b/drivers/media/dvb-frontends/s5h1432.c
@@ -20,7 +20,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "s5h1432.h"
struct s5h1432_state {
diff --git a/drivers/media/dvb-frontends/s921.c b/drivers/media/dvb-frontends/s921.c
index 274544a3ae0e..2d75ede77aca 100644
--- a/drivers/media/dvb-frontends/s921.c
+++ b/drivers/media/dvb-frontends/s921.c
@@ -25,7 +25,7 @@
#include <linux/kernel.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "s921.h"
static int debug = 1;
diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c
index 528b82a5dd46..2dd336f95cbf 100644
--- a/drivers/media/dvb-frontends/si2165.c
+++ b/drivers/media/dvb-frontends/si2165.c
@@ -1,7 +1,7 @@
/*
* Driver for Silicon Labs Si2161 DVB-T and Si2165 DVB-C/-T Demodulator
*
- * Copyright (C) 2013-2014 Matthias Schwarzott <zzam@gentoo.org>
+ * Copyright (C) 2013-2017 Matthias Schwarzott <zzam@gentoo.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,8 +27,8 @@
#include <linux/firmware.h>
#include <linux/regmap.h>
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "si2165_priv.h"
#include "si2165.h"
@@ -57,63 +57,21 @@ struct si2165_state {
u32 sys_clk;
u32 adc_clk;
+ /* DVBv3 stats */
+ u64 ber_prev;
+
bool has_dvbc;
bool has_dvbt;
bool firmware_loaded;
};
-#define DEBUG_OTHER 0x01
-#define DEBUG_I2C_WRITE 0x02
-#define DEBUG_I2C_READ 0x04
-#define DEBUG_REG_READ 0x08
-#define DEBUG_REG_WRITE 0x10
-#define DEBUG_FW_LOAD 0x20
-
-static int debug = 0x00;
-
-#define dprintk(args...) \
- do { \
- if (debug & DEBUG_OTHER) \
- printk(KERN_DEBUG "si2165: " args); \
- } while (0)
-
-#define deb_i2c_write(args...) \
- do { \
- if (debug & DEBUG_I2C_WRITE) \
- printk(KERN_DEBUG "si2165: i2c write: " args); \
- } while (0)
-
-#define deb_i2c_read(args...) \
- do { \
- if (debug & DEBUG_I2C_READ) \
- printk(KERN_DEBUG "si2165: i2c read: " args); \
- } while (0)
-
-#define deb_readreg(args...) \
- do { \
- if (debug & DEBUG_REG_READ) \
- printk(KERN_DEBUG "si2165: reg read: " args); \
- } while (0)
-
-#define deb_writereg(args...) \
- do { \
- if (debug & DEBUG_REG_WRITE) \
- printk(KERN_DEBUG "si2165: reg write: " args); \
- } while (0)
-
-#define deb_fw_load(args...) \
- do { \
- if (debug & DEBUG_FW_LOAD) \
- printk(KERN_DEBUG "si2165: fw load: " args); \
- } while (0)
-
static int si2165_write(struct si2165_state *state, const u16 reg,
- const u8 *src, const int count)
+ const u8 *src, const int count)
{
int ret;
- if (debug & DEBUG_I2C_WRITE)
- deb_i2c_write("reg: 0x%04x, data: %*ph\n", reg, count, src);
+ dev_dbg(&state->client->dev, "i2c write: reg: 0x%04x, data: %*ph\n",
+ reg, count, src);
ret = regmap_bulk_write(state->regmap, reg, src, count);
@@ -134,30 +92,41 @@ static int si2165_read(struct si2165_state *state,
return ret;
}
- if (debug & DEBUG_I2C_READ)
- deb_i2c_read("reg: 0x%04x, data: %*ph\n", reg, count, val);
+ dev_dbg(&state->client->dev, "i2c read: reg: 0x%04x, data: %*ph\n",
+ reg, count, val);
return 0;
}
static int si2165_readreg8(struct si2165_state *state,
- const u16 reg, u8 *val)
+ const u16 reg, u8 *val)
{
unsigned int val_tmp;
int ret = regmap_read(state->regmap, reg, &val_tmp);
*val = (u8)val_tmp;
- deb_readreg("R(0x%04x)=0x%02x\n", reg, *val);
+ dev_dbg(&state->client->dev, "reg read: R(0x%04x)=0x%02x\n", reg, *val);
return ret;
}
static int si2165_readreg16(struct si2165_state *state,
- const u16 reg, u16 *val)
+ const u16 reg, u16 *val)
{
u8 buf[2];
int ret = si2165_read(state, reg, buf, 2);
*val = buf[0] | buf[1] << 8;
- deb_readreg("R(0x%04x)=0x%04x\n", reg, *val);
+ dev_dbg(&state->client->dev, "reg read: R(0x%04x)=0x%04x\n", reg, *val);
+ return ret;
+}
+
+static int si2165_readreg24(struct si2165_state *state,
+ const u16 reg, u32 *val)
+{
+ u8 buf[3];
+
+ int ret = si2165_read(state, reg, buf, 3);
+ *val = buf[0] | buf[1] << 8 | buf[2] << 16;
+ dev_dbg(&state->client->dev, "reg read: R(0x%04x)=0x%06x\n", reg, *val);
return ret;
}
@@ -208,7 +177,9 @@ static int si2165_writereg_mask8(struct si2165_state *state, const u16 reg,
return si2165_writereg8(state, reg, val);
}
-#define REG16(reg, val) { (reg), (val) & 0xff }, { (reg)+1, (val)>>8 & 0xff }
+#define REG16(reg, val) \
+ { (reg), (val) & 0xff }, \
+ { (reg) + 1, (val) >> 8 & 0xff }
struct si2165_reg_value_pair {
u16 reg;
u8 val;
@@ -238,7 +209,7 @@ static int si2165_get_tune_settings(struct dvb_frontend *fe,
static int si2165_init_pll(struct si2165_state *state)
{
- u32 ref_freq_Hz = state->config.ref_freq_Hz;
+ u32 ref_freq_hz = state->config.ref_freq_hz;
u8 divr = 1; /* 1..7 */
u8 divp = 1; /* only 1 or 4 */
u8 divn = 56; /* 1..63 */
@@ -250,7 +221,7 @@ static int si2165_init_pll(struct si2165_state *state)
* hardcoded values can be deleted if calculation is verified
* or it yields the same values as the windows driver
*/
- switch (ref_freq_Hz) {
+ switch (ref_freq_hz) {
case 16000000u:
divn = 56;
break;
@@ -261,39 +232,39 @@ static int si2165_init_pll(struct si2165_state *state)
break;
default:
/* ref_freq / divr must be between 4 and 16 MHz */
- if (ref_freq_Hz > 16000000u)
+ if (ref_freq_hz > 16000000u)
divr = 2;
/*
* now select divn and divp such that
* fvco is in 1624..1824 MHz
*/
- if (1624000000u * divr > ref_freq_Hz * 2u * 63u)
+ if (1624000000u * divr > ref_freq_hz * 2u * 63u)
divp = 4;
/* is this already correct regarding rounding? */
- divn = 1624000000u * divr / (ref_freq_Hz * 2u * divp);
+ divn = 1624000000u * divr / (ref_freq_hz * 2u * divp);
break;
}
/* adc_clk and sys_clk depend on xtal and pll settings */
- state->fvco_hz = ref_freq_Hz / divr
+ state->fvco_hz = ref_freq_hz / divr
* 2u * divn * divp;
state->adc_clk = state->fvco_hz / (divm * 4u);
state->sys_clk = state->fvco_hz / (divl * 2u);
- /* write pll registers 0x00a0..0x00a3 at once */
+ /* write all 4 pll registers 0x00a0..0x00a3 at once */
buf[0] = divl;
buf[1] = divm;
buf[2] = (divn & 0x3f) | ((divp == 1) ? 0x40 : 0x00) | 0x80;
buf[3] = divr;
- return si2165_write(state, 0x00a0, buf, 4);
+ return si2165_write(state, REG_PLL_DIVL, buf, 4);
}
static int si2165_adjust_pll_divl(struct si2165_state *state, u8 divl)
{
state->sys_clk = state->fvco_hz / (divl * 2u);
- return si2165_writereg8(state, 0x00a0, divl); /* pll_divl */
+ return si2165_writereg8(state, REG_PLL_DIVL, divl);
}
static u32 si2165_get_fe_clk(struct si2165_state *state)
@@ -309,18 +280,18 @@ static int si2165_wait_init_done(struct si2165_state *state)
int i;
for (i = 0; i < 3; ++i) {
- si2165_readreg8(state, 0x0054, &val);
+ si2165_readreg8(state, REG_INIT_DONE, &val);
if (val == 0x01)
return 0;
usleep_range(1000, 50000);
}
- dev_err(&state->client->dev, "%s: init_done was not set\n",
- KBUILD_MODNAME);
+ dev_err(&state->client->dev, "init_done was not set\n");
return ret;
}
static int si2165_upload_firmware_block(struct si2165_state *state,
- const u8 *data, u32 len, u32 *poffset, u32 block_count)
+ const u8 *data, u32 len, u32 *poffset,
+ u32 block_count)
{
int ret;
u8 buf_ctrl[4] = { 0x00, 0x00, 0x00, 0xc0 };
@@ -333,42 +304,43 @@ static int si2165_upload_firmware_block(struct si2165_state *state,
if (len % 4 != 0)
return -EINVAL;
- deb_fw_load(
- "si2165_upload_firmware_block called with len=0x%x offset=0x%x blockcount=0x%x\n",
- len, offset, block_count);
- while (offset+12 <= len && cur_block < block_count) {
- deb_fw_load(
- "si2165_upload_firmware_block in while len=0x%x offset=0x%x cur_block=0x%x blockcount=0x%x\n",
- len, offset, cur_block, block_count);
+ dev_dbg(&state->client->dev,
+ "fw load: %s: called with len=0x%x offset=0x%x blockcount=0x%x\n",
+ __func__, len, offset, block_count);
+ while (offset + 12 <= len && cur_block < block_count) {
+ dev_dbg(&state->client->dev,
+ "fw load: %s: in while len=0x%x offset=0x%x cur_block=0x%x blockcount=0x%x\n",
+ __func__, len, offset, cur_block, block_count);
wordcount = data[offset];
- if (wordcount < 1 || data[offset+1] ||
- data[offset+2] || data[offset+3]) {
+ if (wordcount < 1 || data[offset + 1] ||
+ data[offset + 2] || data[offset + 3]) {
dev_warn(&state->client->dev,
- "%s: bad fw data[0..3] = %*ph\n",
- KBUILD_MODNAME, 4, data);
+ "bad fw data[0..3] = %*ph\n",
+ 4, data);
return -EINVAL;
}
if (offset + 8 + wordcount * 4 > len) {
dev_warn(&state->client->dev,
- "%s: len is too small for block len=%d, wordcount=%d\n",
- KBUILD_MODNAME, len, wordcount);
+ "len is too small for block len=%d, wordcount=%d\n",
+ len, wordcount);
return -EINVAL;
}
buf_ctrl[0] = wordcount - 1;
- ret = si2165_write(state, 0x0364, buf_ctrl, 4);
+ ret = si2165_write(state, REG_DCOM_CONTROL_BYTE, buf_ctrl, 4);
if (ret < 0)
goto error;
- ret = si2165_write(state, 0x0368, data+offset+4, 4);
+ ret = si2165_write(state, REG_DCOM_ADDR, data + offset + 4, 4);
if (ret < 0)
goto error;
offset += 8;
while (wordcount > 0) {
- ret = si2165_write(state, 0x36c, data+offset, 4);
+ ret = si2165_write(state, REG_DCOM_DATA,
+ data + offset, 4);
if (ret < 0)
goto error;
wordcount--;
@@ -377,15 +349,16 @@ static int si2165_upload_firmware_block(struct si2165_state *state,
cur_block++;
}
- deb_fw_load(
- "si2165_upload_firmware_block after while len=0x%x offset=0x%x cur_block=0x%x blockcount=0x%x\n",
- len, offset, cur_block, block_count);
+ dev_dbg(&state->client->dev,
+ "fw load: %s: after while len=0x%x offset=0x%x cur_block=0x%x blockcount=0x%x\n",
+ __func__, len, offset, cur_block, block_count);
if (poffset)
*poffset = offset;
- deb_fw_load("si2165_upload_firmware_block returned offset=0x%x\n",
- offset);
+ dev_dbg(&state->client->dev,
+ "fw load: %s: returned offset=0x%x\n",
+ __func__, offset);
return 0;
error:
@@ -413,43 +386,40 @@ static int si2165_upload_firmware(struct si2165_state *state)
fw_file = SI2165_FIRMWARE_REV_D;
break;
default:
- dev_info(&state->client->dev, "%s: no firmware file for revision=%d\n",
- KBUILD_MODNAME, state->chip_revcode);
+ dev_info(&state->client->dev, "no firmware file for revision=%d\n",
+ state->chip_revcode);
return 0;
}
/* request the firmware, this will block and timeout */
ret = request_firmware(&fw, fw_file, &state->client->dev);
if (ret) {
- dev_warn(&state->client->dev, "%s: firmware file '%s' not found\n",
- KBUILD_MODNAME, fw_file);
+ dev_warn(&state->client->dev, "firmware file '%s' not found\n",
+ fw_file);
goto error;
}
data = fw->data;
len = fw->size;
- dev_info(&state->client->dev, "%s: downloading firmware from file '%s' size=%d\n",
- KBUILD_MODNAME, fw_file, len);
+ dev_info(&state->client->dev, "downloading firmware from file '%s' size=%d\n",
+ fw_file, len);
if (len % 4 != 0) {
- dev_warn(&state->client->dev, "%s: firmware size is not multiple of 4\n",
- KBUILD_MODNAME);
+ dev_warn(&state->client->dev, "firmware size is not multiple of 4\n");
ret = -EINVAL;
goto error;
}
/* check header (8 bytes) */
if (len < 8) {
- dev_warn(&state->client->dev, "%s: firmware header is missing\n",
- KBUILD_MODNAME);
+ dev_warn(&state->client->dev, "firmware header is missing\n");
ret = -EINVAL;
goto error;
}
if (data[0] != 1 || data[1] != 0) {
- dev_warn(&state->client->dev, "%s: firmware file version is wrong\n",
- KBUILD_MODNAME);
+ dev_warn(&state->client->dev, "firmware file version is wrong\n");
ret = -EINVAL;
goto error;
}
@@ -460,45 +430,45 @@ static int si2165_upload_firmware(struct si2165_state *state)
/* start uploading fw */
/* boot/wdog status */
- ret = si2165_writereg8(state, 0x0341, 0x00);
+ ret = si2165_writereg8(state, REG_WDOG_AND_BOOT, 0x00);
if (ret < 0)
goto error;
/* reset */
- ret = si2165_writereg8(state, 0x00c0, 0x00);
+ ret = si2165_writereg8(state, REG_RST_ALL, 0x00);
if (ret < 0)
goto error;
/* boot/wdog status */
- ret = si2165_readreg8(state, 0x0341, val);
+ ret = si2165_readreg8(state, REG_WDOG_AND_BOOT, val);
if (ret < 0)
goto error;
/* enable reset on error */
- ret = si2165_readreg8(state, 0x035c, val);
+ ret = si2165_readreg8(state, REG_EN_RST_ERROR, val);
if (ret < 0)
goto error;
- ret = si2165_readreg8(state, 0x035c, val);
+ ret = si2165_readreg8(state, REG_EN_RST_ERROR, val);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x035c, 0x02);
+ ret = si2165_writereg8(state, REG_EN_RST_ERROR, 0x02);
if (ret < 0)
goto error;
/* start right after the header */
offset = 8;
- dev_info(&state->client->dev, "%s: si2165_upload_firmware extracted patch_version=0x%02x, block_count=0x%02x, crc_expected=0x%04x\n",
- KBUILD_MODNAME, patch_version, block_count, crc_expected);
+ dev_info(&state->client->dev, "%s: extracted patch_version=0x%02x, block_count=0x%02x, crc_expected=0x%04x\n",
+ __func__, patch_version, block_count, crc_expected);
ret = si2165_upload_firmware_block(state, data, len, &offset, 1);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x0344, patch_version);
+ ret = si2165_writereg8(state, REG_PATCH_VERSION, patch_version);
if (ret < 0)
goto error;
/* reset crc */
- ret = si2165_writereg8(state, 0x0379, 0x01);
+ ret = si2165_writereg8(state, REG_RST_CRC, 0x01);
if (ret)
goto error;
@@ -506,20 +476,19 @@ static int si2165_upload_firmware(struct si2165_state *state)
&offset, block_count);
if (ret < 0) {
dev_err(&state->client->dev,
- "%s: firmware could not be uploaded\n",
- KBUILD_MODNAME);
+ "firmware could not be uploaded\n");
goto error;
}
/* read crc */
- ret = si2165_readreg16(state, 0x037a, &val16);
+ ret = si2165_readreg16(state, REG_CRC, &val16);
if (ret)
goto error;
if (val16 != crc_expected) {
dev_err(&state->client->dev,
- "%s: firmware crc mismatch %04x != %04x\n",
- KBUILD_MODNAME, val16, crc_expected);
+ "firmware crc mismatch %04x != %04x\n",
+ val16, crc_expected);
ret = -EINVAL;
goto error;
}
@@ -530,23 +499,23 @@ static int si2165_upload_firmware(struct si2165_state *state)
if (len != offset) {
dev_err(&state->client->dev,
- "%s: firmware len mismatch %04x != %04x\n",
- KBUILD_MODNAME, len, offset);
+ "firmware len mismatch %04x != %04x\n",
+ len, offset);
ret = -EINVAL;
goto error;
}
/* reset watchdog error register */
- ret = si2165_writereg_mask8(state, 0x0341, 0x02, 0x02);
+ ret = si2165_writereg_mask8(state, REG_WDOG_AND_BOOT, 0x02, 0x02);
if (ret < 0)
goto error;
/* enable reset on error */
- ret = si2165_writereg_mask8(state, 0x035c, 0x01, 0x01);
+ ret = si2165_writereg_mask8(state, REG_EN_RST_ERROR, 0x01, 0x01);
if (ret < 0)
goto error;
- dev_info(&state->client->dev, "%s: fw load finished\n", KBUILD_MODNAME);
+ dev_info(&state->client->dev, "fw load finished\n");
ret = 0;
state->firmware_loaded = true;
@@ -563,46 +532,47 @@ static int si2165_init(struct dvb_frontend *fe)
{
int ret = 0;
struct si2165_state *state = fe->demodulator_priv;
+ struct dtv_frontend_properties *c = &fe->dtv_property_cache;
u8 val;
u8 patch_version = 0x00;
- dprintk("%s: called\n", __func__);
+ dev_dbg(&state->client->dev, "%s: called\n", __func__);
/* powerup */
- ret = si2165_writereg8(state, 0x0000, state->config.chip_mode);
+ ret = si2165_writereg8(state, REG_CHIP_MODE, state->config.chip_mode);
if (ret < 0)
goto error;
/* dsp_clock_enable */
- ret = si2165_writereg8(state, 0x0104, 0x01);
+ ret = si2165_writereg8(state, REG_DSP_CLOCK, 0x01);
if (ret < 0)
goto error;
- ret = si2165_readreg8(state, 0x0000, &val); /* verify chip_mode */
+ /* verify chip_mode */
+ ret = si2165_readreg8(state, REG_CHIP_MODE, &val);
if (ret < 0)
goto error;
if (val != state->config.chip_mode) {
- dev_err(&state->client->dev, "%s: could not set chip_mode\n",
- KBUILD_MODNAME);
+ dev_err(&state->client->dev, "could not set chip_mode\n");
return -EINVAL;
}
/* agc */
- ret = si2165_writereg8(state, 0x018b, 0x00);
+ ret = si2165_writereg8(state, REG_AGC_IF_TRI, 0x00);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x0190, 0x01);
+ ret = si2165_writereg8(state, REG_AGC_IF_SLR, 0x01);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x0170, 0x00);
+ ret = si2165_writereg8(state, REG_AGC2_OUTPUT, 0x00);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x0171, 0x07);
+ ret = si2165_writereg8(state, REG_AGC2_CLKDIV, 0x07);
if (ret < 0)
goto error;
/* rssi pad */
- ret = si2165_writereg8(state, 0x0646, 0x00);
+ ret = si2165_writereg8(state, REG_RSSI_PAD_CTRL, 0x00);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x0641, 0x00);
+ ret = si2165_writereg8(state, REG_RSSI_ENABLE, 0x00);
if (ret < 0)
goto error;
@@ -611,11 +581,11 @@ static int si2165_init(struct dvb_frontend *fe)
goto error;
/* enable chip_init */
- ret = si2165_writereg8(state, 0x0050, 0x01);
+ ret = si2165_writereg8(state, REG_CHIP_INIT, 0x01);
if (ret < 0)
goto error;
/* set start_init */
- ret = si2165_writereg8(state, 0x0096, 0x01);
+ ret = si2165_writereg8(state, REG_START_INIT, 0x01);
if (ret < 0)
goto error;
ret = si2165_wait_init_done(state);
@@ -623,29 +593,30 @@ static int si2165_init(struct dvb_frontend *fe)
goto error;
/* disable chip_init */
- ret = si2165_writereg8(state, 0x0050, 0x00);
+ ret = si2165_writereg8(state, REG_CHIP_INIT, 0x00);
if (ret < 0)
goto error;
- /* ber_pkt */
- ret = si2165_writereg16(state, 0x0470, 0x7530);
+ /* ber_pkt - default 65535 */
+ ret = si2165_writereg16(state, REG_BER_PKT,
+ STATISTICS_PERIOD_PKT_COUNT);
if (ret < 0)
goto error;
- ret = si2165_readreg8(state, 0x0344, &patch_version);
+ ret = si2165_readreg8(state, REG_PATCH_VERSION, &patch_version);
if (ret < 0)
goto error;
- ret = si2165_writereg8(state, 0x00cb, 0x00);
+ ret = si2165_writereg8(state, REG_AUTO_RESET, 0x00);
if (ret < 0)
goto error;
/* dsp_addr_jump */
- ret = si2165_writereg32(state, 0x0348, 0xf4000000);
+ ret = si2165_writereg32(state, REG_ADDR_JUMP, 0xf4000000);
if (ret < 0)
goto error;
/* boot/wdog status */
- ret = si2165_readreg8(state, 0x0341, &val);
+ ret = si2165_readreg8(state, REG_WDOG_AND_BOOT, &val);
if (ret < 0)
goto error;
@@ -656,19 +627,30 @@ static int si2165_init(struct dvb_frontend *fe)
}
/* ts output config */
- ret = si2165_writereg8(state, 0x04e4, 0x20);
+ ret = si2165_writereg8(state, REG_TS_DATA_MODE, 0x20);
+ if (ret < 0)
+ return ret;
+ ret = si2165_writereg16(state, REG_TS_TRI, 0x00fe);
if (ret < 0)
return ret;
- ret = si2165_writereg16(state, 0x04ef, 0x00fe);
+ ret = si2165_writereg24(state, REG_TS_SLR, 0x555555);
if (ret < 0)
return ret;
- ret = si2165_writereg24(state, 0x04f4, 0x555555);
+ ret = si2165_writereg8(state, REG_TS_CLK_MODE, 0x01);
if (ret < 0)
return ret;
- ret = si2165_writereg8(state, 0x04e5, 0x01);
+ ret = si2165_writereg8(state, REG_TS_PARALLEL_MODE, 0x00);
if (ret < 0)
return ret;
+ c = &state->fe.dtv_property_cache;
+ c->cnr.len = 1;
+ c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+ c->post_bit_error.len = 1;
+ c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+ c->post_bit_count.len = 1;
+ c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+
return 0;
error:
return ret;
@@ -680,11 +662,11 @@ static int si2165_sleep(struct dvb_frontend *fe)
struct si2165_state *state = fe->demodulator_priv;
/* dsp clock disable */
- ret = si2165_writereg8(state, 0x0104, 0x00);
+ ret = si2165_writereg8(state, REG_DSP_CLOCK, 0x00);
if (ret < 0)
return ret;
/* chip mode */
- ret = si2165_writereg8(state, 0x0000, SI2165_MODE_OFF);
+ ret = si2165_writereg8(state, REG_CHIP_MODE, SI2165_MODE_OFF);
if (ret < 0)
return ret;
return 0;
@@ -693,18 +675,48 @@ static int si2165_sleep(struct dvb_frontend *fe)
static int si2165_read_status(struct dvb_frontend *fe, enum fe_status *status)
{
int ret;
- u8 fec_lock = 0;
+ u8 u8tmp;
+ u32 u32tmp;
struct si2165_state *state = fe->demodulator_priv;
+ struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+ u32 delsys = c->delivery_system;
- if (!state->has_dvbt)
- return -EINVAL;
+ *status = 0;
+
+ switch (delsys) {
+ case SYS_DVBT:
+ /* check fast signal type */
+ ret = si2165_readreg8(state, REG_CHECK_SIGNAL, &u8tmp);
+ if (ret < 0)
+ return ret;
+ switch (u8tmp & 0x3) {
+ case 0: /* searching */
+ case 1: /* nothing */
+ break;
+ case 2: /* digital signal */
+ *status |= FE_HAS_SIGNAL | FE_HAS_CARRIER;
+ break;
+ }
+ break;
+ case SYS_DVBC_ANNEX_A:
+ /* check packet sync lock */
+ ret = si2165_readreg8(state, REG_PS_LOCK, &u8tmp);
+ if (ret < 0)
+ return ret;
+ if (u8tmp & 0x01) {
+ *status |= FE_HAS_SIGNAL;
+ *status |= FE_HAS_CARRIER;
+ *status |= FE_HAS_VITERBI;
+ *status |= FE_HAS_SYNC;
+ }
+ break;
+ }
/* check fec_lock */
- ret = si2165_readreg8(state, 0x4e0, &fec_lock);
+ ret = si2165_readreg8(state, REG_FEC_LOCK, &u8tmp);
if (ret < 0)
return ret;
- *status = 0;
- if (fec_lock & 0x01) {
+ if (u8tmp & 0x01) {
*status |= FE_HAS_SIGNAL;
*status |= FE_HAS_CARRIER;
*status |= FE_HAS_VITERBI;
@@ -712,6 +724,109 @@ static int si2165_read_status(struct dvb_frontend *fe, enum fe_status *status)
*status |= FE_HAS_LOCK;
}
+ /* CNR */
+ if (delsys == SYS_DVBC_ANNEX_A && *status & FE_HAS_VITERBI) {
+ ret = si2165_readreg24(state, REG_C_N, &u32tmp);
+ if (ret < 0)
+ return ret;
+ /*
+ * svalue =
+ * 1000 * c_n/dB =
+ * 1000 * 10 * log10(2^24 / regval) =
+ * 1000 * 10 * (log10(2^24) - log10(regval)) =
+ * 1000 * 10 * (intlog10(2^24) - intlog10(regval)) / 2^24
+ *
+ * intlog10(x) = log10(x) * 2^24
+ * intlog10(2^24) = log10(2^24) * 2^24 = 121210686
+ */
+ u32tmp = (1000 * 10 * (121210686 - (u64)intlog10(u32tmp)))
+ >> 24;
+ c->cnr.stat[0].scale = FE_SCALE_DECIBEL;
+ c->cnr.stat[0].svalue = u32tmp;
+ } else
+ c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+
+ /* BER */
+ if (*status & FE_HAS_VITERBI) {
+ if (c->post_bit_error.stat[0].scale == FE_SCALE_NOT_AVAILABLE) {
+ /* start new sampling period to get rid of old data*/
+ ret = si2165_writereg8(state, REG_BER_RST, 0x01);
+ if (ret < 0)
+ return ret;
+
+ /* set scale to enter read code on next call */
+ c->post_bit_error.stat[0].scale = FE_SCALE_COUNTER;
+ c->post_bit_count.stat[0].scale = FE_SCALE_COUNTER;
+ c->post_bit_error.stat[0].uvalue = 0;
+ c->post_bit_count.stat[0].uvalue = 0;
+
+ /*
+ * reset DVBv3 value to deliver a good result
+ * for the first call
+ */
+ state->ber_prev = 0;
+
+ } else {
+ ret = si2165_readreg8(state, REG_BER_AVAIL, &u8tmp);
+ if (ret < 0)
+ return ret;
+
+ if (u8tmp & 1) {
+ u32 biterrcnt;
+
+ ret = si2165_readreg24(state, REG_BER_BIT,
+ &biterrcnt);
+ if (ret < 0)
+ return ret;
+
+ c->post_bit_error.stat[0].uvalue +=
+ biterrcnt;
+ c->post_bit_count.stat[0].uvalue +=
+ STATISTICS_PERIOD_BIT_COUNT;
+
+ /* start new sampling period */
+ ret = si2165_writereg8(state,
+ REG_BER_RST, 0x01);
+ if (ret < 0)
+ return ret;
+
+ dev_dbg(&state->client->dev,
+ "post_bit_error=%u post_bit_count=%u\n",
+ biterrcnt, STATISTICS_PERIOD_BIT_COUNT);
+ }
+ }
+ } else {
+ c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+ c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+ }
+
+ return 0;
+}
+
+static int si2165_read_snr(struct dvb_frontend *fe, u16 *snr)
+{
+ struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+
+ if (c->cnr.stat[0].scale == FE_SCALE_DECIBEL)
+ *snr = div_s64(c->cnr.stat[0].svalue, 100);
+ else
+ *snr = 0;
+ return 0;
+}
+
+static int si2165_read_ber(struct dvb_frontend *fe, u32 *ber)
+{
+ struct si2165_state *state = fe->demodulator_priv;
+ struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+
+ if (c->post_bit_error.stat[0].scale != FE_SCALE_COUNTER) {
+ *ber = 0;
+ return 0;
+ }
+
+ *ber = c->post_bit_error.stat[0].uvalue - state->ber_prev;
+ state->ber_prev = c->post_bit_error.stat[0].uvalue;
+
return 0;
}
@@ -728,8 +843,8 @@ static int si2165_set_oversamp(struct si2165_state *state, u32 dvb_rate)
do_div(oversamp, dvb_rate);
reg_value = oversamp & 0x3fffffff;
- dprintk("%s: Write oversamp=%#x\n", __func__, reg_value);
- return si2165_writereg32(state, 0x00e4, reg_value);
+ dev_dbg(&state->client->dev, "Write oversamp=%#x\n", reg_value);
+ return si2165_writereg32(state, REG_OVERSAMP, reg_value);
}
static int si2165_set_if_freq_shift(struct si2165_state *state)
@@ -742,8 +857,7 @@ static int si2165_set_if_freq_shift(struct si2165_state *state)
if (!fe->ops.tuner_ops.get_if_frequency) {
dev_err(&state->client->dev,
- "%s: Error: get_if_frequency() not defined at tuner. Can't work without it!\n",
- KBUILD_MODNAME);
+ "Error: get_if_frequency() not defined at tuner. Can't work without it!\n");
return -EINVAL;
}
@@ -763,30 +877,29 @@ static int si2165_set_if_freq_shift(struct si2165_state *state)
reg_value = reg_value & 0x1fffffff;
/* if_freq_shift, usbdump contained 0x023ee08f; */
- return si2165_writereg32(state, 0x00e8, reg_value);
+ return si2165_writereg32(state, REG_IF_FREQ_SHIFT, reg_value);
}
static const struct si2165_reg_value_pair dvbt_regs[] = {
/* standard = DVB-T */
- { 0x00ec, 0x01 },
- { 0x08f8, 0x00 },
+ { REG_DVB_STANDARD, 0x01 },
/* impulsive_noise_remover */
- { 0x031c, 0x01 },
- { 0x00cb, 0x00 },
+ { REG_IMPULSIVE_NOISE_REM, 0x01 },
+ { REG_AUTO_RESET, 0x00 },
/* agc2 */
- { 0x016e, 0x41 },
- { 0x016c, 0x0e },
- { 0x016d, 0x10 },
+ { REG_AGC2_MIN, 0x41 },
+ { REG_AGC2_KACQ, 0x0e },
+ { REG_AGC2_KLOC, 0x10 },
/* agc */
- { 0x015b, 0x03 },
- { 0x0150, 0x78 },
+ { REG_AGC_UNFREEZE_THR, 0x03 },
+ { REG_AGC_CRESTF_DBX8, 0x78 },
/* agc */
- { 0x01a0, 0x78 },
- { 0x01c8, 0x68 },
+ { REG_AAF_CRESTF_DBX8, 0x78 },
+ { REG_ACI_CRESTF_DBX8, 0x68 },
/* freq_sync_range */
- REG16(0x030c, 0x0064),
+ REG16(REG_FREQ_SYNC_RANGE, 0x0064),
/* gp_reg0 */
- { 0x0387, 0x00 }
+ { REG_GP_REG0_MSB, 0x00 }
};
static int si2165_set_frontend_dvbt(struct dvb_frontend *fe)
@@ -798,7 +911,7 @@ static int si2165_set_frontend_dvbt(struct dvb_frontend *fe)
u16 bw10k;
u32 bw_hz = p->bandwidth_hz;
- dprintk("%s: called\n", __func__);
+ dev_dbg(&state->client->dev, "%s: called\n", __func__);
if (!state->has_dvbt)
return -EINVAL;
@@ -815,7 +928,7 @@ static int si2165_set_frontend_dvbt(struct dvb_frontend *fe)
return ret;
/* bandwidth in 10KHz steps */
- ret = si2165_writereg16(state, 0x0308, bw10k);
+ ret = si2165_writereg16(state, REG_T_BANDWIDTH, bw10k);
if (ret < 0)
return ret;
ret = si2165_set_oversamp(state, dvb_rate);
@@ -831,33 +944,30 @@ static int si2165_set_frontend_dvbt(struct dvb_frontend *fe)
static const struct si2165_reg_value_pair dvbc_regs[] = {
/* standard = DVB-C */
- { 0x00ec, 0x05 },
- { 0x08f8, 0x00 },
+ { REG_DVB_STANDARD, 0x05 },
/* agc2 */
- { 0x016e, 0x50 },
- { 0x016c, 0x0e },
- { 0x016d, 0x10 },
+ { REG_AGC2_MIN, 0x50 },
+ { REG_AGC2_KACQ, 0x0e },
+ { REG_AGC2_KLOC, 0x10 },
/* agc */
- { 0x015b, 0x03 },
- { 0x0150, 0x68 },
+ { REG_AGC_UNFREEZE_THR, 0x03 },
+ { REG_AGC_CRESTF_DBX8, 0x68 },
/* agc */
- { 0x01a0, 0x68 },
- { 0x01c8, 0x50 },
-
- { 0x0278, 0x0d },
-
- { 0x023a, 0x05 },
- { 0x0261, 0x09 },
- REG16(0x0350, 0x3e80),
- { 0x02f4, 0x00 },
-
- { 0x00cb, 0x01 },
- REG16(0x024c, 0x0000),
- REG16(0x027c, 0x0000),
- { 0x0232, 0x03 },
- { 0x02f4, 0x0b },
- { 0x018b, 0x00 },
+ { REG_AAF_CRESTF_DBX8, 0x68 },
+ { REG_ACI_CRESTF_DBX8, 0x50 },
+
+ { REG_EQ_AUTO_CONTROL, 0x0d },
+
+ { REG_KP_LOCK, 0x05 },
+ { REG_CENTRAL_TAP, 0x09 },
+ REG16(REG_UNKNOWN_350, 0x3e80),
+
+ { REG_AUTO_RESET, 0x01 },
+ REG16(REG_UNKNOWN_24C, 0x0000),
+ REG16(REG_UNKNOWN_27C, 0x0000),
+ { REG_SWEEP_STEP, 0x03 },
+ { REG_AGC_IF_TRI, 0x00 },
};
static int si2165_set_frontend_dvbc(struct dvb_frontend *fe)
@@ -866,7 +976,7 @@ static int si2165_set_frontend_dvbc(struct dvb_frontend *fe)
int ret;
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
const u32 dvb_rate = p->symbol_rate;
- const u32 bw_hz = p->bandwidth_hz;
+ u8 u8tmp;
if (!state->has_dvbc)
return -EINVAL;
@@ -883,7 +993,32 @@ static int si2165_set_frontend_dvbc(struct dvb_frontend *fe)
if (ret < 0)
return ret;
- ret = si2165_writereg32(state, 0x00c4, bw_hz);
+ switch (p->modulation) {
+ case QPSK:
+ u8tmp = 0x3;
+ break;
+ case QAM_16:
+ u8tmp = 0x7;
+ break;
+ case QAM_32:
+ u8tmp = 0x8;
+ break;
+ case QAM_64:
+ u8tmp = 0x9;
+ break;
+ case QAM_128:
+ u8tmp = 0xa;
+ break;
+ case QAM_256:
+ default:
+ u8tmp = 0xb;
+ break;
+ }
+ ret = si2165_writereg8(state, REG_REQ_CONSTELLATION, u8tmp);
+ if (ret < 0)
+ return ret;
+
+ ret = si2165_writereg32(state, REG_LOCK_TIMEOUT, 0x007a1200);
if (ret < 0)
return ret;
@@ -894,12 +1029,12 @@ static int si2165_set_frontend_dvbc(struct dvb_frontend *fe)
return 0;
}
-static const struct si2165_reg_value_pair agc_rewrite[] = {
- { 0x012a, 0x46 },
- { 0x012c, 0x00 },
- { 0x012e, 0x0a },
- { 0x012f, 0xff },
- { 0x0123, 0x70 }
+static const struct si2165_reg_value_pair adc_rewrite[] = {
+ { REG_ADC_RI1, 0x46 },
+ { REG_ADC_RI3, 0x00 },
+ { REG_ADC_RI5, 0x0a },
+ { REG_ADC_RI6, 0xff },
+ { REG_ADC_RI8, 0x70 }
};
static int si2165_set_frontend(struct dvb_frontend *fe)
@@ -931,7 +1066,7 @@ static int si2165_set_frontend(struct dvb_frontend *fe)
}
/* dsp_addr_jump */
- ret = si2165_writereg32(state, 0x0348, 0xf4000000);
+ ret = si2165_writereg32(state, REG_ADDR_JUMP, 0xf4000000);
if (ret < 0)
return ret;
@@ -944,34 +1079,34 @@ static int si2165_set_frontend(struct dvb_frontend *fe)
return ret;
/* boot/wdog status */
- ret = si2165_readreg8(state, 0x0341, val);
+ ret = si2165_readreg8(state, REG_WDOG_AND_BOOT, val);
if (ret < 0)
return ret;
- ret = si2165_writereg8(state, 0x0341, 0x00);
+ ret = si2165_writereg8(state, REG_WDOG_AND_BOOT, 0x00);
if (ret < 0)
return ret;
/* reset all */
- ret = si2165_writereg8(state, 0x00c0, 0x00);
+ ret = si2165_writereg8(state, REG_RST_ALL, 0x00);
if (ret < 0)
return ret;
/* gp_reg0 */
- ret = si2165_writereg32(state, 0x0384, 0x00000000);
+ ret = si2165_writereg32(state, REG_GP_REG0_LSB, 0x00000000);
if (ret < 0)
return ret;
/* write adc values after each reset*/
- ret = si2165_write_reg_list(state, agc_rewrite,
- ARRAY_SIZE(agc_rewrite));
+ ret = si2165_write_reg_list(state, adc_rewrite,
+ ARRAY_SIZE(adc_rewrite));
if (ret < 0)
return ret;
/* start_synchro */
- ret = si2165_writereg8(state, 0x02e0, 0x01);
+ ret = si2165_writereg8(state, REG_START_SYNCHRO, 0x01);
if (ret < 0)
return ret;
/* boot/wdog status */
- ret = si2165_readreg8(state, 0x0341, val);
+ ret = si2165_readreg8(state, REG_WDOG_AND_BOOT, val);
if (ret < 0)
return ret;
@@ -998,7 +1133,6 @@ static const struct dvb_frontend_ops si2165_ops = {
FE_CAN_QAM_64 |
FE_CAN_QAM_128 |
FE_CAN_QAM_256 |
- FE_CAN_QAM_AUTO |
FE_CAN_GUARD_INTERVAL_AUTO |
FE_CAN_HIERARCHY_AUTO |
FE_CAN_MUTE_TS |
@@ -1013,10 +1147,12 @@ static const struct dvb_frontend_ops si2165_ops = {
.set_frontend = si2165_set_frontend,
.read_status = si2165_read_status,
+ .read_snr = si2165_read_snr,
+ .read_ber = si2165_read_ber,
};
static int si2165_probe(struct i2c_client *client,
- const struct i2c_device_id *id)
+ const struct i2c_device_id *id)
{
struct si2165_state *state = NULL;
struct si2165_platform_data *pdata = client->dev.platform_data;
@@ -1032,8 +1168,8 @@ static int si2165_probe(struct i2c_client *client,
};
/* allocate memory for the internal state */
- state = kzalloc(sizeof(struct si2165_state), GFP_KERNEL);
- if (state == NULL) {
+ state = kzalloc(sizeof(*state), GFP_KERNEL);
+ if (!state) {
ret = -ENOMEM;
goto error;
}
@@ -1049,45 +1185,45 @@ static int si2165_probe(struct i2c_client *client,
state->client = client;
state->config.i2c_addr = client->addr;
state->config.chip_mode = pdata->chip_mode;
- state->config.ref_freq_Hz = pdata->ref_freq_Hz;
+ state->config.ref_freq_hz = pdata->ref_freq_hz;
state->config.inversion = pdata->inversion;
- if (state->config.ref_freq_Hz < 4000000
- || state->config.ref_freq_Hz > 27000000) {
- dev_err(&state->client->dev, "%s: ref_freq of %d Hz not supported by this driver\n",
- KBUILD_MODNAME, state->config.ref_freq_Hz);
+ if (state->config.ref_freq_hz < 4000000 ||
+ state->config.ref_freq_hz > 27000000) {
+ dev_err(&state->client->dev, "ref_freq of %d Hz not supported by this driver\n",
+ state->config.ref_freq_hz);
ret = -EINVAL;
goto error;
}
/* create dvb_frontend */
memcpy(&state->fe.ops, &si2165_ops,
- sizeof(struct dvb_frontend_ops));
+ sizeof(struct dvb_frontend_ops));
state->fe.ops.release = NULL;
state->fe.demodulator_priv = state;
i2c_set_clientdata(client, state);
/* powerup */
- ret = si2165_writereg8(state, 0x0000, state->config.chip_mode);
+ ret = si2165_writereg8(state, REG_CHIP_MODE, state->config.chip_mode);
if (ret < 0)
goto nodev_error;
- ret = si2165_readreg8(state, 0x0000, &val);
+ ret = si2165_readreg8(state, REG_CHIP_MODE, &val);
if (ret < 0)
goto nodev_error;
if (val != state->config.chip_mode)
goto nodev_error;
- ret = si2165_readreg8(state, 0x0023, &state->chip_revcode);
+ ret = si2165_readreg8(state, REG_CHIP_REVCODE, &state->chip_revcode);
if (ret < 0)
goto nodev_error;
- ret = si2165_readreg8(state, 0x0118, &state->chip_type);
+ ret = si2165_readreg8(state, REV_CHIP_TYPE, &state->chip_type);
if (ret < 0)
goto nodev_error;
/* powerdown */
- ret = si2165_writereg8(state, 0x0000, SI2165_MODE_OFF);
+ ret = si2165_writereg8(state, REG_CHIP_MODE, SI2165_MODE_OFF);
if (ret < 0)
goto nodev_error;
@@ -1107,18 +1243,18 @@ static int si2165_probe(struct i2c_client *client,
state->has_dvbc = true;
break;
default:
- dev_err(&state->client->dev, "%s: Unsupported Silicon Labs chip (type %d, rev %d)\n",
- KBUILD_MODNAME, state->chip_type, state->chip_revcode);
+ dev_err(&state->client->dev, "Unsupported Silicon Labs chip (type %d, rev %d)\n",
+ state->chip_type, state->chip_revcode);
goto nodev_error;
}
dev_info(&state->client->dev,
- "%s: Detected Silicon Labs %s-%c (type %d, rev %d)\n",
- KBUILD_MODNAME, chip_name, rev_char, state->chip_type,
+ "Detected Silicon Labs %s-%c (type %d, rev %d)\n",
+ chip_name, rev_char, state->chip_type,
state->chip_revcode);
strlcat(state->fe.ops.info.name, chip_name,
- sizeof(state->fe.ops.info.name));
+ sizeof(state->fe.ops.info.name));
n = 0;
if (state->has_dvbt) {
@@ -1173,9 +1309,6 @@ static struct i2c_driver si2165_driver = {
module_i2c_driver(si2165_driver);
-module_param(debug, int, 0644);
-MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off).");
-
MODULE_DESCRIPTION("Silicon Labs Si2165 DVB-C/-T Demodulator driver");
MODULE_AUTHOR("Matthias Schwarzott <zzam@gentoo.org>");
MODULE_LICENSE("GPL");
diff --git a/drivers/media/dvb-frontends/si2165.h b/drivers/media/dvb-frontends/si2165.h
index 76c2ca7d7edb..74a57b7ecd26 100644
--- a/drivers/media/dvb-frontends/si2165.h
+++ b/drivers/media/dvb-frontends/si2165.h
@@ -1,21 +1,22 @@
/*
- Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
-
- Copyright (C) 2013-2014 Matthias Schwarzott <zzam@gentoo.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- References:
- http://www.silabs.com/Support%20Documents/TechnicalDocs/Si2165-short.pdf
-*/
+ * Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
+ *
+ * Copyright (C) 2013-2017 Matthias Schwarzott <zzam@gentoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * References:
+ * http://www.silabs.com/Support%20Documents/TechnicalDocs/Si2165-short.pdf
+ *
+ */
#ifndef _DVB_SI2165_H
#define _DVB_SI2165_H
@@ -44,7 +45,7 @@ struct si2165_platform_data {
/* frequency of external clock or xtal in Hz
* possible values: 4000000, 16000000, 20000000, 240000000, 27000000
*/
- u32 ref_freq_Hz;
+ u32 ref_freq_hz;
/* invert the spectrum */
bool inversion;
diff --git a/drivers/media/dvb-frontends/si2165_priv.h b/drivers/media/dvb-frontends/si2165_priv.h
index e5932118834b..8c6fbfe441ff 100644
--- a/drivers/media/dvb-frontends/si2165_priv.h
+++ b/drivers/media/dvb-frontends/si2165_priv.h
@@ -1,19 +1,19 @@
/*
- Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
-
- Copyright (C) 2013-2014 Matthias Schwarzott <zzam@gentoo.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
-*/
+ * Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
+ *
+ * Copyright (C) 2013-2017 Matthias Schwarzott <zzam@gentoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
#ifndef _DVB_SI2165_PRIV
#define _DVB_SI2165_PRIV
@@ -22,7 +22,8 @@
struct si2165_config {
/* i2c addr
- * possible values: 0x64,0x65,0x66,0x67 */
+ * possible values: 0x64,0x65,0x66,0x67
+ */
u8 i2c_addr;
/* external clock or XTAL */
@@ -31,10 +32,89 @@ struct si2165_config {
/* frequency of external clock or xtal in Hz
* possible values: 4000000, 16000000, 20000000, 240000000, 27000000
*/
- u32 ref_freq_Hz;
+ u32 ref_freq_hz;
/* invert the spectrum */
bool inversion;
};
+#define STATISTICS_PERIOD_PKT_COUNT 30000u
+#define STATISTICS_PERIOD_BIT_COUNT (STATISTICS_PERIOD_PKT_COUNT * 204 * 8)
+
+#define REG_CHIP_MODE 0x0000
+#define REG_CHIP_REVCODE 0x0023
+#define REV_CHIP_TYPE 0x0118
+#define REG_CHIP_INIT 0x0050
+#define REG_INIT_DONE 0x0054
+#define REG_START_INIT 0x0096
+#define REG_PLL_DIVL 0x00a0
+#define REG_RST_ALL 0x00c0
+#define REG_LOCK_TIMEOUT 0x00c4
+#define REG_AUTO_RESET 0x00cb
+#define REG_OVERSAMP 0x00e4
+#define REG_IF_FREQ_SHIFT 0x00e8
+#define REG_DVB_STANDARD 0x00ec
+#define REG_DSP_CLOCK 0x0104
+#define REG_ADC_RI8 0x0123
+#define REG_ADC_RI1 0x012a
+#define REG_ADC_RI2 0x012b
+#define REG_ADC_RI3 0x012c
+#define REG_ADC_RI4 0x012d
+#define REG_ADC_RI5 0x012e
+#define REG_ADC_RI6 0x012f
+#define REG_AGC_CRESTF_DBX8 0x0150
+#define REG_AGC_UNFREEZE_THR 0x015b
+#define REG_AGC2_MIN 0x016e
+#define REG_AGC2_KACQ 0x016c
+#define REG_AGC2_KLOC 0x016d
+#define REG_AGC2_OUTPUT 0x0170
+#define REG_AGC2_CLKDIV 0x0171
+#define REG_AGC_IF_TRI 0x018b
+#define REG_AGC_IF_SLR 0x0190
+#define REG_AAF_CRESTF_DBX8 0x01a0
+#define REG_ACI_CRESTF_DBX8 0x01c8
+#define REG_SWEEP_STEP 0x0232
+#define REG_KP_LOCK 0x023a
+#define REG_UNKNOWN_24C 0x024c
+#define REG_CENTRAL_TAP 0x0261
+#define REG_C_N 0x026c
+#define REG_EQ_AUTO_CONTROL 0x0278
+#define REG_UNKNOWN_27C 0x027c
+#define REG_START_SYNCHRO 0x02e0
+#define REG_REQ_CONSTELLATION 0x02f4
+#define REG_T_BANDWIDTH 0x0308
+#define REG_FREQ_SYNC_RANGE 0x030c
+#define REG_IMPULSIVE_NOISE_REM 0x031c
+#define REG_WDOG_AND_BOOT 0x0341
+#define REG_PATCH_VERSION 0x0344
+#define REG_ADDR_JUMP 0x0348
+#define REG_UNKNOWN_350 0x0350
+#define REG_EN_RST_ERROR 0x035c
+#define REG_DCOM_CONTROL_BYTE 0x0364
+#define REG_DCOM_ADDR 0x0368
+#define REG_DCOM_DATA 0x036c
+#define REG_RST_CRC 0x0379
+#define REG_GP_REG0_LSB 0x0384
+#define REG_GP_REG0_MSB 0x0387
+#define REG_CRC 0x037a
+#define REG_CHECK_SIGNAL 0x03a8
+#define REG_CBER_RST 0x0424
+#define REG_CBER_BIT 0x0428
+#define REG_CBER_ERR 0x0430
+#define REG_CBER_AVAIL 0x0434
+#define REG_PS_LOCK 0x0440
+#define REG_UNCOR_CNT 0x0468
+#define REG_BER_RST 0x046c
+#define REG_BER_PKT 0x0470
+#define REG_BER_BIT 0x0478
+#define REG_BER_AVAIL 0x047c
+#define REG_FEC_LOCK 0x04e0
+#define REG_TS_DATA_MODE 0x04e4
+#define REG_TS_CLK_MODE 0x04e5
+#define REG_TS_TRI 0x04ef
+#define REG_TS_SLR 0x04f4
+#define REG_RSSI_ENABLE 0x0641
+#define REG_RSSI_PAD_CTRL 0x0646
+#define REG_TS_PARALLEL_MODE 0x08f8
+
#endif /* _DVB_SI2165_PRIV */
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 41d9c513b7e8..539399dac551 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -14,6 +14,8 @@
* GNU General Public License for more details.
*/
+#include <linux/delay.h>
+
#include "si2168_priv.h"
static const struct dvb_frontend_ops si2168_ops;
@@ -435,6 +437,7 @@ static int si2168_init(struct dvb_frontend *fe)
if (ret)
goto err;
+ udelay(100);
memcpy(cmd.args, "\x85", 1);
cmd.wlen = 1;
cmd.rlen = 1;
diff --git a/drivers/media/dvb-frontends/si2168_priv.h b/drivers/media/dvb-frontends/si2168_priv.h
index 737cf416fbb2..3c8746a20038 100644
--- a/drivers/media/dvb-frontends/si2168_priv.h
+++ b/drivers/media/dvb-frontends/si2168_priv.h
@@ -18,7 +18,7 @@
#define SI2168_PRIV_H
#include "si2168.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include <linux/firmware.h>
#include <linux/i2c-mux.h>
#include <linux/kernel.h>
diff --git a/drivers/media/dvb-frontends/si21xx.c b/drivers/media/dvb-frontends/si21xx.c
index 4e8c3ac4303f..9b32a1b3205e 100644
--- a/drivers/media/dvb-frontends/si21xx.c
+++ b/drivers/media/dvb-frontends/si21xx.c
@@ -16,7 +16,7 @@
#include <linux/jiffies.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "si21xx.h"
#define REVISION_REG 0x00
diff --git a/drivers/media/dvb-frontends/si21xx.h b/drivers/media/dvb-frontends/si21xx.h
index 43d480bb6ea2..12fa1d579820 100644
--- a/drivers/media/dvb-frontends/si21xx.h
+++ b/drivers/media/dvb-frontends/si21xx.h
@@ -3,7 +3,7 @@
#define SI21XX_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct si21xx_config {
/* the demodulator's i2c address */
diff --git a/drivers/media/dvb-frontends/sp2.h b/drivers/media/dvb-frontends/sp2.h
index 3901cd74b3f7..1bf60b80566f 100644
--- a/drivers/media/dvb-frontends/sp2.h
+++ b/drivers/media/dvb-frontends/sp2.h
@@ -17,7 +17,7 @@
#ifndef SP2_H
#define SP2_H
-#include "dvb_ca_en50221.h"
+#include <media/dvb_ca_en50221.h>
/*
* I2C address
diff --git a/drivers/media/dvb-frontends/sp2_priv.h b/drivers/media/dvb-frontends/sp2_priv.h
index 37fef7bcd63f..c9ee53073ec0 100644
--- a/drivers/media/dvb-frontends/sp2_priv.h
+++ b/drivers/media/dvb-frontends/sp2_priv.h
@@ -18,7 +18,7 @@
#define SP2_PRIV_H
#include "sp2.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/* state struct */
struct sp2 {
diff --git a/drivers/media/dvb-frontends/sp8870.c b/drivers/media/dvb-frontends/sp8870.c
index 04454cb78467..9a726f3a4896 100644
--- a/drivers/media/dvb-frontends/sp8870.c
+++ b/drivers/media/dvb-frontends/sp8870.c
@@ -35,7 +35,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "sp8870.h"
diff --git a/drivers/media/dvb-frontends/sp887x.c b/drivers/media/dvb-frontends/sp887x.c
index d2c402b52c6e..572a297811fe 100644
--- a/drivers/media/dvb-frontends/sp887x.c
+++ b/drivers/media/dvb-frontends/sp887x.c
@@ -17,7 +17,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "sp887x.h"
diff --git a/drivers/media/dvb-frontends/stb0899_algo.c b/drivers/media/dvb-frontends/stb0899_algo.c
index 3012f196e9bd..bd2defde7a77 100644
--- a/drivers/media/dvb-frontends/stb0899_algo.c
+++ b/drivers/media/dvb-frontends/stb0899_algo.c
@@ -925,8 +925,7 @@ static void stb0899_dvbs2_set_btr_loopbw(struct stb0899_state *state)
wn = (4 * zeta * zeta) + 1000000;
wn = (2 * (loopbw_percent * 1000) * 40 * zeta) /wn; /*wn =wn 10^-8*/
- k_indirect = (wn * wn) / K;
- k_indirect = k_indirect; /*kindirect = kindirect 10^-6*/
+ k_indirect = (wn * wn) / K; /*kindirect = kindirect 10^-6*/
k_direct = (2 * wn * zeta) / K; /*kDirect = kDirect 10^-2*/
k_direct *= 100;
diff --git a/drivers/media/dvb-frontends/stb0899_drv.c b/drivers/media/dvb-frontends/stb0899_drv.c
index 02347598277a..3c654ae16e78 100644
--- a/drivers/media/dvb-frontends/stb0899_drv.c
+++ b/drivers/media/dvb-frontends/stb0899_drv.c
@@ -27,7 +27,7 @@
#include <linux/string.h>
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stb0899_drv.h"
#include "stb0899_priv.h"
@@ -539,7 +539,8 @@ int stb0899_write_regs(struct stb0899_state *state, unsigned int reg, u8 *data,
int stb0899_write_reg(struct stb0899_state *state, unsigned int reg, u8 data)
{
- return stb0899_write_regs(state, reg, &data, 1);
+ u8 tmp = data;
+ return stb0899_write_regs(state, reg, &tmp, 1);
}
/*
@@ -1582,15 +1583,15 @@ static enum dvbfe_algo stb0899_frontend_algo(struct dvb_frontend *fe)
static const struct dvb_frontend_ops stb0899_ops = {
.delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
.info = {
- .name = "STB0899 Multistandard",
+ .name = "STB0899 Multistandard",
.frequency_min = 950000,
- .frequency_max = 2150000,
+ .frequency_max = 2150000,
.frequency_stepsize = 0,
.frequency_tolerance = 0,
- .symbol_rate_min = 5000000,
- .symbol_rate_max = 45000000,
+ .symbol_rate_min = 5000000,
+ .symbol_rate_max = 45000000,
- .caps = FE_CAN_INVERSION_AUTO |
+ .caps = FE_CAN_INVERSION_AUTO |
FE_CAN_FEC_AUTO |
FE_CAN_2G_MODULATION |
FE_CAN_QPSK
diff --git a/drivers/media/dvb-frontends/stb0899_drv.h b/drivers/media/dvb-frontends/stb0899_drv.h
index 0a72131a57db..f65f9a8266f8 100644
--- a/drivers/media/dvb-frontends/stb0899_drv.h
+++ b/drivers/media/dvb-frontends/stb0899_drv.h
@@ -25,7 +25,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define STB0899_TSMODE_SERIAL 1
#define STB0899_CLKPOL_FALLING 2
@@ -82,7 +82,7 @@ enum stb0899_inversion {
* 1. POWER ON/OFF (index 0)
* 2. FE_HAS_LOCK/LOCK_LOSS (index 1)
*
- * @gpio = one of the above listed GPIO's
+ * @gpio = one of the above listed GPIO's
* @level = output state: pulled up or low
*/
struct stb0899_postproc {
diff --git a/drivers/media/dvb-frontends/stb0899_priv.h b/drivers/media/dvb-frontends/stb0899_priv.h
index 82395b912815..3285cd1ba60a 100644
--- a/drivers/media/dvb-frontends/stb0899_priv.h
+++ b/drivers/media/dvb-frontends/stb0899_priv.h
@@ -22,7 +22,7 @@
#ifndef __STB0899_PRIV_H
#define __STB0899_PRIV_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stb0899_drv.h"
#define FE_ERROR 0
@@ -252,7 +252,7 @@ extern int stb0899_write_s2reg(struct stb0899_state *state,
extern int stb0899_i2c_gate_ctrl(struct dvb_frontend *fe, int enable);
-#define STB0899_READ_S2REG(DEVICE, REG) (_stb0899_read_s2reg(state, DEVICE, STB0899_BASE_##REG, STB0899_OFF0_##REG))
+#define STB0899_READ_S2REG(DEVICE, REG) (_stb0899_read_s2reg(state, DEVICE, STB0899_BASE_##REG, STB0899_OFF0_##REG))
//#define STB0899_WRITE_S2REG(DEVICE, REG, DATA) (_stb0899_write_s2reg(state, DEVICE, STB0899_BASE_##REG, STB0899_OFF0_##REG, DATA))
/* stb0899_algo.c */
diff --git a/drivers/media/dvb-frontends/stb6000.h b/drivers/media/dvb-frontends/stb6000.h
index e94a3d5facf6..1adda72379ff 100644
--- a/drivers/media/dvb-frontends/stb6000.h
+++ b/drivers/media/dvb-frontends/stb6000.h
@@ -24,7 +24,7 @@
#define __DVB_STB6000_H__
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#if IS_REACHABLE(CONFIG_DVB_STB6000)
/**
diff --git a/drivers/media/dvb-frontends/stb6100.c b/drivers/media/dvb-frontends/stb6100.c
index 17a955d0031b..3a851f524b16 100644
--- a/drivers/media/dvb-frontends/stb6100.c
+++ b/drivers/media/dvb-frontends/stb6100.c
@@ -25,7 +25,7 @@
#include <linux/slab.h>
#include <linux/string.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stb6100.h"
static unsigned int verbose;
@@ -226,12 +226,14 @@ static int stb6100_write_reg_range(struct stb6100_state *state, u8 buf[], int st
static int stb6100_write_reg(struct stb6100_state *state, u8 reg, u8 data)
{
+ u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
if (unlikely(reg >= STB6100_NUMREGS)) {
dprintk(verbose, FE_ERROR, 1, "Invalid register offset 0x%x", reg);
return -EREMOTEIO;
}
- data = (data & stb6100_template[reg].mask) | stb6100_template[reg].set;
- return stb6100_write_reg_range(state, &data, reg, 1);
+ tmp = (tmp & stb6100_template[reg].mask) | stb6100_template[reg].set;
+ return stb6100_write_reg_range(state, &tmp, reg, 1);
}
diff --git a/drivers/media/dvb-frontends/stb6100.h b/drivers/media/dvb-frontends/stb6100.h
index f7b468b6dc26..6cdae688a23e 100644
--- a/drivers/media/dvb-frontends/stb6100.h
+++ b/drivers/media/dvb-frontends/stb6100.h
@@ -23,7 +23,7 @@
#define __STB_6100_REG_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define STB6100_LD 0x00
#define STB6100_LD_LOCK (1 << 0)
diff --git a/drivers/media/dvb-frontends/stb6100_cfg.h b/drivers/media/dvb-frontends/stb6100_cfg.h
index 2ef67aa768b9..203f9b36c0eb 100644
--- a/drivers/media/dvb-frontends/stb6100_cfg.h
+++ b/drivers/media/dvb-frontends/stb6100_cfg.h
@@ -20,7 +20,7 @@
*/
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
static int stb6100_get_frequency(struct dvb_frontend *fe, u32 *frequency)
{
diff --git a/drivers/media/dvb-frontends/stb6100_proc.h b/drivers/media/dvb-frontends/stb6100_proc.h
index 50ffa21e3871..fad877b2fc7d 100644
--- a/drivers/media/dvb-frontends/stb6100_proc.h
+++ b/drivers/media/dvb-frontends/stb6100_proc.h
@@ -18,7 +18,7 @@
*/
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
static int stb6100_get_freq(struct dvb_frontend *fe, u32 *frequency)
{
diff --git a/drivers/media/dvb-frontends/stv0288.c b/drivers/media/dvb-frontends/stv0288.c
index 67f91814b9f7..f947ed947aae 100644
--- a/drivers/media/dvb-frontends/stv0288.c
+++ b/drivers/media/dvb-frontends/stv0288.c
@@ -33,7 +33,7 @@
#include <linux/jiffies.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv0288.h"
struct stv0288_state {
diff --git a/drivers/media/dvb-frontends/stv0288.h b/drivers/media/dvb-frontends/stv0288.h
index 803acb917282..c10227aaa62c 100644
--- a/drivers/media/dvb-frontends/stv0288.h
+++ b/drivers/media/dvb-frontends/stv0288.h
@@ -28,7 +28,7 @@
#define STV0288_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct stv0288_config {
/* the demodulator's i2c address */
diff --git a/drivers/media/dvb-frontends/stv0297.c b/drivers/media/dvb-frontends/stv0297.c
index db94d4d109f9..b823c04e24d3 100644
--- a/drivers/media/dvb-frontends/stv0297.c
+++ b/drivers/media/dvb-frontends/stv0297.c
@@ -27,7 +27,7 @@
#include <linux/jiffies.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv0297.h"
struct stv0297_state {
diff --git a/drivers/media/dvb-frontends/stv0297.h b/drivers/media/dvb-frontends/stv0297.h
index b30632a67333..8fa5ac700fc3 100644
--- a/drivers/media/dvb-frontends/stv0297.h
+++ b/drivers/media/dvb-frontends/stv0297.h
@@ -22,7 +22,7 @@
#define STV0297_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct stv0297_config
{
diff --git a/drivers/media/dvb-frontends/stv0299.c b/drivers/media/dvb-frontends/stv0299.c
index b1f3d675d316..633b90e6fe86 100644
--- a/drivers/media/dvb-frontends/stv0299.c
+++ b/drivers/media/dvb-frontends/stv0299.c
@@ -51,7 +51,7 @@
#include <linux/jiffies.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv0299.h"
struct stv0299_state {
diff --git a/drivers/media/dvb-frontends/stv0299.h b/drivers/media/dvb-frontends/stv0299.h
index 0aca30a8ec25..700c124a1699 100644
--- a/drivers/media/dvb-frontends/stv0299.h
+++ b/drivers/media/dvb-frontends/stv0299.h
@@ -46,7 +46,7 @@
#define STV0299_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define STV0299_LOCKOUTPUT_0 0
#define STV0299_LOCKOUTPUT_1 1
diff --git a/drivers/media/dvb-frontends/stv0367.c b/drivers/media/dvb-frontends/stv0367.c
index f3529df8211d..5435c908e298 100644
--- a/drivers/media/dvb-frontends/stv0367.c
+++ b/drivers/media/dvb-frontends/stv0367.c
@@ -25,7 +25,7 @@
#include <linux/slab.h>
#include <linux/i2c.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
#include "stv0367.h"
#include "stv0367_defs.h"
@@ -166,7 +166,9 @@ int stv0367_writeregs(struct stv0367_state *state, u16 reg, u8 *data, int len)
static int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data)
{
- return stv0367_writeregs(state, reg, &data, 1);
+ u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return stv0367_writeregs(state, reg, &tmp, 1);
}
static u8 stv0367_readreg(struct stv0367_state *state, u16 reg)
@@ -1547,7 +1549,6 @@ static int stv0367ter_read_ber(struct dvb_frontend *fe, u32 *ber)
} else if (abc == 0x7) {
if (Errors <= 4) {
temporary = (Errors * 1000000000) / (8 * (1 << 14));
- temporary = temporary;
} else if (Errors <= 42) {
temporary = (Errors * 100000000) / (8 * (1 << 14));
temporary = temporary * 10;
@@ -1625,7 +1626,6 @@ static u32 stv0367ter_get_per(struct stv0367_state *state)
else if (abc == 0x9) {
if (Errors <= 4) {
temporary = (Errors * 1000000000) / (8 * (1 << 8));
- temporary = temporary;
} else if (Errors <= 42) {
temporary = (Errors * 100000000) / (8 * (1 << 8));
temporary = temporary * 10;
diff --git a/drivers/media/dvb-frontends/stv0367.h b/drivers/media/dvb-frontends/stv0367.h
index 8f7a31481744..14a50ecef6dd 100644
--- a/drivers/media/dvb-frontends/stv0367.h
+++ b/drivers/media/dvb-frontends/stv0367.h
@@ -23,7 +23,7 @@
#define STV0367_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define STV0367_ICSPEED_53125 53125000
#define STV0367_ICSPEED_58000 58000000
diff --git a/drivers/media/dvb-frontends/stv0900.h b/drivers/media/dvb-frontends/stv0900.h
index 1571a465e05c..5dbe1e550fe5 100644
--- a/drivers/media/dvb-frontends/stv0900.h
+++ b/drivers/media/dvb-frontends/stv0900.h
@@ -23,7 +23,7 @@
#define STV0900_H
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct stv0900_reg {
u16 addr;
diff --git a/drivers/media/dvb-frontends/stv0900_core.c b/drivers/media/dvb-frontends/stv0900_core.c
index 0b739725e3c0..72f17b97ca04 100644
--- a/drivers/media/dvb-frontends/stv0900_core.c
+++ b/drivers/media/dvb-frontends/stv0900_core.c
@@ -1929,7 +1929,7 @@ struct dvb_frontend *stv0900_attach(const struct stv0900_config *config,
switch (demod) {
case 0:
case 1:
- init_params.dmd_ref_clk = config->xtal;
+ init_params.dmd_ref_clk = config->xtal;
init_params.demod_mode = config->demod_mode;
init_params.rolloff = STV0900_35;
init_params.path1_ts_clock = config->path1_mode;
diff --git a/drivers/media/dvb-frontends/stv0900_init.h b/drivers/media/dvb-frontends/stv0900_init.h
index 411941442086..550ef4a0f654 100644
--- a/drivers/media/dvb-frontends/stv0900_init.h
+++ b/drivers/media/dvb-frontends/stv0900_init.h
@@ -148,8 +148,8 @@ struct stv0900_short_frames_car_loop_optim_vs_mod {
/* Cut 1.x Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = {
- /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_QPSK_12, 0x1C, 0x0D, 0x1B, 0x2C, 0x3A,
0x1C, 0x2A, 0x3B, 0x2A, 0x1B },
{ STV0900_QPSK_35, 0x2C, 0x0D, 0x2B, 0x2C, 0x3A,
@@ -176,15 +176,15 @@ static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = {
0x0B, 0x39, 0x1A, 0x19, 0x0A },
{ STV0900_8PSK_89, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A,
0x0B, 0x39, 0x1A, 0x29, 0x39 },
- { STV0900_8PSK_910, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A,
+ { STV0900_8PSK_910, 0x3B, 0x3B, 0x0B, 0x2B, 0x2A,
0x0B, 0x39, 0x1A, 0x29, 0x39 }
};
/* Cut 2.0 Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = {
- /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_QPSK_12, 0x1F, 0x3F, 0x1E, 0x3F, 0x3D,
0x1F, 0x3D, 0x3E, 0x3D, 0x1E },
{ STV0900_QPSK_35, 0x2F, 0x3F, 0x2E, 0x2F, 0x3D,
@@ -211,7 +211,7 @@ static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = {
0x1e, 0x3c, 0x2d, 0x2c, 0x1d },
{ STV0900_8PSK_89, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d,
0x1e, 0x0d, 0x2d, 0x3c, 0x1d },
- { STV0900_8PSK_910, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d,
+ { STV0900_8PSK_910, 0x3e, 0x3e, 0x1e, 0x2e, 0x3d,
0x1e, 0x1d, 0x2d, 0x0d, 0x1d },
};
@@ -219,8 +219,8 @@ static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = {
/* Cut 2.0 Tracking carrier loop carrier 16APSK 2/3 to 32APSK 9/10 long Frame */
static const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = {
- /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_16APSK_23, 0x0C, 0x0C, 0x0C, 0x0C, 0x1D,
0x0C, 0x3C, 0x0C, 0x2C, 0x0C },
{ STV0900_16APSK_34, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E,
@@ -248,8 +248,8 @@ static const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = {
/* Cut 2.0 Tracking carrier loop carrier QPSK 1/4 to QPSK 2/5 long Frame */
static const struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut20[3] = {
- /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /* Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_QPSK_14, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D,
0x2F, 0x2D, 0x1F, 0x3D, 0x3E },
{ STV0900_QPSK_13, 0x0F, 0x3F, 0x0E, 0x3F, 0x2D,
@@ -275,10 +275,10 @@ struct stv0900_short_frames_car_loop_optim FE_STV0900_S2ShortCarLoop[4] = {
};
static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut30[14] = {
- /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_QPSK_12, 0x3C, 0x2C, 0x0C, 0x2C, 0x1B,
- 0x2C, 0x1B, 0x1C, 0x0B, 0x3B },
+ 0x2C, 0x1B, 0x1C, 0x0B, 0x3B },
{ STV0900_QPSK_35, 0x0D, 0x0D, 0x0C, 0x0D, 0x1B,
0x3C, 0x1B, 0x1C, 0x0B, 0x3B },
{ STV0900_QPSK_23, 0x1D, 0x0D, 0x0C, 0x1D, 0x2B,
@@ -309,8 +309,8 @@ static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut30[14] = {
static const
struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut30[11] = {
- /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
+ /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff */
{ STV0900_16APSK_23, 0x0A, 0x0A, 0x0A, 0x0A, 0x1A,
0x0A, 0x3A, 0x0A, 0x2A, 0x0A },
{ STV0900_16APSK_34, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B,
@@ -337,8 +337,8 @@ struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut30[11] = {
static const
struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut30[3] = {
- /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
- 10MPoff 20MPon 20MPoff 30MPon 30MPoff*/
+ /*Modcod 2MPon 2MPoff 5MPon 5MPoff 10MPon
+ 10MPoff 20MPon 20MPoff 30MPon 30MPoff*/
{ STV0900_QPSK_14, 0x0C, 0x3C, 0x0B, 0x3C, 0x2A,
0x2C, 0x2A, 0x1C, 0x3A, 0x3B },
{ STV0900_QPSK_13, 0x0C, 0x3C, 0x0B, 0x3C, 0x2A,
diff --git a/drivers/media/dvb-frontends/stv0900_priv.h b/drivers/media/dvb-frontends/stv0900_priv.h
index 7a95f955627b..d1fc06ff27d3 100644
--- a/drivers/media/dvb-frontends/stv0900_priv.h
+++ b/drivers/media/dvb-frontends/stv0900_priv.h
@@ -243,7 +243,7 @@ struct stv0900_init_params{
u8 tun1_maddress;
int tuner1_adc;
- int tuner1_type;
+ int tuner1_type;
/* IQ from the tuner1 to the demod */
enum stv0900_iq_inversion tun1_iq_inv;
diff --git a/drivers/media/dvb-frontends/stv090x.c b/drivers/media/dvb-frontends/stv090x.c
index 7ef469c0c866..9133f65d4623 100644
--- a/drivers/media/dvb-frontends/stv090x.c
+++ b/drivers/media/dvb-frontends/stv090x.c
@@ -27,7 +27,7 @@
#include <linux/mutex.h>
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv6110x.h" /* for demodulator internal modes */
@@ -677,7 +677,7 @@ static struct stv090x_short_frame_crloop stv090x_s2_short_crl_cut20[] = {
/* Cut 3.0 Short Frame Tracking CR Loop */
static struct stv090x_short_frame_crloop stv090x_s2_short_crl_cut30[] = {
- /* MODCOD 2M 5M 10M 20M 30M */
+ /* MODCOD 2M 5M 10M 20M 30M */
{ STV090x_QPSK, 0x2C, 0x2B, 0x0B, 0x0B, 0x3A },
{ STV090x_8PSK, 0x3B, 0x0B, 0x2A, 0x0A, 0x39 },
{ STV090x_16APSK, 0x1B, 0x1B, 0x1B, 0x3A, 0x2A },
@@ -701,7 +701,7 @@ static int stv090x_read_reg(struct stv090x_state *state, unsigned int reg)
u8 buf;
struct i2c_msg msg[] = {
- { .addr = config->address, .flags = 0, .buf = b0, .len = 2 },
+ { .addr = config->address, .flags = 0, .buf = b0, .len = 2 },
{ .addr = config->address, .flags = I2C_M_RD, .buf = &buf, .len = 1 }
};
@@ -755,7 +755,9 @@ static int stv090x_write_regs(struct stv090x_state *state, unsigned int reg, u8
static int stv090x_write_reg(struct stv090x_state *state, unsigned int reg, u8 data)
{
- return stv090x_write_regs(state, reg, &data, 1);
+ u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return stv090x_write_regs(state, reg, &tmp, 1);
}
static int stv090x_i2c_gate_ctrl(struct stv090x_state *state, int enable)
@@ -2215,13 +2217,12 @@ static int stv090x_get_coldlock(struct stv090x_state *state, s32 timeout_dmd)
if (state->config->tuner_get_status) {
if (state->config->tuner_get_status(fe, &reg) < 0)
goto err_gateoff;
+ if (reg)
+ dprintk(FE_DEBUG, 1, "Tuner phase locked");
+ else
+ dprintk(FE_DEBUG, 1, "Tuner unlocked");
}
- if (reg)
- dprintk(FE_DEBUG, 1, "Tuner phase locked");
- else
- dprintk(FE_DEBUG, 1, "Tuner unlocked");
-
if (stv090x_i2c_gate_ctrl(state, 0) < 0)
goto err;
@@ -3429,6 +3430,21 @@ err:
return -1;
}
+static int stv090x_set_pls(struct stv090x_state *state, u32 pls_code)
+{
+ dprintk(FE_DEBUG, 1, "Set Gold PLS code %d", pls_code);
+ if (STV090x_WRITE_DEMOD(state, PLROOT0, pls_code & 0xff) < 0)
+ goto err;
+ if (STV090x_WRITE_DEMOD(state, PLROOT1, (pls_code >> 8) & 0xff) < 0)
+ goto err;
+ if (STV090x_WRITE_DEMOD(state, PLROOT2, 0x04 | (pls_code >> 16)) < 0)
+ goto err;
+ return 0;
+err:
+ dprintk(FE_ERROR, 1, "I/O error");
+ return -1;
+}
+
static int stv090x_set_mis(struct stv090x_state *state, int mis)
{
u32 reg;
@@ -3491,6 +3507,7 @@ static enum dvbfe_search stv090x_search(struct dvb_frontend *fe)
state->search_range = 5000000;
}
+ stv090x_set_pls(state, props->scrambling_sequence_index);
stv090x_set_mis(state, props->stream_id);
if (stv090x_algo(state) == STV090x_RANGEOK) {
@@ -4889,11 +4906,11 @@ static const struct dvb_frontend_ops stv090x_ops = {
.info = {
.name = "STV090x Multistandard",
.frequency_min = 950000,
- .frequency_max = 2150000,
+ .frequency_max = 2150000,
.frequency_stepsize = 0,
.frequency_tolerance = 0,
- .symbol_rate_min = 1000000,
- .symbol_rate_max = 45000000,
+ .symbol_rate_min = 1000000,
+ .symbol_rate_max = 45000000,
.caps = FE_CAN_INVERSION_AUTO |
FE_CAN_FEC_AUTO |
FE_CAN_QPSK |
@@ -4936,7 +4953,7 @@ struct dvb_frontend *stv090x_attach(struct stv090x_config *config,
state->frontend.ops = stv090x_ops;
state->frontend.demodulator_priv = state;
state->demod = demod;
- state->demod_mode = config->demod_mode; /* Single or Dual mode */
+ state->demod_mode = config->demod_mode; /* Single or Dual mode */
state->device = config->device;
state->rolloff = STV090x_RO_35; /* default */
diff --git a/drivers/media/dvb-frontends/stv090x_priv.h b/drivers/media/dvb-frontends/stv090x_priv.h
index 5b780c80d496..fdda2185db9d 100644
--- a/drivers/media/dvb-frontends/stv090x_priv.h
+++ b/drivers/media/dvb-frontends/stv090x_priv.h
@@ -22,7 +22,7 @@
#ifndef __STV090x_PRIV_H
#define __STV090x_PRIV_H
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#define FE_ERROR 0
#define FE_NOTICE 1
@@ -231,7 +231,7 @@ struct stv090x_tab {
};
struct stv090x_internal {
- struct i2c_adapter *i2c_adap;
+ struct i2c_adapter *i2c_adap;
u8 i2c_addr;
struct mutex demod_lock; /* Lock access to shared register */
diff --git a/drivers/media/dvb-frontends/stv0910.c b/drivers/media/dvb-frontends/stv0910.c
index 8bf855c301f5..a2f7c0c1587f 100644
--- a/drivers/media/dvb-frontends/stv0910.c
+++ b/drivers/media/dvb-frontends/stv0910.c
@@ -24,8 +24,7 @@
#include <linux/i2c.h>
#include <asm/div64.h>
-#include "dvb_math.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv0910.h"
#include "stv0910_regs.h"
@@ -138,33 +137,21 @@ struct slookup {
u32 reg_value;
};
-static inline int i2c_write(struct i2c_adapter *adap, u8 adr,
- u8 *data, int len)
+static int write_reg(struct stv *state, u16 reg, u8 val)
{
- struct i2c_msg msg = {.addr = adr, .flags = 0,
- .buf = data, .len = len};
+ struct i2c_adapter *adap = state->base->i2c;
+ u8 data[3] = {reg >> 8, reg & 0xff, val};
+ struct i2c_msg msg = {.addr = state->base->adr, .flags = 0,
+ .buf = data, .len = 3};
if (i2c_transfer(adap, &msg, 1) != 1) {
dev_warn(&adap->dev, "i2c write error ([%02x] %04x: %02x)\n",
- adr, (data[0] << 8) | data[1],
- (len > 2 ? data[2] : 0));
- return -EREMOTEIO;
+ state->base->adr, reg, val);
+ return -EIO;
}
return 0;
}
-static int i2c_write_reg16(struct i2c_adapter *adap, u8 adr, u16 reg, u8 val)
-{
- u8 msg[3] = {reg >> 8, reg & 0xff, val};
-
- return i2c_write(adap, adr, msg, 3);
-}
-
-static int write_reg(struct stv *state, u16 reg, u8 val)
-{
- return i2c_write_reg16(state->base->i2c, state->base->adr, reg, val);
-}
-
static inline int i2c_read_regs16(struct i2c_adapter *adapter, u8 adr,
u16 reg, u8 *val, int count)
{
@@ -177,7 +164,7 @@ static inline int i2c_read_regs16(struct i2c_adapter *adapter, u8 adr,
if (i2c_transfer(adapter, msgs, 2) != 2) {
dev_warn(&adapter->dev, "i2c read error ([%02x] %04x)\n",
adr, reg);
- return -EREMOTEIO;
+ return -EIO;
}
return 0;
}
@@ -207,6 +194,34 @@ static int write_shared_reg(struct stv *state, u16 reg, u8 mask, u8 val)
return status;
}
+static int write_field(struct stv *state, u32 field, u8 val)
+{
+ int status;
+ u8 shift, mask, old, new;
+
+ status = read_reg(state, field >> 16, &old);
+ if (status)
+ return status;
+ mask = field & 0xff;
+ shift = (field >> 12) & 0xf;
+ new = ((val << shift) & mask) | (old & ~mask);
+ if (new == old)
+ return 0;
+ return write_reg(state, field >> 16, new);
+}
+
+#define SET_FIELD(_reg, _val) \
+ write_field(state, state->nr ? FSTV0910_P2_##_reg : \
+ FSTV0910_P1_##_reg, _val)
+
+#define SET_REG(_reg, _val) \
+ write_reg(state, state->nr ? RSTV0910_P2_##_reg : \
+ RSTV0910_P1_##_reg, _val)
+
+#define GET_REG(_reg, _val) \
+ read_reg(state, state->nr ? RSTV0910_P2_##_reg : \
+ RSTV0910_P1_##_reg, _val)
+
static const struct slookup s1_sn_lookup[] = {
{ 0, 9242 }, /* C/N= 0dB */
{ 5, 9105 }, /* C/N= 0.5dB */
@@ -533,10 +548,8 @@ static int get_signal_parameters(struct stv *state)
static int tracking_optimization(struct stv *state)
{
- u32 symbol_rate = 0;
u8 tmp;
- get_cur_symbol_rate(state, &symbol_rate);
read_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, &tmp);
tmp &= ~0xC0;
@@ -867,71 +880,90 @@ static int stop(struct stv *state)
return 0;
}
-static int init_search_param(struct stv *state)
+static void set_pls(struct stv *state, u32 pls_code)
{
- u8 tmp;
-
- read_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, &tmp);
- tmp |= 0x20; /* Filter_en (no effect if SIS=non-MIS */
- write_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, tmp);
-
- read_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, &tmp);
- tmp &= ~0x02; /* frame mode = 0 */
- write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, tmp);
-
- write_reg(state, RSTV0910_P2_UPLCCST0 + state->regoff, 0xe0);
- write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0x00);
-
- read_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, &tmp);
- tmp &= ~0x01; /* nosync = 0, in case next signal is standard TS */
- write_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, tmp);
-
- read_reg(state, RSTV0910_P2_TSCFGL + state->regoff, &tmp);
- tmp &= ~0x04; /* embindvb = 0 */
- write_reg(state, RSTV0910_P2_TSCFGL + state->regoff, tmp);
-
- read_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, &tmp);
- tmp &= ~0x80; /* syncbyte = 0 */
- write_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, tmp);
-
- read_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, &tmp);
- tmp &= ~0x08; /* token = 0 */
- write_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, tmp);
+ if (pls_code == state->cur_scrambling_code)
+ return;
+
+ /* PLROOT2 bit 2 = gold code */
+ write_reg(state, RSTV0910_P2_PLROOT0 + state->regoff,
+ pls_code & 0xff);
+ write_reg(state, RSTV0910_P2_PLROOT1 + state->regoff,
+ (pls_code >> 8) & 0xff);
+ write_reg(state, RSTV0910_P2_PLROOT2 + state->regoff,
+ 0x04 | ((pls_code >> 16) & 0x03));
+ state->cur_scrambling_code = pls_code;
+}
- read_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, &tmp);
- tmp &= ~0x30; /* hysteresis threshold = 0 */
- write_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, tmp);
+static void set_isi(struct stv *state, u32 isi)
+{
+ if (isi == NO_STREAM_ID_FILTER)
+ return;
+ if (isi == 0x80000000) {
+ SET_FIELD(FORCE_CONTINUOUS, 1);
+ SET_FIELD(TSOUT_NOSYNC, 1);
+ } else {
+ SET_FIELD(FILTER_EN, 1);
+ write_reg(state, RSTV0910_P2_ISIENTRY + state->regoff,
+ isi & 0xff);
+ write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0xff);
+ }
+ SET_FIELD(ALGOSWRST, 1);
+ SET_FIELD(ALGOSWRST, 0);
+}
- read_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, &tmp);
- tmp = (tmp & ~0x30) | 0x10; /* isi obs mode = 1, observe min ISI */
- write_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, tmp);
+static void set_stream_modes(struct stv *state,
+ struct dtv_frontend_properties *p)
+{
+ set_isi(state, p->stream_id);
+ set_pls(state, p->scrambling_sequence_index);
+}
+static int init_search_param(struct stv *state,
+ struct dtv_frontend_properties *p)
+{
+ SET_FIELD(FORCE_CONTINUOUS, 0);
+ SET_FIELD(FRAME_MODE, 0);
+ SET_FIELD(FILTER_EN, 0);
+ SET_FIELD(TSOUT_NOSYNC, 0);
+ SET_FIELD(TSFIFO_EMBINDVB, 0);
+ SET_FIELD(TSDEL_SYNCBYTE, 0);
+ SET_REG(UPLCCST0, 0xe0);
+ SET_FIELD(TSINS_TOKEN, 0);
+ SET_FIELD(HYSTERESIS_THRESHOLD, 0);
+ SET_FIELD(ISIOBS_MODE, 1);
+
+ set_stream_modes(state, p);
return 0;
}
static int enable_puncture_rate(struct stv *state, enum fe_code_rate rate)
{
+ u8 val;
+
switch (rate) {
case FEC_1_2:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x01);
+ val = 0x01;
+ break;
case FEC_2_3:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x02);
+ val = 0x02;
+ break;
case FEC_3_4:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x04);
+ val = 0x04;
+ break;
case FEC_5_6:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x08);
+ val = 0x08;
+ break;
case FEC_7_8:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x20);
+ val = 0x20;
+ break;
case FEC_NONE:
default:
- return write_reg(state,
- RSTV0910_P2_PRVIT + state->regoff, 0x2f);
+ val = 0x2f;
+ break;
}
+
+ return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, val);
}
static int set_vth_default(struct stv *state)
@@ -988,7 +1020,6 @@ static int start(struct stv *state, struct dtv_frontend_properties *p)
s32 freq;
u8 reg_dmdcfgmd;
u16 symb;
- u32 scrambling_code = 1;
if (p->symbol_rate < 100000 || p->symbol_rate > 70000000)
return -EINVAL;
@@ -1000,30 +1031,7 @@ static int start(struct stv *state, struct dtv_frontend_properties *p)
if (state->started)
write_reg(state, RSTV0910_P2_DMDISTATE + state->regoff, 0x5C);
- init_search_param(state);
-
- if (p->stream_id != NO_STREAM_ID_FILTER) {
- /*
- * Backwards compatibility to "crazy" API.
- * PRBS X root cannot be 0, so this should always work.
- */
- if (p->stream_id & 0xffffff00)
- scrambling_code = p->stream_id >> 8;
- write_reg(state, RSTV0910_P2_ISIENTRY + state->regoff,
- p->stream_id & 0xff);
- write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff,
- 0xff);
- }
-
- if (scrambling_code != state->cur_scrambling_code) {
- write_reg(state, RSTV0910_P2_PLROOT0 + state->regoff,
- scrambling_code & 0xff);
- write_reg(state, RSTV0910_P2_PLROOT1 + state->regoff,
- (scrambling_code >> 8) & 0xff);
- write_reg(state, RSTV0910_P2_PLROOT2 + state->regoff,
- (scrambling_code >> 16) & 0x0f);
- state->cur_scrambling_code = scrambling_code;
- }
+ init_search_param(state, p);
if (p->symbol_rate <= 1000000) { /* SR <=1Msps */
state->demod_timeout = 3000;
@@ -1241,7 +1249,8 @@ static int gate_ctrl(struct dvb_frontend *fe, int enable)
if (write_reg(state, state->nr ? RSTV0910_P2_I2CRPT :
RSTV0910_P1_I2CRPT, i2crpt) < 0) {
/* don't hold the I2C bus lock on failure */
- mutex_unlock(&state->base->i2c_lock);
+ if (!WARN_ON(!mutex_is_locked(&state->base->i2c_lock)))
+ mutex_unlock(&state->base->i2c_lock);
dev_err(&state->base->i2c->dev,
"%s() write_reg failure (enable=%d)\n",
__func__, enable);
@@ -1251,7 +1260,8 @@ static int gate_ctrl(struct dvb_frontend *fe, int enable)
state->i2crpt = i2crpt;
if (!enable)
- mutex_unlock(&state->base->i2c_lock);
+ if (!WARN_ON(!mutex_is_locked(&state->base->i2c_lock)))
+ mutex_unlock(&state->base->i2c_lock);
return 0;
}
@@ -1271,14 +1281,11 @@ static int set_parameters(struct dvb_frontend *fe)
{
int stat = 0;
struct stv *state = fe->demodulator_priv;
- u32 iffreq;
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
stop(state);
if (fe->ops.tuner_ops.set_params)
fe->ops.tuner_ops.set_params(fe);
- if (fe->ops.tuner_ops.get_if_frequency)
- fe->ops.tuner_ops.get_if_frequency(fe, &iffreq);
state->symbol_rate = p->symbol_rate;
stat = start(state, p);
return stat;
@@ -1498,6 +1505,19 @@ static int read_status(struct dvb_frontend *fe, enum fe_status *status)
enable_puncture_rate(state,
state->puncture_rate);
}
+
+ /* Use highest signaled ModCod for quality */
+ if (state->is_vcm) {
+ u8 tmp;
+ enum fe_stv0910_mod_cod mod_cod;
+
+ read_reg(state, RSTV0910_P2_DMDMODCOD + state->regoff,
+ &tmp);
+ mod_cod = (enum fe_stv0910_mod_cod)((tmp & 0x7c) >> 2);
+
+ if (mod_cod > state->mod_cod)
+ state->mod_cod = mod_cod;
+ }
}
/* read signal statistics */
@@ -1527,6 +1547,7 @@ static int get_frontend(struct dvb_frontend *fe,
{
struct stv *state = fe->demodulator_priv;
u8 tmp;
+ u32 symbolrate;
if (state->receive_mode == RCVMODE_DVBS2) {
u32 mc;
@@ -1580,6 +1601,10 @@ static int get_frontend(struct dvb_frontend *fe,
p->rolloff = ROLLOFF_35;
}
+ if (state->receive_mode != RCVMODE_NONE) {
+ get_cur_symbol_rate(state, &symbolrate);
+ p->symbol_rate = symbolrate;
+ }
return 0;
}
diff --git a/drivers/media/dvb-frontends/stv0910_regs.h b/drivers/media/dvb-frontends/stv0910_regs.h
index 32ced4eaf296..f0eb915090bd 100644
--- a/drivers/media/dvb-frontends/stv0910_regs.h
+++ b/drivers/media/dvb-frontends/stv0910_regs.h
@@ -7,15 +7,15 @@
* Registers Declaration (Internal ST, All Applications )
* -------------------------
* Each register (RSTV0910__XXXXX) is defined by its address (2 bytes).
- *
- * Each field (FSTV0910__XXXXX)is defined as follow:
- * [register address -- 2bytes][field sign -- 1byte][field mask -- 1byte]
- * ======================================================================
+ * Each field (FSTV0910__XXXXX) is defined as follow:
+ * [register address -- 2bytes][field offset -- 4 bits][unused -- 3 bits]
+ * [field sign -- 1 bit][field mask -- 1byte]
+ * =======================================================================
*/
/* MID */
#define RSTV0910_MID 0xf100
-#define FSTV0910_MCHIP_IDENT 0xf10000f0
+#define FSTV0910_MCHIP_IDENT 0xf10040f0
#define FSTV0910_MRELEASE 0xf100000f
/* DID */
@@ -24,7 +24,7 @@
/* DACR1 */
#define RSTV0910_DACR1 0xf113
-#define FSTV0910_DAC_MODE 0xf11300e0
+#define FSTV0910_DAC_MODE 0xf11350e0
#define FSTV0910_DAC_VALUE1 0xf113000f
/* DACR2 */
@@ -33,283 +33,283 @@
/* PADCFG */
#define RSTV0910_PADCFG 0xf11a
-#define FSTV0910_AGCRF2_OPD 0xf11a0008
-#define FSTV0910_AGCRF2_XOR 0xf11a0004
-#define FSTV0910_AGCRF1_OPD 0xf11a0002
+#define FSTV0910_AGCRF2_OPD 0xf11a3008
+#define FSTV0910_AGCRF2_XOR 0xf11a2004
+#define FSTV0910_AGCRF1_OPD 0xf11a1002
#define FSTV0910_AGCRF1_XOR 0xf11a0001
/* OUTCFG2 */
#define RSTV0910_OUTCFG2 0xf11b
-#define FSTV0910_TS2_ERROR_XOR 0xf11b0080
-#define FSTV0910_TS2_DPN_XOR 0xf11b0040
-#define FSTV0910_TS2_STROUT_XOR 0xf11b0020
-#define FSTV0910_TS2_CLOCKOUT_XOR 0xf11b0010
-#define FSTV0910_TS1_ERROR_XOR 0xf11b0008
-#define FSTV0910_TS1_DPN_XOR 0xf11b0004
-#define FSTV0910_TS1_STROUT_XOR 0xf11b0002
+#define FSTV0910_TS2_ERROR_XOR 0xf11b7080
+#define FSTV0910_TS2_DPN_XOR 0xf11b6040
+#define FSTV0910_TS2_STROUT_XOR 0xf11b5020
+#define FSTV0910_TS2_CLOCKOUT_XOR 0xf11b4010
+#define FSTV0910_TS1_ERROR_XOR 0xf11b3008
+#define FSTV0910_TS1_DPN_XOR 0xf11b2004
+#define FSTV0910_TS1_STROUT_XOR 0xf11b1002
#define FSTV0910_TS1_CLOCKOUT_XOR 0xf11b0001
/* OUTCFG */
#define RSTV0910_OUTCFG 0xf11c
-#define FSTV0910_TS2_OUTSER_HZ 0xf11c0020
-#define FSTV0910_TS1_OUTSER_HZ 0xf11c0010
-#define FSTV0910_TS2_OUTPAR_HZ 0xf11c0008
-#define FSTV0910_TS1_OUTPAR_HZ 0xf11c0004
-#define FSTV0910_TS_SERDATA0 0xf11c0002
+#define FSTV0910_TS2_OUTSER_HZ 0xf11c5020
+#define FSTV0910_TS1_OUTSER_HZ 0xf11c4010
+#define FSTV0910_TS2_OUTPAR_HZ 0xf11c3008
+#define FSTV0910_TS1_OUTPAR_HZ 0xf11c2004
+#define FSTV0910_TS_SERDATA0 0xf11c1002
/* IRQSTATUS3 */
#define RSTV0910_IRQSTATUS3 0xf120
-#define FSTV0910_SPLL_LOCK 0xf1200020
-#define FSTV0910_SSTREAM_LCK_1 0xf1200010
-#define FSTV0910_SSTREAM_LCK_2 0xf1200008
-#define FSTV0910_SDVBS1_PRF_2 0xf1200002
+#define FSTV0910_SPLL_LOCK 0xf1205020
+#define FSTV0910_SSTREAM_LCK_1 0xf1204010
+#define FSTV0910_SSTREAM_LCK_2 0xf1203008
+#define FSTV0910_SDVBS1_PRF_2 0xf1201002
#define FSTV0910_SDVBS1_PRF_1 0xf1200001
/* IRQSTATUS2 */
#define RSTV0910_IRQSTATUS2 0xf121
-#define FSTV0910_SSPY_ENDSIM_1 0xf1210080
-#define FSTV0910_SSPY_ENDSIM_2 0xf1210040
-#define FSTV0910_SPKTDEL_ERROR_2 0xf1210010
-#define FSTV0910_SPKTDEL_LOCKB_2 0xf1210008
-#define FSTV0910_SPKTDEL_LOCK_2 0xf1210004
-#define FSTV0910_SPKTDEL_ERROR_1 0xf1210002
+#define FSTV0910_SSPY_ENDSIM_1 0xf1217080
+#define FSTV0910_SSPY_ENDSIM_2 0xf1216040
+#define FSTV0910_SPKTDEL_ERROR_2 0xf1214010
+#define FSTV0910_SPKTDEL_LOCKB_2 0xf1213008
+#define FSTV0910_SPKTDEL_LOCK_2 0xf1212004
+#define FSTV0910_SPKTDEL_ERROR_1 0xf1211002
#define FSTV0910_SPKTDEL_LOCKB_1 0xf1210001
/* IRQSTATUS1 */
#define RSTV0910_IRQSTATUS1 0xf122
-#define FSTV0910_SPKTDEL_LOCK_1 0xf1220080
-#define FSTV0910_SFEC_LOCKB_2 0xf1220040
-#define FSTV0910_SFEC_LOCK_2 0xf1220020
-#define FSTV0910_SFEC_LOCKB_1 0xf1220010
-#define FSTV0910_SFEC_LOCK_1 0xf1220008
-#define FSTV0910_SDEMOD_LOCKB_2 0xf1220004
-#define FSTV0910_SDEMOD_LOCK_2 0xf1220002
+#define FSTV0910_SPKTDEL_LOCK_1 0xf1227080
+#define FSTV0910_SFEC_LOCKB_2 0xf1226040
+#define FSTV0910_SFEC_LOCK_2 0xf1225020
+#define FSTV0910_SFEC_LOCKB_1 0xf1224010
+#define FSTV0910_SFEC_LOCK_1 0xf1223008
+#define FSTV0910_SDEMOD_LOCKB_2 0xf1222004
+#define FSTV0910_SDEMOD_LOCK_2 0xf1221002
#define FSTV0910_SDEMOD_IRQ_2 0xf1220001
/* IRQSTATUS0 */
#define RSTV0910_IRQSTATUS0 0xf123
-#define FSTV0910_SDEMOD_LOCKB_1 0xf1230080
-#define FSTV0910_SDEMOD_LOCK_1 0xf1230040
-#define FSTV0910_SDEMOD_IRQ_1 0xf1230020
-#define FSTV0910_SBCH_ERRFLAG 0xf1230010
-#define FSTV0910_SDISEQC2_IRQ 0xf1230004
+#define FSTV0910_SDEMOD_LOCKB_1 0xf1237080
+#define FSTV0910_SDEMOD_LOCK_1 0xf1236040
+#define FSTV0910_SDEMOD_IRQ_1 0xf1235020
+#define FSTV0910_SBCH_ERRFLAG 0xf1234010
+#define FSTV0910_SDISEQC2_IRQ 0xf1232004
#define FSTV0910_SDISEQC1_IRQ 0xf1230001
/* IRQMASK3 */
#define RSTV0910_IRQMASK3 0xf124
-#define FSTV0910_MPLL_LOCK 0xf1240020
-#define FSTV0910_MSTREAM_LCK_1 0xf1240010
-#define FSTV0910_MSTREAM_LCK_2 0xf1240008
-#define FSTV0910_MDVBS1_PRF_2 0xf1240002
+#define FSTV0910_MPLL_LOCK 0xf1245020
+#define FSTV0910_MSTREAM_LCK_1 0xf1244010
+#define FSTV0910_MSTREAM_LCK_2 0xf1243008
+#define FSTV0910_MDVBS1_PRF_2 0xf1241002
#define FSTV0910_MDVBS1_PRF_1 0xf1240001
/* IRQMASK2 */
#define RSTV0910_IRQMASK2 0xf125
-#define FSTV0910_MSPY_ENDSIM_1 0xf1250080
-#define FSTV0910_MSPY_ENDSIM_2 0xf1250040
-#define FSTV0910_MPKTDEL_ERROR_2 0xf1250010
-#define FSTV0910_MPKTDEL_LOCKB_2 0xf1250008
-#define FSTV0910_MPKTDEL_LOCK_2 0xf1250004
-#define FSTV0910_MPKTDEL_ERROR_1 0xf1250002
+#define FSTV0910_MSPY_ENDSIM_1 0xf1257080
+#define FSTV0910_MSPY_ENDSIM_2 0xf1256040
+#define FSTV0910_MPKTDEL_ERROR_2 0xf1254010
+#define FSTV0910_MPKTDEL_LOCKB_2 0xf1253008
+#define FSTV0910_MPKTDEL_LOCK_2 0xf1252004
+#define FSTV0910_MPKTDEL_ERROR_1 0xf1251002
#define FSTV0910_MPKTDEL_LOCKB_1 0xf1250001
/* IRQMASK1 */
#define RSTV0910_IRQMASK1 0xf126
-#define FSTV0910_MPKTDEL_LOCK_1 0xf1260080
-#define FSTV0910_MFEC_LOCKB_2 0xf1260040
-#define FSTV0910_MFEC_LOCK_2 0xf1260020
-#define FSTV0910_MFEC_LOCKB_1 0xf1260010
-#define FSTV0910_MFEC_LOCK_1 0xf1260008
-#define FSTV0910_MDEMOD_LOCKB_2 0xf1260004
-#define FSTV0910_MDEMOD_LOCK_2 0xf1260002
+#define FSTV0910_MPKTDEL_LOCK_1 0xf1267080
+#define FSTV0910_MFEC_LOCKB_2 0xf1266040
+#define FSTV0910_MFEC_LOCK_2 0xf1265020
+#define FSTV0910_MFEC_LOCKB_1 0xf1264010
+#define FSTV0910_MFEC_LOCK_1 0xf1263008
+#define FSTV0910_MDEMOD_LOCKB_2 0xf1262004
+#define FSTV0910_MDEMOD_LOCK_2 0xf1261002
#define FSTV0910_MDEMOD_IRQ_2 0xf1260001
/* IRQMASK0 */
#define RSTV0910_IRQMASK0 0xf127
-#define FSTV0910_MDEMOD_LOCKB_1 0xf1270080
-#define FSTV0910_MDEMOD_LOCK_1 0xf1270040
-#define FSTV0910_MDEMOD_IRQ_1 0xf1270020
-#define FSTV0910_MBCH_ERRFLAG 0xf1270010
-#define FSTV0910_MDISEQC2_IRQ 0xf1270004
+#define FSTV0910_MDEMOD_LOCKB_1 0xf1277080
+#define FSTV0910_MDEMOD_LOCK_1 0xf1276040
+#define FSTV0910_MDEMOD_IRQ_1 0xf1275020
+#define FSTV0910_MBCH_ERRFLAG 0xf1274010
+#define FSTV0910_MDISEQC2_IRQ 0xf1272004
#define FSTV0910_MDISEQC1_IRQ 0xf1270001
/* I2CCFG */
#define RSTV0910_I2CCFG 0xf129
-#define FSTV0910_I2C_FASTMODE 0xf1290008
+#define FSTV0910_I2C_FASTMODE 0xf1293008
#define FSTV0910_I2CADDR_INC 0xf1290003
/* P1_I2CRPT */
#define RSTV0910_P1_I2CRPT 0xf12a
-#define FSTV0910_P1_I2CT_ON 0xf12a0080
-#define FSTV0910_P1_ENARPT_LEVEL 0xf12a0070
-#define FSTV0910_P1_SCLT_DELAY 0xf12a0008
-#define FSTV0910_P1_STOP_ENABLE 0xf12a0004
-#define FSTV0910_P1_STOP_SDAT2SDA 0xf12a0002
+#define FSTV0910_P1_I2CT_ON 0xf12a7080
+#define FSTV0910_P1_ENARPT_LEVEL 0xf12a4070
+#define FSTV0910_P1_SCLT_DELAY 0xf12a3008
+#define FSTV0910_P1_STOP_ENABLE 0xf12a2004
+#define FSTV0910_P1_STOP_SDAT2SDA 0xf12a1002
/* P2_I2CRPT */
#define RSTV0910_P2_I2CRPT 0xf12b
-#define FSTV0910_P2_I2CT_ON 0xf12b0080
-#define FSTV0910_P2_ENARPT_LEVEL 0xf12b0070
-#define FSTV0910_P2_SCLT_DELAY 0xf12b0008
-#define FSTV0910_P2_STOP_ENABLE 0xf12b0004
-#define FSTV0910_P2_STOP_SDAT2SDA 0xf12b0002
+#define FSTV0910_P2_I2CT_ON 0xf12b7080
+#define FSTV0910_P2_ENARPT_LEVEL 0xf12b4070
+#define FSTV0910_P2_SCLT_DELAY 0xf12b3008
+#define FSTV0910_P2_STOP_ENABLE 0xf12b2004
+#define FSTV0910_P2_STOP_SDAT2SDA 0xf12b1002
/* GPIO0CFG */
#define RSTV0910_GPIO0CFG 0xf140
-#define FSTV0910_GPIO0_OPD 0xf1400080
-#define FSTV0910_GPIO0_CONFIG 0xf140007e
+#define FSTV0910_GPIO0_OPD 0xf1407080
+#define FSTV0910_GPIO0_CONFIG 0xf140107e
#define FSTV0910_GPIO0_XOR 0xf1400001
/* GPIO1CFG */
#define RSTV0910_GPIO1CFG 0xf141
-#define FSTV0910_GPIO1_OPD 0xf1410080
-#define FSTV0910_GPIO1_CONFIG 0xf141007e
+#define FSTV0910_GPIO1_OPD 0xf1417080
+#define FSTV0910_GPIO1_CONFIG 0xf141107e
#define FSTV0910_GPIO1_XOR 0xf1410001
/* GPIO2CFG */
#define RSTV0910_GPIO2CFG 0xf142
-#define FSTV0910_GPIO2_OPD 0xf1420080
-#define FSTV0910_GPIO2_CONFIG 0xf142007e
+#define FSTV0910_GPIO2_OPD 0xf1427080
+#define FSTV0910_GPIO2_CONFIG 0xf142107e
#define FSTV0910_GPIO2_XOR 0xf1420001
/* GPIO3CFG */
#define RSTV0910_GPIO3CFG 0xf143
-#define FSTV0910_GPIO3_OPD 0xf1430080
-#define FSTV0910_GPIO3_CONFIG 0xf143007e
+#define FSTV0910_GPIO3_OPD 0xf1437080
+#define FSTV0910_GPIO3_CONFIG 0xf143107e
#define FSTV0910_GPIO3_XOR 0xf1430001
/* GPIO4CFG */
#define RSTV0910_GPIO4CFG 0xf144
-#define FSTV0910_GPIO4_OPD 0xf1440080
-#define FSTV0910_GPIO4_CONFIG 0xf144007e
+#define FSTV0910_GPIO4_OPD 0xf1447080
+#define FSTV0910_GPIO4_CONFIG 0xf144107e
#define FSTV0910_GPIO4_XOR 0xf1440001
/* GPIO5CFG */
#define RSTV0910_GPIO5CFG 0xf145
-#define FSTV0910_GPIO5_OPD 0xf1450080
-#define FSTV0910_GPIO5_CONFIG 0xf145007e
+#define FSTV0910_GPIO5_OPD 0xf1457080
+#define FSTV0910_GPIO5_CONFIG 0xf145107e
#define FSTV0910_GPIO5_XOR 0xf1450001
/* GPIO6CFG */
#define RSTV0910_GPIO6CFG 0xf146
-#define FSTV0910_GPIO6_OPD 0xf1460080
-#define FSTV0910_GPIO6_CONFIG 0xf146007e
+#define FSTV0910_GPIO6_OPD 0xf1467080
+#define FSTV0910_GPIO6_CONFIG 0xf146107e
#define FSTV0910_GPIO6_XOR 0xf1460001
/* GPIO7CFG */
#define RSTV0910_GPIO7CFG 0xf147
-#define FSTV0910_GPIO7_OPD 0xf1470080
-#define FSTV0910_GPIO7_CONFIG 0xf147007e
+#define FSTV0910_GPIO7_OPD 0xf1477080
+#define FSTV0910_GPIO7_CONFIG 0xf147107e
#define FSTV0910_GPIO7_XOR 0xf1470001
/* GPIO8CFG */
#define RSTV0910_GPIO8CFG 0xf148
-#define FSTV0910_GPIO8_OPD 0xf1480080
-#define FSTV0910_GPIO8_CONFIG 0xf148007e
+#define FSTV0910_GPIO8_OPD 0xf1487080
+#define FSTV0910_GPIO8_CONFIG 0xf148107e
#define FSTV0910_GPIO8_XOR 0xf1480001
/* GPIO9CFG */
#define RSTV0910_GPIO9CFG 0xf149
-#define FSTV0910_GPIO9_OPD 0xf1490080
-#define FSTV0910_GPIO9_CONFIG 0xf149007e
+#define FSTV0910_GPIO9_OPD 0xf1497080
+#define FSTV0910_GPIO9_CONFIG 0xf149107e
#define FSTV0910_GPIO9_XOR 0xf1490001
/* GPIO10CFG */
#define RSTV0910_GPIO10CFG 0xf14a
-#define FSTV0910_GPIO10_OPD 0xf14a0080
-#define FSTV0910_GPIO10_CONFIG 0xf14a007e
+#define FSTV0910_GPIO10_OPD 0xf14a7080
+#define FSTV0910_GPIO10_CONFIG 0xf14a107e
#define FSTV0910_GPIO10_XOR 0xf14a0001
/* GPIO11CFG */
#define RSTV0910_GPIO11CFG 0xf14b
-#define FSTV0910_GPIO11_OPD 0xf14b0080
-#define FSTV0910_GPIO11_CONFIG 0xf14b007e
+#define FSTV0910_GPIO11_OPD 0xf14b7080
+#define FSTV0910_GPIO11_CONFIG 0xf14b107e
#define FSTV0910_GPIO11_XOR 0xf14b0001
/* GPIO12CFG */
#define RSTV0910_GPIO12CFG 0xf14c
-#define FSTV0910_GPIO12_OPD 0xf14c0080
-#define FSTV0910_GPIO12_CONFIG 0xf14c007e
+#define FSTV0910_GPIO12_OPD 0xf14c7080
+#define FSTV0910_GPIO12_CONFIG 0xf14c107e
#define FSTV0910_GPIO12_XOR 0xf14c0001
/* GPIO13CFG */
#define RSTV0910_GPIO13CFG 0xf14d
-#define FSTV0910_GPIO13_OPD 0xf14d0080
-#define FSTV0910_GPIO13_CONFIG 0xf14d007e
+#define FSTV0910_GPIO13_OPD 0xf14d7080
+#define FSTV0910_GPIO13_CONFIG 0xf14d107e
#define FSTV0910_GPIO13_XOR 0xf14d0001
/* GPIO14CFG */
#define RSTV0910_GPIO14CFG 0xf14e
-#define FSTV0910_GPIO14_OPD 0xf14e0080
-#define FSTV0910_GPIO14_CONFIG 0xf14e007e
+#define FSTV0910_GPIO14_OPD 0xf14e7080
+#define FSTV0910_GPIO14_CONFIG 0xf14e107e
#define FSTV0910_GPIO14_XOR 0xf14e0001
/* GPIO15CFG */
#define RSTV0910_GPIO15CFG 0xf14f
-#define FSTV0910_GPIO15_OPD 0xf14f0080
-#define FSTV0910_GPIO15_CONFIG 0xf14f007e
+#define FSTV0910_GPIO15_OPD 0xf14f7080
+#define FSTV0910_GPIO15_CONFIG 0xf14f107e
#define FSTV0910_GPIO15_XOR 0xf14f0001
/* GPIO16CFG */
#define RSTV0910_GPIO16CFG 0xf150
-#define FSTV0910_GPIO16_OPD 0xf1500080
-#define FSTV0910_GPIO16_CONFIG 0xf150007e
+#define FSTV0910_GPIO16_OPD 0xf1507080
+#define FSTV0910_GPIO16_CONFIG 0xf150107e
#define FSTV0910_GPIO16_XOR 0xf1500001
/* GPIO17CFG */
#define RSTV0910_GPIO17CFG 0xf151
-#define FSTV0910_GPIO17_OPD 0xf1510080
-#define FSTV0910_GPIO17_CONFIG 0xf151007e
+#define FSTV0910_GPIO17_OPD 0xf1517080
+#define FSTV0910_GPIO17_CONFIG 0xf151107e
#define FSTV0910_GPIO17_XOR 0xf1510001
/* GPIO18CFG */
#define RSTV0910_GPIO18CFG 0xf152
-#define FSTV0910_GPIO18_OPD 0xf1520080
-#define FSTV0910_GPIO18_CONFIG 0xf152007e
+#define FSTV0910_GPIO18_OPD 0xf1527080
+#define FSTV0910_GPIO18_CONFIG 0xf152107e
#define FSTV0910_GPIO18_XOR 0xf1520001
/* GPIO19CFG */
#define RSTV0910_GPIO19CFG 0xf153
-#define FSTV0910_GPIO19_OPD 0xf1530080
-#define FSTV0910_GPIO19_CONFIG 0xf153007e
+#define FSTV0910_GPIO19_OPD 0xf1537080
+#define FSTV0910_GPIO19_CONFIG 0xf153107e
#define FSTV0910_GPIO19_XOR 0xf1530001
/* GPIO20CFG */
#define RSTV0910_GPIO20CFG 0xf154
-#define FSTV0910_GPIO20_OPD 0xf1540080
-#define FSTV0910_GPIO20_CONFIG 0xf154007e
+#define FSTV0910_GPIO20_OPD 0xf1547080
+#define FSTV0910_GPIO20_CONFIG 0xf154107e
#define FSTV0910_GPIO20_XOR 0xf1540001
/* GPIO21CFG */
#define RSTV0910_GPIO21CFG 0xf155
-#define FSTV0910_GPIO21_OPD 0xf1550080
-#define FSTV0910_GPIO21_CONFIG 0xf155007e
+#define FSTV0910_GPIO21_OPD 0xf1557080
+#define FSTV0910_GPIO21_CONFIG 0xf155107e
#define FSTV0910_GPIO21_XOR 0xf1550001
/* GPIO22CFG */
#define RSTV0910_GPIO22CFG 0xf156
-#define FSTV0910_GPIO22_OPD 0xf1560080
-#define FSTV0910_GPIO22_CONFIG 0xf156007e
+#define FSTV0910_GPIO22_OPD 0xf1567080
+#define FSTV0910_GPIO22_CONFIG 0xf156107e
#define FSTV0910_GPIO22_XOR 0xf1560001
/* STRSTATUS1 */
#define RSTV0910_STRSTATUS1 0xf16a
-#define FSTV0910_STRSTATUS_SEL2 0xf16a00f0
+#define FSTV0910_STRSTATUS_SEL2 0xf16a40f0
#define FSTV0910_STRSTATUS_SEL1 0xf16a000f
/* STRSTATUS2 */
#define RSTV0910_STRSTATUS2 0xf16b
-#define FSTV0910_STRSTATUS_SEL4 0xf16b00f0
+#define FSTV0910_STRSTATUS_SEL4 0xf16b40f0
#define FSTV0910_STRSTATUS_SEL3 0xf16b000f
/* STRSTATUS3 */
#define RSTV0910_STRSTATUS3 0xf16c
-#define FSTV0910_STRSTATUS_SEL6 0xf16c00f0
+#define FSTV0910_STRSTATUS_SEL6 0xf16c40f0
#define FSTV0910_STRSTATUS_SEL5 0xf16c000f
/* FSKTFC2 */
#define RSTV0910_FSKTFC2 0xf170
-#define FSTV0910_FSKT_KMOD 0xf17000fc
+#define FSTV0910_FSKT_KMOD 0xf17020fc
#define FSTV0910_FSKT_CAR2 0xf1700003
/* FSKTFC1 */
@@ -330,17 +330,17 @@
/* FSKTCTRL */
#define RSTV0910_FSKTCTRL 0xf175
-#define FSTV0910_FSKT_PINSEL 0xf1750080
-#define FSTV0910_FSKT_EN_SGN 0xf1750040
-#define FSTV0910_FSKT_MOD_SGN 0xf1750020
-#define FSTV0910_FSKT_MOD_EN 0xf175001c
+#define FSTV0910_FSKT_PINSEL 0xf1757080
+#define FSTV0910_FSKT_EN_SGN 0xf1756040
+#define FSTV0910_FSKT_MOD_SGN 0xf1755020
+#define FSTV0910_FSKT_MOD_EN 0xf175201c
#define FSTV0910_FSKT_DACMODE 0xf1750003
/* FSKRFC2 */
#define RSTV0910_FSKRFC2 0xf176
-#define FSTV0910_FSKR_DETSGN 0xf1760040
-#define FSTV0910_FSKR_OUTSGN 0xf1760020
-#define FSTV0910_FSKR_KAGC 0xf176001c
+#define FSTV0910_FSKR_DETSGN 0xf1766040
+#define FSTV0910_FSKR_OUTSGN 0xf1765020
+#define FSTV0910_FSKR_KAGC 0xf176201c
#define FSTV0910_FSKR_CAR2 0xf1760003
/* FSKRFC1 */
@@ -353,17 +353,17 @@
/* FSKRK1 */
#define RSTV0910_FSKRK1 0xf179
-#define FSTV0910_FSKR_K1_EXP 0xf17900e0
+#define FSTV0910_FSKR_K1_EXP 0xf17950e0
#define FSTV0910_FSKR_K1_MANT 0xf179001f
/* FSKRK2 */
#define RSTV0910_FSKRK2 0xf17a
-#define FSTV0910_FSKR_K2_EXP 0xf17a00e0
+#define FSTV0910_FSKR_K2_EXP 0xf17a50e0
#define FSTV0910_FSKR_K2_MANT 0xf17a001f
/* FSKRAGCR */
#define RSTV0910_FSKRAGCR 0xf17b
-#define FSTV0910_FSKR_OUTCTL 0xf17b00c0
+#define FSTV0910_FSKR_OUTCTL 0xf17b60c0
#define FSTV0910_FSKR_AGC_REF 0xf17b003f
/* FSKRAGC */
@@ -372,12 +372,12 @@
/* FSKRALPHA */
#define RSTV0910_FSKRALPHA 0xf17d
-#define FSTV0910_FSKR_ALPHA_EXP 0xf17d001c
+#define FSTV0910_FSKR_ALPHA_EXP 0xf17d201c
#define FSTV0910_FSKR_ALPHA_M 0xf17d0003
/* FSKRPLTH1 */
#define RSTV0910_FSKRPLTH1 0xf17e
-#define FSTV0910_FSKR_BETA 0xf17e00f0
+#define FSTV0910_FSKR_BETA 0xf17e40f0
#define FSTV0910_FSKR_PLL_TRESH1 0xf17e000f
/* FSKRPLTH0 */
@@ -386,8 +386,8 @@
/* FSKRDF1 */
#define RSTV0910_FSKRDF1 0xf180
-#define FSTV0910_FSKR_OUT 0xf1800080
-#define FSTV0910_FSKR_STATE 0xf1800060
+#define FSTV0910_FSKR_OUT 0xf1807080
+#define FSTV0910_FSKR_STATE 0xf1805060
#define FSTV0910_FSKR_DELTAF1 0xf180001f
/* FSKRDF0 */
@@ -404,7 +404,7 @@
/* FSKRDET1 */
#define RSTV0910_FSKRDET1 0xf184
-#define FSTV0910_FSKR_DETECT 0xf1840080
+#define FSTV0910_FSKR_DETECT 0xf1847080
#define FSTV0910_FSKR_CARDET_ACCU1 0xf184000f
/* FSKRDET0 */
@@ -413,7 +413,7 @@
/* FSKRDTH1 */
#define RSTV0910_FSKRDTH1 0xf186
-#define FSTV0910_FSKR_CARLOSS_THRESH1 0xf18600f0
+#define FSTV0910_FSKR_CARLOSS_THRESH1 0xf18640f0
#define FSTV0910_FSKR_CARDET_THRESH1 0xf186000f
/* FSKRDTH0 */
@@ -426,7 +426,7 @@
/* NCOARSE */
#define RSTV0910_NCOARSE 0xf1b3
-#define FSTV0910_CP 0xf1b300f8
+#define FSTV0910_CP 0xf1b330f8
#define FSTV0910_IDF 0xf1b30007
/* NCOARSE1 */
@@ -439,14 +439,14 @@
/* SYNTCTRL */
#define RSTV0910_SYNTCTRL 0xf1b6
-#define FSTV0910_STANDBY 0xf1b60080
-#define FSTV0910_BYPASSPLLCORE 0xf1b60040
-#define FSTV0910_STOP_PLL 0xf1b60008
-#define FSTV0910_OSCI_E 0xf1b60002
+#define FSTV0910_STANDBY 0xf1b67080
+#define FSTV0910_BYPASSPLLCORE 0xf1b66040
+#define FSTV0910_STOP_PLL 0xf1b63008
+#define FSTV0910_OSCI_E 0xf1b61002
/* FILTCTRL */
#define RSTV0910_FILTCTRL 0xf1b7
-#define FSTV0910_INV_CLKFSK 0xf1b70002
+#define FSTV0910_INV_CLKFSK 0xf1b71002
#define FSTV0910_BYPASS_APPLI 0xf1b70001
/* PLLSTAT */
@@ -455,48 +455,48 @@
/* STOPCLK1 */
#define RSTV0910_STOPCLK1 0xf1c2
-#define FSTV0910_INV_CLKADCI2 0xf1c20004
+#define FSTV0910_INV_CLKADCI2 0xf1c22004
#define FSTV0910_INV_CLKADCI1 0xf1c20001
/* STOPCLK2 */
#define RSTV0910_STOPCLK2 0xf1c3
-#define FSTV0910_STOP_DVBS2FEC2 0xf1c30020
-#define FSTV0910_STOP_DVBS2FEC 0xf1c30010
-#define FSTV0910_STOP_DVBS1FEC2 0xf1c30008
-#define FSTV0910_STOP_DVBS1FEC 0xf1c30004
-#define FSTV0910_STOP_DEMOD2 0xf1c30002
+#define FSTV0910_STOP_DVBS2FEC2 0xf1c35020
+#define FSTV0910_STOP_DVBS2FEC 0xf1c34010
+#define FSTV0910_STOP_DVBS1FEC2 0xf1c33008
+#define FSTV0910_STOP_DVBS1FEC 0xf1c32004
+#define FSTV0910_STOP_DEMOD2 0xf1c31002
#define FSTV0910_STOP_DEMOD 0xf1c30001
/* PREGCTL */
#define RSTV0910_PREGCTL 0xf1c8
-#define FSTV0910_REG3V3TO2V5_POFF 0xf1c80080
+#define FSTV0910_REG3V3TO2V5_POFF 0xf1c87080
/* TSTTNR0 */
#define RSTV0910_TSTTNR0 0xf1df
-#define FSTV0910_FSK_PON 0xf1df0004
+#define FSTV0910_FSK_PON 0xf1df2004
/* TSTTNR1 */
#define RSTV0910_TSTTNR1 0xf1e0
-#define FSTV0910_ADC1_PON 0xf1e00002
+#define FSTV0910_ADC1_PON 0xf1e01002
/* TSTTNR2 */
#define RSTV0910_TSTTNR2 0xf1e1
-#define FSTV0910_I2C_DISEQC_PON 0xf1e10020
+#define FSTV0910_I2C_DISEQC_PON 0xf1e15020
#define FSTV0910_DISEQC_CLKDIV 0xf1e1000f
/* TSTTNR3 */
#define RSTV0910_TSTTNR3 0xf1e2
-#define FSTV0910_ADC2_PON 0xf1e20002
+#define FSTV0910_ADC2_PON 0xf1e21002
/* P2_IQCONST */
#define RSTV0910_P2_IQCONST 0xf200
-#define FSTV0910_P2_CONSTEL_SELECT 0xf2000060
+#define FSTV0910_P2_CONSTEL_SELECT 0xf2005060
#define FSTV0910_P2_IQSYMB_SEL 0xf200001f
/* P2_NOSCFG */
#define RSTV0910_P2_NOSCFG 0xf201
-#define FSTV0910_P2_DUMMYPL_NOSDATA 0xf2010020
-#define FSTV0910_P2_NOSPLH_BETA 0xf2010018
+#define FSTV0910_P2_DUMMYPL_NOSDATA 0xf2015020
+#define FSTV0910_P2_NOSPLH_BETA 0xf2013018
#define FSTV0910_P2_NOSDATA_BETA 0xf2010007
/* P2_ISYMB */
@@ -509,18 +509,18 @@
/* P2_AGC1CFG */
#define RSTV0910_P2_AGC1CFG 0xf204
-#define FSTV0910_P2_DC_FROZEN 0xf2040080
-#define FSTV0910_P2_DC_CORRECT 0xf2040040
-#define FSTV0910_P2_AMM_FROZEN 0xf2040020
-#define FSTV0910_P2_AMM_CORRECT 0xf2040010
-#define FSTV0910_P2_QUAD_FROZEN 0xf2040008
-#define FSTV0910_P2_QUAD_CORRECT 0xf2040004
+#define FSTV0910_P2_DC_FROZEN 0xf2047080
+#define FSTV0910_P2_DC_CORRECT 0xf2046040
+#define FSTV0910_P2_AMM_FROZEN 0xf2045020
+#define FSTV0910_P2_AMM_CORRECT 0xf2044010
+#define FSTV0910_P2_QUAD_FROZEN 0xf2043008
+#define FSTV0910_P2_QUAD_CORRECT 0xf2042004
/* P2_AGC1CN */
#define RSTV0910_P2_AGC1CN 0xf206
-#define FSTV0910_P2_AGC1_LOCKED 0xf2060080
-#define FSTV0910_P2_AGC1_MINPOWER 0xf2060010
-#define FSTV0910_P2_AGCOUT_FAST 0xf2060008
+#define FSTV0910_P2_AGC1_LOCKED 0xf2067080
+#define FSTV0910_P2_AGC1_MINPOWER 0xf2064010
+#define FSTV0910_P2_AGCOUT_FAST 0xf2063008
#define FSTV0910_P2_AGCIQ_BETA 0xf2060007
/* P2_AGC1REF */
@@ -561,50 +561,50 @@
/* P2_DEMOD */
#define RSTV0910_P2_DEMOD 0xf210
-#define FSTV0910_P2_MANUALS2_ROLLOFF 0xf2100080
-#define FSTV0910_P2_SPECINV_CONTROL 0xf2100030
-#define FSTV0910_P2_MANUALSX_ROLLOFF 0xf2100004
+#define FSTV0910_P2_MANUALS2_ROLLOFF 0xf2107080
+#define FSTV0910_P2_SPECINV_CONTROL 0xf2104030
+#define FSTV0910_P2_MANUALSX_ROLLOFF 0xf2102004
#define FSTV0910_P2_ROLLOFF_CONTROL 0xf2100003
/* P2_DMDMODCOD */
#define RSTV0910_P2_DMDMODCOD 0xf211
-#define FSTV0910_P2_MANUAL_MODCOD 0xf2110080
-#define FSTV0910_P2_DEMOD_MODCOD 0xf211007c
+#define FSTV0910_P2_MANUAL_MODCOD 0xf2117080
+#define FSTV0910_P2_DEMOD_MODCOD 0xf211207c
#define FSTV0910_P2_DEMOD_TYPE 0xf2110003
/* P2_DSTATUS */
#define RSTV0910_P2_DSTATUS 0xf212
-#define FSTV0910_P2_CAR_LOCK 0xf2120080
-#define FSTV0910_P2_TMGLOCK_QUALITY 0xf2120060
-#define FSTV0910_P2_LOCK_DEFINITIF 0xf2120008
+#define FSTV0910_P2_CAR_LOCK 0xf2127080
+#define FSTV0910_P2_TMGLOCK_QUALITY 0xf2125060
+#define FSTV0910_P2_LOCK_DEFINITIF 0xf2123008
#define FSTV0910_P2_OVADC_DETECT 0xf2120001
/* P2_DSTATUS2 */
#define RSTV0910_P2_DSTATUS2 0xf213
-#define FSTV0910_P2_DEMOD_DELOCK 0xf2130080
-#define FSTV0910_P2_MODCODRQ_SYNCTAG 0xf2130020
-#define FSTV0910_P2_POLYPH_SATEVENT 0xf2130010
-#define FSTV0910_P2_AGC1_NOSIGNALACK 0xf2130008
-#define FSTV0910_P2_AGC2_OVERFLOW 0xf2130004
-#define FSTV0910_P2_CFR_OVERFLOW 0xf2130002
+#define FSTV0910_P2_DEMOD_DELOCK 0xf2137080
+#define FSTV0910_P2_MODCODRQ_SYNCTAG 0xf2135020
+#define FSTV0910_P2_POLYPH_SATEVENT 0xf2134010
+#define FSTV0910_P2_AGC1_NOSIGNALACK 0xf2133008
+#define FSTV0910_P2_AGC2_OVERFLOW 0xf2132004
+#define FSTV0910_P2_CFR_OVERFLOW 0xf2131002
#define FSTV0910_P2_GAMMA_OVERUNDER 0xf2130001
/* P2_DMDCFGMD */
#define RSTV0910_P2_DMDCFGMD 0xf214
-#define FSTV0910_P2_DVBS2_ENABLE 0xf2140080
-#define FSTV0910_P2_DVBS1_ENABLE 0xf2140040
-#define FSTV0910_P2_SCAN_ENABLE 0xf2140010
-#define FSTV0910_P2_CFR_AUTOSCAN 0xf2140008
+#define FSTV0910_P2_DVBS2_ENABLE 0xf2147080
+#define FSTV0910_P2_DVBS1_ENABLE 0xf2146040
+#define FSTV0910_P2_SCAN_ENABLE 0xf2144010
+#define FSTV0910_P2_CFR_AUTOSCAN 0xf2143008
#define FSTV0910_P2_TUN_RNG 0xf2140003
/* P2_DMDCFG2 */
#define RSTV0910_P2_DMDCFG2 0xf215
-#define FSTV0910_P2_S1S2_SEQUENTIAL 0xf2150040
-#define FSTV0910_P2_INFINITE_RELOCK 0xf2150010
+#define FSTV0910_P2_S1S2_SEQUENTIAL 0xf2156040
+#define FSTV0910_P2_INFINITE_RELOCK 0xf2154010
/* P2_DMDISTATE */
#define RSTV0910_P2_DMDISTATE 0xf216
-#define FSTV0910_P2_I2C_NORESETDMODE 0xf2160080
+#define FSTV0910_P2_I2C_NORESETDMODE 0xf2167080
#define FSTV0910_P2_I2C_DEMOD_MODE 0xf216001f
/* P2_DMDT0M */
@@ -613,27 +613,27 @@
/* P2_DMDSTATE */
#define RSTV0910_P2_DMDSTATE 0xf21b
-#define FSTV0910_P2_HEADER_MODE 0xf21b0060
+#define FSTV0910_P2_HEADER_MODE 0xf21b5060
/* P2_DMDFLYW */
#define RSTV0910_P2_DMDFLYW 0xf21c
-#define FSTV0910_P2_I2C_IRQVAL 0xf21c00f0
+#define FSTV0910_P2_I2C_IRQVAL 0xf21c40f0
#define FSTV0910_P2_FLYWHEEL_CPT 0xf21c000f
/* P2_DSTATUS3 */
#define RSTV0910_P2_DSTATUS3 0xf21d
-#define FSTV0910_P2_CFR_ZIGZAG 0xf21d0080
-#define FSTV0910_P2_DEMOD_CFGMODE 0xf21d0060
-#define FSTV0910_P2_GAMMA_LOWBAUDRATE 0xf21d0010
+#define FSTV0910_P2_CFR_ZIGZAG 0xf21d7080
+#define FSTV0910_P2_DEMOD_CFGMODE 0xf21d5060
+#define FSTV0910_P2_GAMMA_LOWBAUDRATE 0xf21d4010
/* P2_DMDCFG3 */
#define RSTV0910_P2_DMDCFG3 0xf21e
-#define FSTV0910_P2_NOSTOP_FIFOFULL 0xf21e0008
+#define FSTV0910_P2_NOSTOP_FIFOFULL 0xf21e3008
/* P2_DMDCFG4 */
#define RSTV0910_P2_DMDCFG4 0xf21f
-#define FSTV0910_P2_DIS_VITLOCK 0xf21f0080
-#define FSTV0910_P2_DIS_CLKENABLE 0xf21f0004
+#define FSTV0910_P2_DIS_VITLOCK 0xf21f7080
+#define FSTV0910_P2_DIS_CLKENABLE 0xf21f2004
/* P2_CORRELMANT */
#define RSTV0910_P2_CORRELMANT 0xf220
@@ -645,13 +645,13 @@
/* P2_CORRELEXP */
#define RSTV0910_P2_CORRELEXP 0xf222
-#define FSTV0910_P2_CORREL_ABSEXP 0xf22200f0
+#define FSTV0910_P2_CORREL_ABSEXP 0xf22240f0
#define FSTV0910_P2_CORREL_EXP 0xf222000f
/* P2_PLHMODCOD */
#define RSTV0910_P2_PLHMODCOD 0xf224
-#define FSTV0910_P2_SPECINV_DEMOD 0xf2240080
-#define FSTV0910_P2_PLH_MODCOD 0xf224007c
+#define FSTV0910_P2_SPECINV_DEMOD 0xf2247080
+#define FSTV0910_P2_PLH_MODCOD 0xf224207c
#define FSTV0910_P2_PLH_TYPE 0xf2240003
/* P2_DMDREG */
@@ -660,19 +660,19 @@
/* P2_AGCNADJ */
#define RSTV0910_P2_AGCNADJ 0xf226
-#define FSTV0910_P2_RADJOFF_AGC2 0xf2260080
-#define FSTV0910_P2_RADJOFF_AGC1 0xf2260040
+#define FSTV0910_P2_RADJOFF_AGC2 0xf2267080
+#define FSTV0910_P2_RADJOFF_AGC1 0xf2266040
#define FSTV0910_P2_AGC_NADJ 0xf226013f
/* P2_AGCKS */
#define RSTV0910_P2_AGCKS 0xf227
-#define FSTV0910_P2_RSADJ_MANUALCFG 0xf2270080
-#define FSTV0910_P2_RSADJ_CCMMODE 0xf2270040
+#define FSTV0910_P2_RSADJ_MANUALCFG 0xf2277080
+#define FSTV0910_P2_RSADJ_CCMMODE 0xf2276040
#define FSTV0910_P2_RADJ_SPSK 0xf227013f
/* P2_AGCKQ */
#define RSTV0910_P2_AGCKQ 0xf228
-#define FSTV0910_P2_RADJON_DVBS1 0xf2280040
+#define FSTV0910_P2_RADJON_DVBS1 0xf2286040
#define FSTV0910_P2_RADJ_QPSK 0xf228013f
/* P2_AGCK8 */
@@ -681,20 +681,20 @@
/* P2_AGCK16 */
#define RSTV0910_P2_AGCK16 0xf22a
-#define FSTV0910_P2_R2ADJOFF_16APSK 0xf22a0040
-#define FSTV0910_P2_R1ADJOFF_16APSK 0xf22a0020
+#define FSTV0910_P2_R2ADJOFF_16APSK 0xf22a6040
+#define FSTV0910_P2_R1ADJOFF_16APSK 0xf22a5020
#define FSTV0910_P2_RADJ_16APSK 0xf22a011f
/* P2_AGCK32 */
#define RSTV0910_P2_AGCK32 0xf22b
-#define FSTV0910_P2_R3ADJOFF_32APSK 0xf22b0080
-#define FSTV0910_P2_R2ADJOFF_32APSK 0xf22b0040
-#define FSTV0910_P2_R1ADJOFF_32APSK 0xf22b0020
+#define FSTV0910_P2_R3ADJOFF_32APSK 0xf22b7080
+#define FSTV0910_P2_R2ADJOFF_32APSK 0xf22b6040
+#define FSTV0910_P2_R1ADJOFF_32APSK 0xf22b5020
#define FSTV0910_P2_RADJ_32APSK 0xf22b011f
/* P2_AGC2O */
#define RSTV0910_P2_AGC2O 0xf22c
-#define FSTV0910_P2_CSTENV_MODE 0xf22c00c0
+#define FSTV0910_P2_CSTENV_MODE 0xf22c60c0
#define FSTV0910_P2_AGC2_COEF 0xf22c0007
/* P2_AGC2REF */
@@ -743,32 +743,32 @@
/* P2_CARCFG */
#define RSTV0910_P2_CARCFG 0xf238
-#define FSTV0910_P2_ROTAON 0xf2380004
+#define FSTV0910_P2_ROTAON 0xf2382004
#define FSTV0910_P2_PH_DET_ALGO 0xf2380003
/* P2_ACLC */
#define RSTV0910_P2_ACLC 0xf239
-#define FSTV0910_P2_CAR_ALPHA_MANT 0xf2390030
+#define FSTV0910_P2_CAR_ALPHA_MANT 0xf2394030
#define FSTV0910_P2_CAR_ALPHA_EXP 0xf239000f
/* P2_BCLC */
#define RSTV0910_P2_BCLC 0xf23a
-#define FSTV0910_P2_CAR_BETA_MANT 0xf23a0030
+#define FSTV0910_P2_CAR_BETA_MANT 0xf23a4030
#define FSTV0910_P2_CAR_BETA_EXP 0xf23a000f
/* P2_ACLCS2 */
#define RSTV0910_P2_ACLCS2 0xf23b
-#define FSTV0910_P2_CARS2_APLHA_MANTISSE 0xf23b0030
+#define FSTV0910_P2_CARS2_APLHA_MANTISSE 0xf23b4030
#define FSTV0910_P2_CARS2_ALPHA_EXP 0xf23b000f
/* P2_BCLCS2 */
#define RSTV0910_P2_BCLCS2 0xf23c
-#define FSTV0910_P2_CARS2_BETA_MANTISSE 0xf23c0030
+#define FSTV0910_P2_CARS2_BETA_MANTISSE 0xf23c4030
#define FSTV0910_P2_CARS2_BETA_EXP 0xf23c000f
/* P2_CARFREQ */
#define RSTV0910_P2_CARFREQ 0xf23d
-#define FSTV0910_P2_KC_COARSE_EXP 0xf23d00f0
+#define FSTV0910_P2_KC_COARSE_EXP 0xf23d40f0
#define FSTV0910_P2_BETA_FREQ 0xf23d000f
/* P2_CARHDR */
@@ -821,7 +821,7 @@
/* P2_CFRINC1 */
#define RSTV0910_P2_CFRINC1 0xf24a
-#define FSTV0910_P2_MANUAL_CFRINC 0xf24a0080
+#define FSTV0910_P2_MANUAL_CFRINC 0xf24a7080
#define FSTV0910_P2_CFR_INC1 0xf24a003f
/* P2_CFRINC0 */
@@ -846,18 +846,18 @@
/* P2_TMGCFG */
#define RSTV0910_P2_TMGCFG 0xf250
-#define FSTV0910_P2_TMGLOCK_BETA 0xf25000c0
-#define FSTV0910_P2_DO_TIMING_CORR 0xf2500010
+#define FSTV0910_P2_TMGLOCK_BETA 0xf25060c0
+#define FSTV0910_P2_DO_TIMING_CORR 0xf2504010
#define FSTV0910_P2_TMG_MINFREQ 0xf2500003
/* P2_RTC */
#define RSTV0910_P2_RTC 0xf251
-#define FSTV0910_P2_TMGALPHA_EXP 0xf25100f0
+#define FSTV0910_P2_TMGALPHA_EXP 0xf25140f0
#define FSTV0910_P2_TMGBETA_EXP 0xf251000f
/* P2_RTCS2 */
#define RSTV0910_P2_RTCS2 0xf252
-#define FSTV0910_P2_TMGALPHAS2_EXP 0xf25200f0
+#define FSTV0910_P2_TMGALPHAS2_EXP 0xf25240f0
#define FSTV0910_P2_TMGBETAS2_EXP 0xf252000f
/* P2_TMGTHRISE */
@@ -878,7 +878,7 @@
/* P2_KTTMG */
#define RSTV0910_P2_KTTMG 0xf257
-#define FSTV0910_P2_KT_TMG_EXP 0xf25700f0
+#define FSTV0910_P2_KT_TMG_EXP 0xf25740f0
/* P2_KREFTMG */
#define RSTV0910_P2_KREFTMG 0xf258
@@ -886,12 +886,12 @@
/* P2_SFRSTEP */
#define RSTV0910_P2_SFRSTEP 0xf259
-#define FSTV0910_P2_SFR_SCANSTEP 0xf25900f0
+#define FSTV0910_P2_SFR_SCANSTEP 0xf25940f0
#define FSTV0910_P2_SFR_CENTERSTEP 0xf259000f
/* P2_TMGCFG2 */
#define RSTV0910_P2_TMGCFG2 0xf25a
-#define FSTV0910_P2_DIS_AUTOSAMP 0xf25a0008
+#define FSTV0910_P2_DIS_AUTOSAMP 0xf25a3008
#define FSTV0910_P2_SFRRATIO_FINE 0xf25a0001
/* P2_KREFTMG2 */
@@ -900,9 +900,9 @@
/* P2_TMGCFG3 */
#define RSTV0910_P2_TMGCFG3 0xf25d
-#define FSTV0910_P2_CONT_TMGCENTER 0xf25d0008
-#define FSTV0910_P2_AUTO_GUP 0xf25d0004
-#define FSTV0910_P2_AUTO_GLOW 0xf25d0002
+#define FSTV0910_P2_CONT_TMGCENTER 0xf25d3008
+#define FSTV0910_P2_AUTO_GUP 0xf25d2004
+#define FSTV0910_P2_AUTO_GLOW 0xf25d1002
/* P2_SFRINIT1 */
#define RSTV0910_P2_SFRINIT1 0xf25e
@@ -966,11 +966,11 @@
/* P2_TMGOBS */
#define RSTV0910_P2_TMGOBS 0xf26d
-#define FSTV0910_P2_ROLLOFF_STATUS 0xf26d00c0
+#define FSTV0910_P2_ROLLOFF_STATUS 0xf26d60c0
/* P2_EQUALCFG */
#define RSTV0910_P2_EQUALCFG 0xf26f
-#define FSTV0910_P2_EQUAL_ON 0xf26f0040
+#define FSTV0910_P2_EQUAL_ON 0xf26f6040
#define FSTV0910_P2_MU_EQUALDFE 0xf26f0007
/* P2_EQUAI1 */
@@ -1095,33 +1095,33 @@
/* P2_NOSCFGF1 */
#define RSTV0910_P2_NOSCFGF1 0xf28e
-#define FSTV0910_P2_LOWNOISE_MESURE 0xf28e0080
-#define FSTV0910_P2_NOS_DELFRAME 0xf28e0040
-#define FSTV0910_P2_NOSDATA_MODE 0xf28e0030
-#define FSTV0910_P2_FRAMESEL_TYPESEL 0xf28e000c
+#define FSTV0910_P2_LOWNOISE_MESURE 0xf28e7080
+#define FSTV0910_P2_NOS_DELFRAME 0xf28e6040
+#define FSTV0910_P2_NOSDATA_MODE 0xf28e4030
+#define FSTV0910_P2_FRAMESEL_TYPESEL 0xf28e200c
#define FSTV0910_P2_FRAMESEL_TYPE 0xf28e0003
/* P2_NOSCFGF2 */
#define RSTV0910_P2_NOSCFGF2 0xf28f
-#define FSTV0910_P2_DIS_NOSPILOTS 0xf28f0080
-#define FSTV0910_P2_FRAMESEL_MODCODSEL 0xf28f0060
+#define FSTV0910_P2_DIS_NOSPILOTS 0xf28f7080
+#define FSTV0910_P2_FRAMESEL_MODCODSEL 0xf28f5060
#define FSTV0910_P2_FRAMESEL_MODCOD 0xf28f001f
/* P2_CAR2CFG */
#define RSTV0910_P2_CAR2CFG 0xf290
-#define FSTV0910_P2_ROTA2ON 0xf2900004
+#define FSTV0910_P2_ROTA2ON 0xf2902004
#define FSTV0910_P2_PH_DET_ALGO2 0xf2900003
/* P2_CFR2CFR1 */
#define RSTV0910_P2_CFR2CFR1 0xf291
-#define FSTV0910_P2_EN_S2CAR2CENTER 0xf2910020
+#define FSTV0910_P2_EN_S2CAR2CENTER 0xf2915020
#define FSTV0910_P2_CFR2TOCFR1_BETA 0xf2910007
/* P2_CAR3CFG */
#define RSTV0910_P2_CAR3CFG 0xf292
-#define FSTV0910_P2_CARRIER23_MODE 0xf29200c0
-#define FSTV0910_P2_CAR3INTERM_DVBS1 0xf2920020
-#define FSTV0910_P2_ABAMPLIF_MODE 0xf2920018
+#define FSTV0910_P2_CARRIER23_MODE 0xf29260c0
+#define FSTV0910_P2_CAR3INTERM_DVBS1 0xf2925020
+#define FSTV0910_P2_ABAMPLIF_MODE 0xf2923018
#define FSTV0910_P2_CARRIER3_ALPHA3DL 0xf2920007
/* P2_CFR22 */
@@ -1138,50 +1138,50 @@
/* P2_ACLC2S2Q */
#define RSTV0910_P2_ACLC2S2Q 0xf297
-#define FSTV0910_P2_ENAB_SPSKSYMB 0xf2970080
-#define FSTV0910_P2_CAR2S2_Q_ALPH_M 0xf2970030
+#define FSTV0910_P2_ENAB_SPSKSYMB 0xf2977080
+#define FSTV0910_P2_CAR2S2_Q_ALPH_M 0xf2974030
#define FSTV0910_P2_CAR2S2_Q_ALPH_E 0xf297000f
/* P2_ACLC2S28 */
#define RSTV0910_P2_ACLC2S28 0xf298
-#define FSTV0910_P2_CAR2S2_8_ALPH_M 0xf2980030
+#define FSTV0910_P2_CAR2S2_8_ALPH_M 0xf2984030
#define FSTV0910_P2_CAR2S2_8_ALPH_E 0xf298000f
/* P2_ACLC2S216A */
#define RSTV0910_P2_ACLC2S216A 0xf299
-#define FSTV0910_P2_CAR2S2_16A_ALPH_M 0xf2990030
+#define FSTV0910_P2_CAR2S2_16A_ALPH_M 0xf2994030
#define FSTV0910_P2_CAR2S2_16A_ALPH_E 0xf299000f
/* P2_ACLC2S232A */
#define RSTV0910_P2_ACLC2S232A 0xf29a
-#define FSTV0910_P2_CAR2S2_32A_ALPH_M 0xf29a0030
+#define FSTV0910_P2_CAR2S2_32A_ALPH_M 0xf29a4030
#define FSTV0910_P2_CAR2S2_32A_ALPH_E 0xf29a000f
/* P2_BCLC2S2Q */
#define RSTV0910_P2_BCLC2S2Q 0xf29c
-#define FSTV0910_P2_CAR2S2_Q_BETA_M 0xf29c0030
+#define FSTV0910_P2_CAR2S2_Q_BETA_M 0xf29c4030
#define FSTV0910_P2_CAR2S2_Q_BETA_E 0xf29c000f
/* P2_BCLC2S28 */
#define RSTV0910_P2_BCLC2S28 0xf29d
-#define FSTV0910_P2_CAR2S2_8_BETA_M 0xf29d0030
+#define FSTV0910_P2_CAR2S2_8_BETA_M 0xf29d4030
#define FSTV0910_P2_CAR2S2_8_BETA_E 0xf29d000f
/* P2_BCLC2S216A */
#define RSTV0910_P2_BCLC2S216A 0xf29e
-#define FSTV0910_P2_DVBS2S216A_NIP 0xf29e0080
-#define FSTV0910_P2_CAR2S2_16A_BETA_M 0xf29e0030
+#define FSTV0910_P2_DVBS2S216A_NIP 0xf29e7080
+#define FSTV0910_P2_CAR2S2_16A_BETA_M 0xf29e4030
#define FSTV0910_P2_CAR2S2_16A_BETA_E 0xf29e000f
/* P2_BCLC2S232A */
#define RSTV0910_P2_BCLC2S232A 0xf29f
-#define FSTV0910_P2_DVBS2S232A_NIP 0xf29f0080
-#define FSTV0910_P2_CAR2S2_32A_BETA_M 0xf29f0030
+#define FSTV0910_P2_DVBS2S232A_NIP 0xf29f7080
+#define FSTV0910_P2_CAR2S2_32A_BETA_M 0xf29f4030
#define FSTV0910_P2_CAR2S2_32A_BETA_E 0xf29f000f
/* P2_PLROOT2 */
#define RSTV0910_P2_PLROOT2 0xf2ac
-#define FSTV0910_P2_PLSCRAMB_MODE 0xf2ac000c
+#define FSTV0910_P2_PLSCRAMB_MODE 0xf2ac200c
#define FSTV0910_P2_PLSCRAMB_ROOT2 0xf2ac0003
/* P2_PLROOT1 */
@@ -1198,100 +1198,100 @@
/* P2_MODCODLST1 */
#define RSTV0910_P2_MODCODLST1 0xf2b1
-#define FSTV0910_P2_SYMBRATE_FILTER 0xf2b10008
-#define FSTV0910_P2_NRESET_MODCODLST 0xf2b10004
+#define FSTV0910_P2_SYMBRATE_FILTER 0xf2b13008
+#define FSTV0910_P2_NRESET_MODCODLST 0xf2b12004
#define FSTV0910_P2_DIS_32PSK_9_10 0xf2b10003
/* P2_MODCODLST2 */
#define RSTV0910_P2_MODCODLST2 0xf2b2
-#define FSTV0910_P2_DIS_32PSK_8_9 0xf2b200f0
+#define FSTV0910_P2_DIS_32PSK_8_9 0xf2b240f0
#define FSTV0910_P2_DIS_32PSK_5_6 0xf2b2000f
/* P2_MODCODLST3 */
#define RSTV0910_P2_MODCODLST3 0xf2b3
-#define FSTV0910_P2_DIS_32PSK_4_5 0xf2b300f0
+#define FSTV0910_P2_DIS_32PSK_4_5 0xf2b340f0
#define FSTV0910_P2_DIS_32PSK_3_4 0xf2b3000f
/* P2_MODCODLST4 */
#define RSTV0910_P2_MODCODLST4 0xf2b4
-#define FSTV0910_P2_DUMMYPL_PILOT 0xf2b40080
-#define FSTV0910_P2_DUMMYPL_NOPILOT 0xf2b40040
-#define FSTV0910_P2_DIS_16PSK_9_10 0xf2b40030
+#define FSTV0910_P2_DUMMYPL_PILOT 0xf2b47080
+#define FSTV0910_P2_DUMMYPL_NOPILOT 0xf2b46040
+#define FSTV0910_P2_DIS_16PSK_9_10 0xf2b44030
#define FSTV0910_P2_DIS_16PSK_8_9 0xf2b4000f
/* P2_MODCODLST5 */
#define RSTV0910_P2_MODCODLST5 0xf2b5
-#define FSTV0910_P2_DIS_16PSK_5_6 0xf2b500f0
+#define FSTV0910_P2_DIS_16PSK_5_6 0xf2b540f0
#define FSTV0910_P2_DIS_16PSK_4_5 0xf2b5000f
/* P2_MODCODLST6 */
#define RSTV0910_P2_MODCODLST6 0xf2b6
-#define FSTV0910_P2_DIS_16PSK_3_4 0xf2b600f0
+#define FSTV0910_P2_DIS_16PSK_3_4 0xf2b640f0
#define FSTV0910_P2_DIS_16PSK_2_3 0xf2b6000f
/* P2_MODCODLST7 */
#define RSTV0910_P2_MODCODLST7 0xf2b7
-#define FSTV0910_P2_MODCOD_NNOSFILTER 0xf2b70080
-#define FSTV0910_P2_DIS_8PSK_9_10 0xf2b70030
+#define FSTV0910_P2_MODCOD_NNOSFILTER 0xf2b77080
+#define FSTV0910_P2_DIS_8PSK_9_10 0xf2b74030
#define FSTV0910_P2_DIS_8PSK_8_9 0xf2b7000f
/* P2_MODCODLST8 */
#define RSTV0910_P2_MODCODLST8 0xf2b8
-#define FSTV0910_P2_DIS_8PSK_5_6 0xf2b800f0
+#define FSTV0910_P2_DIS_8PSK_5_6 0xf2b840f0
#define FSTV0910_P2_DIS_8PSK_3_4 0xf2b8000f
/* P2_MODCODLST9 */
#define RSTV0910_P2_MODCODLST9 0xf2b9
-#define FSTV0910_P2_DIS_8PSK_2_3 0xf2b900f0
+#define FSTV0910_P2_DIS_8PSK_2_3 0xf2b940f0
#define FSTV0910_P2_DIS_8PSK_3_5 0xf2b9000f
/* P2_MODCODLSTA */
#define RSTV0910_P2_MODCODLSTA 0xf2ba
-#define FSTV0910_P2_NOSFILTER_LIMITE 0xf2ba0080
-#define FSTV0910_P2_DIS_QPSK_9_10 0xf2ba0030
+#define FSTV0910_P2_NOSFILTER_LIMITE 0xf2ba7080
+#define FSTV0910_P2_DIS_QPSK_9_10 0xf2ba4030
#define FSTV0910_P2_DIS_QPSK_8_9 0xf2ba000f
/* P2_MODCODLSTB */
#define RSTV0910_P2_MODCODLSTB 0xf2bb
-#define FSTV0910_P2_DIS_QPSK_5_6 0xf2bb00f0
+#define FSTV0910_P2_DIS_QPSK_5_6 0xf2bb40f0
#define FSTV0910_P2_DIS_QPSK_4_5 0xf2bb000f
/* P2_MODCODLSTC */
#define RSTV0910_P2_MODCODLSTC 0xf2bc
-#define FSTV0910_P2_DIS_QPSK_3_4 0xf2bc00f0
+#define FSTV0910_P2_DIS_QPSK_3_4 0xf2bc40f0
#define FSTV0910_P2_DIS_QPSK_2_3 0xf2bc000f
/* P2_MODCODLSTD */
#define RSTV0910_P2_MODCODLSTD 0xf2bd
-#define FSTV0910_P2_DIS_QPSK_3_5 0xf2bd00f0
+#define FSTV0910_P2_DIS_QPSK_3_5 0xf2bd40f0
#define FSTV0910_P2_DIS_QPSK_1_2 0xf2bd000f
/* P2_MODCODLSTE */
#define RSTV0910_P2_MODCODLSTE 0xf2be
-#define FSTV0910_P2_DIS_QPSK_2_5 0xf2be00f0
+#define FSTV0910_P2_DIS_QPSK_2_5 0xf2be40f0
#define FSTV0910_P2_DIS_QPSK_1_3 0xf2be000f
/* P2_MODCODLSTF */
#define RSTV0910_P2_MODCODLSTF 0xf2bf
-#define FSTV0910_P2_DIS_QPSK_1_4 0xf2bf00f0
-#define FSTV0910_P2_DEMOD_INVMODLST 0xf2bf0008
-#define FSTV0910_P2_DEMODOUT_ENABLE 0xf2bf0004
-#define FSTV0910_P2_DDEMOD_NSET 0xf2bf0002
+#define FSTV0910_P2_DIS_QPSK_1_4 0xf2bf40f0
+#define FSTV0910_P2_DEMOD_INVMODLST 0xf2bf3008
+#define FSTV0910_P2_DEMODOUT_ENABLE 0xf2bf2004
+#define FSTV0910_P2_DDEMOD_NSET 0xf2bf1002
#define FSTV0910_P2_MODCOD_NSTOCK 0xf2bf0001
/* P2_GAUSSR0 */
#define RSTV0910_P2_GAUSSR0 0xf2c0
-#define FSTV0910_P2_EN_CCIMODE 0xf2c00080
+#define FSTV0910_P2_EN_CCIMODE 0xf2c07080
#define FSTV0910_P2_R0_GAUSSIEN 0xf2c0007f
/* P2_CCIR0 */
#define RSTV0910_P2_CCIR0 0xf2c1
-#define FSTV0910_P2_CCIDETECT_PLHONLY 0xf2c10080
+#define FSTV0910_P2_CCIDETECT_PLHONLY 0xf2c17080
#define FSTV0910_P2_R0_CCI 0xf2c1007f
/* P2_CCIQUANT */
#define RSTV0910_P2_CCIQUANT 0xf2c2
-#define FSTV0910_P2_CCI_BETA 0xf2c200e0
+#define FSTV0910_P2_CCI_BETA 0xf2c250e0
#define FSTV0910_P2_CCI_QUANT 0xf2c2001f
/* P2_CCITHRES */
@@ -1304,24 +1304,24 @@
/* P2_DSTATUS4 */
#define RSTV0910_P2_DSTATUS4 0xf2c5
-#define FSTV0910_P2_RAINFADE_DETECT 0xf2c50080
-#define FSTV0910_P2_NOTHRES2_FAIL 0xf2c50040
-#define FSTV0910_P2_NOTHRES1_FAIL 0xf2c50020
-#define FSTV0910_P2_DMDPROG_ERROR 0xf2c50004
-#define FSTV0910_P2_CSTENV_DETECT 0xf2c50002
+#define FSTV0910_P2_RAINFADE_DETECT 0xf2c57080
+#define FSTV0910_P2_NOTHRES2_FAIL 0xf2c56040
+#define FSTV0910_P2_NOTHRES1_FAIL 0xf2c55020
+#define FSTV0910_P2_DMDPROG_ERROR 0xf2c52004
+#define FSTV0910_P2_CSTENV_DETECT 0xf2c51002
#define FSTV0910_P2_DETECTION_TRIAX 0xf2c50001
/* P2_DMDRESCFG */
#define RSTV0910_P2_DMDRESCFG 0xf2c6
-#define FSTV0910_P2_DMDRES_RESET 0xf2c60080
-#define FSTV0910_P2_DMDRES_STRALL 0xf2c60008
-#define FSTV0910_P2_DMDRES_NEWONLY 0xf2c60004
-#define FSTV0910_P2_DMDRES_NOSTORE 0xf2c60002
+#define FSTV0910_P2_DMDRES_RESET 0xf2c67080
+#define FSTV0910_P2_DMDRES_STRALL 0xf2c63008
+#define FSTV0910_P2_DMDRES_NEWONLY 0xf2c62004
+#define FSTV0910_P2_DMDRES_NOSTORE 0xf2c61002
/* P2_DMDRESADR */
#define RSTV0910_P2_DMDRESADR 0xf2c7
-#define FSTV0910_P2_DMDRES_VALIDCFR 0xf2c70040
-#define FSTV0910_P2_DMDRES_MEMFULL 0xf2c70030
+#define FSTV0910_P2_DMDRES_VALIDCFR 0xf2c76040
+#define FSTV0910_P2_DMDRES_MEMFULL 0xf2c74030
#define FSTV0910_P2_DMDRES_RESNBR 0xf2c7000f
/* P2_DMDRESDATA7 */
@@ -1390,29 +1390,29 @@
/* P2_FFECFG */
#define RSTV0910_P2_FFECFG 0xf2d8
-#define FSTV0910_P2_EQUALFFE_ON 0xf2d80040
-#define FSTV0910_P2_EQUAL_USEDSYMB 0xf2d80030
+#define FSTV0910_P2_EQUALFFE_ON 0xf2d86040
+#define FSTV0910_P2_EQUAL_USEDSYMB 0xf2d84030
#define FSTV0910_P2_MU_EQUALFFE 0xf2d80007
/* P2_TNRCFG2 */
#define RSTV0910_P2_TNRCFG2 0xf2e1
-#define FSTV0910_P2_TUN_IQSWAP 0xf2e10080
+#define FSTV0910_P2_TUN_IQSWAP 0xf2e17080
/* P2_SMAPCOEF7 */
#define RSTV0910_P2_SMAPCOEF7 0xf300
-#define FSTV0910_P2_DIS_QSCALE 0xf3000080
+#define FSTV0910_P2_DIS_QSCALE 0xf3007080
#define FSTV0910_P2_SMAPCOEF_Q_LLR12 0xf300017f
/* P2_SMAPCOEF6 */
#define RSTV0910_P2_SMAPCOEF6 0xf301
-#define FSTV0910_P2_DIS_AGC2SCALE 0xf3010080
-#define FSTV0910_P2_ADJ_8PSKLLR1 0xf3010004
-#define FSTV0910_P2_OLD_8PSKLLR1 0xf3010002
+#define FSTV0910_P2_DIS_AGC2SCALE 0xf3017080
+#define FSTV0910_P2_ADJ_8PSKLLR1 0xf3012004
+#define FSTV0910_P2_OLD_8PSKLLR1 0xf3011002
#define FSTV0910_P2_DIS_AB8PSK 0xf3010001
/* P2_SMAPCOEF5 */
#define RSTV0910_P2_SMAPCOEF5 0xf302
-#define FSTV0910_P2_DIS_8SCALE 0xf3020080
+#define FSTV0910_P2_DIS_8SCALE 0xf3027080
#define FSTV0910_P2_SMAPCOEF_8P_LLR23 0xf302017f
/* P2_SMAPCOEF4 */
@@ -1425,17 +1425,17 @@
/* P2_SMAPCOEF2 */
#define RSTV0910_P2_SMAPCOEF2 0xf305
-#define FSTV0910_P2_SMAPCOEF_32APSK_R2R3 0xf30501f0
+#define FSTV0910_P2_SMAPCOEF_32APSK_R2R3 0xf30541f0
#define FSTV0910_P2_SMAPCOEF_32APSK_LLR2 0xf305010f
/* P2_SMAPCOEF1 */
#define RSTV0910_P2_SMAPCOEF1 0xf306
-#define FSTV0910_P2_DIS_16SCALE 0xf3060080
+#define FSTV0910_P2_DIS_16SCALE 0xf3067080
#define FSTV0910_P2_SMAPCOEF_32_LLR34 0xf306017f
/* P2_SMAPCOEF0 */
#define RSTV0910_P2_SMAPCOEF0 0xf307
-#define FSTV0910_P2_DIS_32SCALE 0xf3070080
+#define FSTV0910_P2_DIS_32SCALE 0xf3077080
#define FSTV0910_P2_SMAPCOEF_32_LLR15 0xf307017f
/* P2_NOSTHRES1 */
@@ -1452,20 +1452,20 @@
/* P2_RAINFADE */
#define RSTV0910_P2_RAINFADE 0xf30c
-#define FSTV0910_P2_NOSTHRES_DATAT 0xf30c0080
-#define FSTV0910_P2_RAINFADE_CNLIMIT 0xf30c0070
+#define FSTV0910_P2_NOSTHRES_DATAT 0xf30c7080
+#define FSTV0910_P2_RAINFADE_CNLIMIT 0xf30c4070
#define FSTV0910_P2_RAINFADE_TIMEOUT 0xf30c0007
/* P2_NOSRAMCFG */
#define RSTV0910_P2_NOSRAMCFG 0xf30d
-#define FSTV0910_P2_NOSRAM_ACTIVATION 0xf30d0030
-#define FSTV0910_P2_NOSRAM_CNRONLY 0xf30d0008
+#define FSTV0910_P2_NOSRAM_ACTIVATION 0xf30d4030
+#define FSTV0910_P2_NOSRAM_CNRONLY 0xf30d3008
#define FSTV0910_P2_NOSRAM_LGNCNR1 0xf30d0007
/* P2_NOSRAMPOS */
#define RSTV0910_P2_NOSRAMPOS 0xf30e
-#define FSTV0910_P2_NOSRAM_LGNCNR0 0xf30e00f0
-#define FSTV0910_P2_NOSRAM_VALIDE 0xf30e0004
+#define FSTV0910_P2_NOSRAM_LGNCNR0 0xf30e40f0
+#define FSTV0910_P2_NOSRAM_VALIDE 0xf30e2004
#define FSTV0910_P2_NOSRAM_CNRVAL1 0xf30e0003
/* P2_NOSRAMVAL */
@@ -1494,16 +1494,16 @@
/* P2_VITSCALE */
#define RSTV0910_P2_VITSCALE 0xf332
-#define FSTV0910_P2_NVTH_NOSRANGE 0xf3320080
-#define FSTV0910_P2_VERROR_MAXMODE 0xf3320040
-#define FSTV0910_P2_NSLOWSN_LOCKED 0xf3320008
-#define FSTV0910_P2_DIS_RSFLOCK 0xf3320002
+#define FSTV0910_P2_NVTH_NOSRANGE 0xf3327080
+#define FSTV0910_P2_VERROR_MAXMODE 0xf3326040
+#define FSTV0910_P2_NSLOWSN_LOCKED 0xf3323008
+#define FSTV0910_P2_DIS_RSFLOCK 0xf3321002
/* P2_FECM */
#define RSTV0910_P2_FECM 0xf333
-#define FSTV0910_P2_DSS_DVB 0xf3330080
-#define FSTV0910_P2_DSS_SRCH 0xf3330010
-#define FSTV0910_P2_SYNCVIT 0xf3330002
+#define FSTV0910_P2_DSS_DVB 0xf3337080
+#define FSTV0910_P2_DSS_SRCH 0xf3334010
+#define FSTV0910_P2_SYNCVIT 0xf3331002
#define FSTV0910_P2_IQINV 0xf3330001
/* P2_VTH12 */
@@ -1540,26 +1540,26 @@
/* P2_PRVIT */
#define RSTV0910_P2_PRVIT 0xf33c
-#define FSTV0910_P2_DIS_VTHLOCK 0xf33c0040
-#define FSTV0910_P2_E7_8VIT 0xf33c0020
-#define FSTV0910_P2_E6_7VIT 0xf33c0010
-#define FSTV0910_P2_E5_6VIT 0xf33c0008
-#define FSTV0910_P2_E3_4VIT 0xf33c0004
-#define FSTV0910_P2_E2_3VIT 0xf33c0002
+#define FSTV0910_P2_DIS_VTHLOCK 0xf33c6040
+#define FSTV0910_P2_E7_8VIT 0xf33c5020
+#define FSTV0910_P2_E6_7VIT 0xf33c4010
+#define FSTV0910_P2_E5_6VIT 0xf33c3008
+#define FSTV0910_P2_E3_4VIT 0xf33c2004
+#define FSTV0910_P2_E2_3VIT 0xf33c1002
#define FSTV0910_P2_E1_2VIT 0xf33c0001
/* P2_VAVSRVIT */
#define RSTV0910_P2_VAVSRVIT 0xf33d
-#define FSTV0910_P2_AMVIT 0xf33d0080
-#define FSTV0910_P2_FROZENVIT 0xf33d0040
-#define FSTV0910_P2_SNVIT 0xf33d0030
-#define FSTV0910_P2_TOVVIT 0xf33d000c
+#define FSTV0910_P2_AMVIT 0xf33d7080
+#define FSTV0910_P2_FROZENVIT 0xf33d6040
+#define FSTV0910_P2_SNVIT 0xf33d4030
+#define FSTV0910_P2_TOVVIT 0xf33d200c
#define FSTV0910_P2_HYPVIT 0xf33d0003
/* P2_VSTATUSVIT */
#define RSTV0910_P2_VSTATUSVIT 0xf33e
-#define FSTV0910_P2_PRFVIT 0xf33e0010
-#define FSTV0910_P2_LOCKEDVIT 0xf33e0008
+#define FSTV0910_P2_PRFVIT 0xf33e4010
+#define FSTV0910_P2_LOCKEDVIT 0xf33e3008
/* P2_VTHINUSE */
#define RSTV0910_P2_VTHINUSE 0xf33f
@@ -1599,32 +1599,32 @@
/* P2_PDELCTRL0 */
#define RSTV0910_P2_PDELCTRL0 0xf34f
-#define FSTV0910_P2_ISIOBS_MODE 0xf34f0030
+#define FSTV0910_P2_ISIOBS_MODE 0xf34f4030
/* P2_PDELCTRL1 */
#define RSTV0910_P2_PDELCTRL1 0xf350
-#define FSTV0910_P2_INV_MISMASK 0xf3500080
-#define FSTV0910_P2_FILTER_EN 0xf3500020
-#define FSTV0910_P2_HYSTEN 0xf3500008
-#define FSTV0910_P2_HYSTSWRST 0xf3500004
-#define FSTV0910_P2_EN_MIS00 0xf3500002
+#define FSTV0910_P2_INV_MISMASK 0xf3507080
+#define FSTV0910_P2_FILTER_EN 0xf3505020
+#define FSTV0910_P2_HYSTEN 0xf3503008
+#define FSTV0910_P2_HYSTSWRST 0xf3502004
+#define FSTV0910_P2_EN_MIS00 0xf3501002
#define FSTV0910_P2_ALGOSWRST 0xf3500001
/* P2_PDELCTRL2 */
#define RSTV0910_P2_PDELCTRL2 0xf351
-#define FSTV0910_P2_FORCE_CONTINUOUS 0xf3510080
-#define FSTV0910_P2_RESET_UPKO_COUNT 0xf3510040
-#define FSTV0910_P2_USER_PKTDELIN_NB 0xf3510020
-#define FSTV0910_P2_FRAME_MODE 0xf3510002
+#define FSTV0910_P2_FORCE_CONTINUOUS 0xf3517080
+#define FSTV0910_P2_RESET_UPKO_COUNT 0xf3516040
+#define FSTV0910_P2_USER_PKTDELIN_NB 0xf3515020
+#define FSTV0910_P2_FRAME_MODE 0xf3511002
/* P2_HYSTTHRESH */
#define RSTV0910_P2_HYSTTHRESH 0xf354
-#define FSTV0910_P2_DELIN_LOCKTHRES 0xf35400f0
+#define FSTV0910_P2_DELIN_LOCKTHRES 0xf35440f0
#define FSTV0910_P2_DELIN_UNLOCKTHRES 0xf354000f
/* P2_UPLCCST0 */
#define RSTV0910_P2_UPLCCST0 0xf358
-#define FSTV0910_P2_UPL_CST0 0xf35800f8
+#define FSTV0910_P2_UPL_CST0 0xf35830f8
#define FSTV0910_P2_UPL_MODE 0xf3580007
/* P2_ISIENTRY */
@@ -1673,16 +1673,16 @@
/* P2_PDELSTATUS1 */
#define RSTV0910_P2_PDELSTATUS1 0xf369
-#define FSTV0910_P2_PKTDELIN_DELOCK 0xf3690080
-#define FSTV0910_P2_SYNCDUPDFL_BADDFL 0xf3690040
-#define FSTV0910_P2_UNACCEPTED_STREAM 0xf3690010
-#define FSTV0910_P2_BCH_ERROR_FLAG 0xf3690008
-#define FSTV0910_P2_PKTDELIN_LOCK 0xf3690002
+#define FSTV0910_P2_PKTDELIN_DELOCK 0xf3697080
+#define FSTV0910_P2_SYNCDUPDFL_BADDFL 0xf3696040
+#define FSTV0910_P2_UNACCEPTED_STREAM 0xf3694010
+#define FSTV0910_P2_BCH_ERROR_FLAG 0xf3693008
+#define FSTV0910_P2_PKTDELIN_LOCK 0xf3691002
#define FSTV0910_P2_FIRST_LOCK 0xf3690001
/* P2_PDELSTATUS2 */
#define RSTV0910_P2_PDELSTATUS2 0xf36a
-#define FSTV0910_P2_FRAME_MODCOD 0xf36a007c
+#define FSTV0910_P2_FRAME_MODCOD 0xf36a207c
#define FSTV0910_P2_FRAME_TYPE 0xf36a0003
/* P2_BBFCRCKO1 */
@@ -1703,92 +1703,92 @@
/* P2_PDELCTRL3 */
#define RSTV0910_P2_PDELCTRL3 0xf36f
-#define FSTV0910_P2_NOFIFO_BCHERR 0xf36f0020
-#define FSTV0910_P2_PKTDELIN_DELACMERR 0xf36f0010
+#define FSTV0910_P2_NOFIFO_BCHERR 0xf36f5020
+#define FSTV0910_P2_PKTDELIN_DELACMERR 0xf36f4010
/* P2_TSSTATEM */
#define RSTV0910_P2_TSSTATEM 0xf370
-#define FSTV0910_P2_TSDIL_ON 0xf3700080
-#define FSTV0910_P2_TSRS_ON 0xf3700020
-#define FSTV0910_P2_TSDESCRAMB_ON 0xf3700010
-#define FSTV0910_P2_TSFRAME_MODE 0xf3700008
-#define FSTV0910_P2_TS_DISABLE 0xf3700004
-#define FSTV0910_P2_TSACM_MODE 0xf3700002
+#define FSTV0910_P2_TSDIL_ON 0xf3707080
+#define FSTV0910_P2_TSRS_ON 0xf3705020
+#define FSTV0910_P2_TSDESCRAMB_ON 0xf3704010
+#define FSTV0910_P2_TSFRAME_MODE 0xf3703008
+#define FSTV0910_P2_TS_DISABLE 0xf3702004
+#define FSTV0910_P2_TSACM_MODE 0xf3701002
#define FSTV0910_P2_TSOUT_NOSYNC 0xf3700001
/* P2_TSSTATEL */
#define RSTV0910_P2_TSSTATEL 0xf371
-#define FSTV0910_P2_TSNOSYNCBYTE 0xf3710080
-#define FSTV0910_P2_TSPARITY_ON 0xf3710040
-#define FSTV0910_P2_TSISSYI_ON 0xf3710008
-#define FSTV0910_P2_TSNPD_ON 0xf3710004
-#define FSTV0910_P2_TSCRC8_ON 0xf3710002
+#define FSTV0910_P2_TSNOSYNCBYTE 0xf3717080
+#define FSTV0910_P2_TSPARITY_ON 0xf3716040
+#define FSTV0910_P2_TSISSYI_ON 0xf3713008
+#define FSTV0910_P2_TSNPD_ON 0xf3712004
+#define FSTV0910_P2_TSCRC8_ON 0xf3711002
#define FSTV0910_P2_TSDSS_PACKET 0xf3710001
/* P2_TSCFGH */
#define RSTV0910_P2_TSCFGH 0xf372
-#define FSTV0910_P2_TSFIFO_DVBCI 0xf3720080
-#define FSTV0910_P2_TSFIFO_SERIAL 0xf3720040
-#define FSTV0910_P2_TSFIFO_TEIUPDATE 0xf3720020
-#define FSTV0910_P2_TSFIFO_DUTY50 0xf3720010
-#define FSTV0910_P2_TSFIFO_HSGNLOUT 0xf3720008
-#define FSTV0910_P2_TSFIFO_ERRMODE 0xf3720006
+#define FSTV0910_P2_TSFIFO_DVBCI 0xf3727080
+#define FSTV0910_P2_TSFIFO_SERIAL 0xf3726040
+#define FSTV0910_P2_TSFIFO_TEIUPDATE 0xf3725020
+#define FSTV0910_P2_TSFIFO_DUTY50 0xf3724010
+#define FSTV0910_P2_TSFIFO_HSGNLOUT 0xf3723008
+#define FSTV0910_P2_TSFIFO_ERRMODE 0xf3721006
#define FSTV0910_P2_RST_HWARE 0xf3720001
/* P2_TSCFGM */
#define RSTV0910_P2_TSCFGM 0xf373
-#define FSTV0910_P2_TSFIFO_MANSPEED 0xf37300c0
-#define FSTV0910_P2_TSFIFO_PERMDATA 0xf3730020
-#define FSTV0910_P2_TSFIFO_NONEWSGNL 0xf3730010
+#define FSTV0910_P2_TSFIFO_MANSPEED 0xf37360c0
+#define FSTV0910_P2_TSFIFO_PERMDATA 0xf3735020
+#define FSTV0910_P2_TSFIFO_NONEWSGNL 0xf3734010
#define FSTV0910_P2_TSFIFO_INVDATA 0xf3730001
/* P2_TSCFGL */
#define RSTV0910_P2_TSCFGL 0xf374
-#define FSTV0910_P2_TSFIFO_BCLKDEL1CK 0xf37400c0
-#define FSTV0910_P2_BCHERROR_MODE 0xf3740030
-#define FSTV0910_P2_TSFIFO_NSGNL2DATA 0xf3740008
-#define FSTV0910_P2_TSFIFO_EMBINDVB 0xf3740004
+#define FSTV0910_P2_TSFIFO_BCLKDEL1CK 0xf37460c0
+#define FSTV0910_P2_BCHERROR_MODE 0xf3744030
+#define FSTV0910_P2_TSFIFO_NSGNL2DATA 0xf3743008
+#define FSTV0910_P2_TSFIFO_EMBINDVB 0xf3742004
#define FSTV0910_P2_TSFIFO_BITSPEED 0xf3740003
/* P2_TSSYNC */
#define RSTV0910_P2_TSSYNC 0xf375
-#define FSTV0910_P2_TSFIFO_SYNCMODE 0xf3750018
+#define FSTV0910_P2_TSFIFO_SYNCMODE 0xf3753018
/* P2_TSINSDELH */
#define RSTV0910_P2_TSINSDELH 0xf376
-#define FSTV0910_P2_TSDEL_SYNCBYTE 0xf3760080
-#define FSTV0910_P2_TSDEL_XXHEADER 0xf3760040
-#define FSTV0910_P2_TSDEL_DATAFIELD 0xf3760010
-#define FSTV0910_P2_TSINSDEL_RSPARITY 0xf3760002
+#define FSTV0910_P2_TSDEL_SYNCBYTE 0xf3767080
+#define FSTV0910_P2_TSDEL_XXHEADER 0xf3766040
+#define FSTV0910_P2_TSDEL_DATAFIELD 0xf3764010
+#define FSTV0910_P2_TSINSDEL_RSPARITY 0xf3761002
#define FSTV0910_P2_TSINSDEL_CRC8 0xf3760001
/* P2_TSINSDELM */
#define RSTV0910_P2_TSINSDELM 0xf377
-#define FSTV0910_P2_TSINS_EMODCOD 0xf3770010
-#define FSTV0910_P2_TSINS_TOKEN 0xf3770008
-#define FSTV0910_P2_TSINS_XXXERR 0xf3770004
-#define FSTV0910_P2_TSINS_MATYPE 0xf3770002
+#define FSTV0910_P2_TSINS_EMODCOD 0xf3774010
+#define FSTV0910_P2_TSINS_TOKEN 0xf3773008
+#define FSTV0910_P2_TSINS_XXXERR 0xf3772004
+#define FSTV0910_P2_TSINS_MATYPE 0xf3771002
#define FSTV0910_P2_TSINS_UPL 0xf3770001
/* P2_TSINSDELL */
#define RSTV0910_P2_TSINSDELL 0xf378
-#define FSTV0910_P2_TSINS_DFL 0xf3780080
-#define FSTV0910_P2_TSINS_SYNCD 0xf3780040
-#define FSTV0910_P2_TSINS_BLOCLEN 0xf3780020
-#define FSTV0910_P2_TSINS_SIGPCOUNT 0xf3780010
-#define FSTV0910_P2_TSINS_FIFO 0xf3780008
-#define FSTV0910_P2_TSINS_REALPACK 0xf3780004
-#define FSTV0910_P2_TSINS_TSCONFIG 0xf3780002
+#define FSTV0910_P2_TSINS_DFL 0xf3787080
+#define FSTV0910_P2_TSINS_SYNCD 0xf3786040
+#define FSTV0910_P2_TSINS_BLOCLEN 0xf3785020
+#define FSTV0910_P2_TSINS_SIGPCOUNT 0xf3784010
+#define FSTV0910_P2_TSINS_FIFO 0xf3783008
+#define FSTV0910_P2_TSINS_REALPACK 0xf3782004
+#define FSTV0910_P2_TSINS_TSCONFIG 0xf3781002
#define FSTV0910_P2_TSINS_LATENCY 0xf3780001
/* P2_TSDIVN */
#define RSTV0910_P2_TSDIVN 0xf379
-#define FSTV0910_P2_TSFIFO_SPEEDMODE 0xf37900c0
+#define FSTV0910_P2_TSFIFO_SPEEDMODE 0xf37960c0
#define FSTV0910_P2_TSFIFO_RISEOK 0xf3790007
/* P2_TSCFG4 */
#define RSTV0910_P2_TSCFG4 0xf37a
-#define FSTV0910_P2_TSFIFO_TSSPEEDMODE 0xf37a00c0
+#define FSTV0910_P2_TSFIFO_TSSPEEDMODE 0xf37a60c0
/* P2_TSSPEED */
#define RSTV0910_P2_TSSPEED 0xf380
@@ -1796,18 +1796,18 @@
/* P2_TSSTATUS */
#define RSTV0910_P2_TSSTATUS 0xf381
-#define FSTV0910_P2_TSFIFO_LINEOK 0xf3810080
-#define FSTV0910_P2_TSFIFO_ERROR 0xf3810040
-#define FSTV0910_P2_TSFIFO_NOSYNC 0xf3810010
-#define FSTV0910_P2_TSREGUL_ERROR 0xf3810004
+#define FSTV0910_P2_TSFIFO_LINEOK 0xf3817080
+#define FSTV0910_P2_TSFIFO_ERROR 0xf3816040
+#define FSTV0910_P2_TSFIFO_NOSYNC 0xf3814010
+#define FSTV0910_P2_TSREGUL_ERROR 0xf3812004
#define FSTV0910_P2_DIL_READY 0xf3810001
/* P2_TSSTATUS2 */
#define RSTV0910_P2_TSSTATUS2 0xf382
-#define FSTV0910_P2_TSFIFO_DEMODSEL 0xf3820080
-#define FSTV0910_P2_TSFIFOSPEED_STORE 0xf3820040
-#define FSTV0910_P2_DILXX_RESET 0xf3820020
-#define FSTV0910_P2_SCRAMBDETECT 0xf3820002
+#define FSTV0910_P2_TSFIFO_DEMODSEL 0xf3827080
+#define FSTV0910_P2_TSFIFOSPEED_STORE 0xf3826040
+#define FSTV0910_P2_DILXX_RESET 0xf3825020
+#define FSTV0910_P2_SCRAMBDETECT 0xf3821002
/* P2_TSBITRATE1 */
#define RSTV0910_P2_TSBITRATE1 0xf383
@@ -1819,7 +1819,7 @@
/* P2_TSPACKLEN1 */
#define RSTV0910_P2_TSPACKLEN1 0xf385
-#define FSTV0910_P2_TSFIFO_PACKCPT 0xf38500e0
+#define FSTV0910_P2_TSFIFO_PACKCPT 0xf38550e0
/* P2_TSDLY2 */
#define RSTV0910_P2_TSDLY2 0xf389
@@ -1839,8 +1839,8 @@
/* P2_TSBUFSTAT2 */
#define RSTV0910_P2_TSBUFSTAT2 0xf38d
-#define FSTV0910_P2_TSISCR_3BYTES 0xf38d0080
-#define FSTV0910_P2_TSISCR_NEWDATA 0xf38d0040
+#define FSTV0910_P2_TSISCR_3BYTES 0xf38d7080
+#define FSTV0910_P2_TSISCR_NEWDATA 0xf38d6040
#define FSTV0910_P2_TSISCR_BUFSTAT2 0xf38d003f
/* P2_TSBUFSTAT1 */
@@ -1853,13 +1853,13 @@
/* P2_TSDEBUGL */
#define RSTV0910_P2_TSDEBUGL 0xf391
-#define FSTV0910_P2_TSFIFO_ERROR_EVNT 0xf3910004
+#define FSTV0910_P2_TSFIFO_ERROR_EVNT 0xf3912004
#define FSTV0910_P2_TSFIFO_OVERFLOWM 0xf3910001
/* P2_TSDLYSET2 */
#define RSTV0910_P2_TSDLYSET2 0xf392
-#define FSTV0910_P2_SOFFIFO_OFFSET 0xf39200c0
-#define FSTV0910_P2_HYSTERESIS_THRESHOLD 0xf3920030
+#define FSTV0910_P2_SOFFIFO_OFFSET 0xf39260c0
+#define FSTV0910_P2_HYSTERESIS_THRESHOLD 0xf3924030
#define FSTV0910_P2_SOFFIFO_SYMBOFFS2 0xf392000f
/* P2_TSDLYSET1 */
@@ -1872,12 +1872,12 @@
/* P2_ERRCTRL1 */
#define RSTV0910_P2_ERRCTRL1 0xf398
-#define FSTV0910_P2_ERR_SOURCE1 0xf39800f0
+#define FSTV0910_P2_ERR_SOURCE1 0xf39840f0
#define FSTV0910_P2_NUM_EVENT1 0xf3980007
/* P2_ERRCNT12 */
#define RSTV0910_P2_ERRCNT12 0xf399
-#define FSTV0910_P2_ERRCNT1_OLDVALUE 0xf3990080
+#define FSTV0910_P2_ERRCNT1_OLDVALUE 0xf3997080
#define FSTV0910_P2_ERR_CNT12 0xf399007f
/* P2_ERRCNT11 */
@@ -1890,12 +1890,12 @@
/* P2_ERRCTRL2 */
#define RSTV0910_P2_ERRCTRL2 0xf39c
-#define FSTV0910_P2_ERR_SOURCE2 0xf39c00f0
+#define FSTV0910_P2_ERR_SOURCE2 0xf39c40f0
#define FSTV0910_P2_NUM_EVENT2 0xf39c0007
/* P2_ERRCNT22 */
#define RSTV0910_P2_ERRCNT22 0xf39d
-#define FSTV0910_P2_ERRCNT2_OLDVALUE 0xf39d0080
+#define FSTV0910_P2_ERRCNT2_OLDVALUE 0xf39d7080
#define FSTV0910_P2_ERR_CNT22 0xf39d007f
/* P2_ERRCNT21 */
@@ -1908,39 +1908,39 @@
/* P2_FECSPY */
#define RSTV0910_P2_FECSPY 0xf3a0
-#define FSTV0910_P2_SPY_ENABLE 0xf3a00080
-#define FSTV0910_P2_NO_SYNCBYTE 0xf3a00040
-#define FSTV0910_P2_SERIAL_MODE 0xf3a00020
-#define FSTV0910_P2_UNUSUAL_PACKET 0xf3a00010
-#define FSTV0910_P2_BERMETER_DATAMODE 0xf3a0000c
-#define FSTV0910_P2_BERMETER_LMODE 0xf3a00002
+#define FSTV0910_P2_SPY_ENABLE 0xf3a07080
+#define FSTV0910_P2_NO_SYNCBYTE 0xf3a06040
+#define FSTV0910_P2_SERIAL_MODE 0xf3a05020
+#define FSTV0910_P2_UNUSUAL_PACKET 0xf3a04010
+#define FSTV0910_P2_BERMETER_DATAMODE 0xf3a0200c
+#define FSTV0910_P2_BERMETER_LMODE 0xf3a01002
#define FSTV0910_P2_BERMETER_RESET 0xf3a00001
/* P2_FSPYCFG */
#define RSTV0910_P2_FSPYCFG 0xf3a1
-#define FSTV0910_P2_FECSPY_INPUT 0xf3a100c0
-#define FSTV0910_P2_RST_ON_ERROR 0xf3a10020
-#define FSTV0910_P2_ONE_SHOT 0xf3a10010
-#define FSTV0910_P2_I2C_MODE 0xf3a1000c
+#define FSTV0910_P2_FECSPY_INPUT 0xf3a160c0
+#define FSTV0910_P2_RST_ON_ERROR 0xf3a15020
+#define FSTV0910_P2_ONE_SHOT 0xf3a14010
+#define FSTV0910_P2_I2C_MODE 0xf3a1200c
#define FSTV0910_P2_SPY_HYSTERESIS 0xf3a10003
/* P2_FSPYDATA */
#define RSTV0910_P2_FSPYDATA 0xf3a2
-#define FSTV0910_P2_SPY_STUFFING 0xf3a20080
-#define FSTV0910_P2_SPY_CNULLPKT 0xf3a20020
+#define FSTV0910_P2_SPY_STUFFING 0xf3a27080
+#define FSTV0910_P2_SPY_CNULLPKT 0xf3a25020
#define FSTV0910_P2_SPY_OUTDATA_MODE 0xf3a2001f
/* P2_FSPYOUT */
#define RSTV0910_P2_FSPYOUT 0xf3a3
-#define FSTV0910_P2_FSPY_DIRECT 0xf3a30080
+#define FSTV0910_P2_FSPY_DIRECT 0xf3a37080
#define FSTV0910_P2_STUFF_MODE 0xf3a30007
/* P2_FSTATUS */
#define RSTV0910_P2_FSTATUS 0xf3a4
-#define FSTV0910_P2_SPY_ENDSIM 0xf3a40080
-#define FSTV0910_P2_VALID_SIM 0xf3a40040
-#define FSTV0910_P2_FOUND_SIGNAL 0xf3a40020
-#define FSTV0910_P2_DSS_SYNCBYTE 0xf3a40010
+#define FSTV0910_P2_SPY_ENDSIM 0xf3a47080
+#define FSTV0910_P2_VALID_SIM 0xf3a46040
+#define FSTV0910_P2_FOUND_SIGNAL 0xf3a45020
+#define FSTV0910_P2_DSS_SYNCBYTE 0xf3a44010
#define FSTV0910_P2_RESULT_STATE 0xf3a4000f
/* P2_FBERCPT4 */
@@ -1977,8 +1977,8 @@
/* P2_FSPYBER */
#define RSTV0910_P2_FSPYBER 0xf3b2
-#define FSTV0910_P2_FSPYBER_SYNCBYTE 0xf3b20010
-#define FSTV0910_P2_FSPYBER_UNSYNC 0xf3b20008
+#define FSTV0910_P2_FSPYBER_SYNCBYTE 0xf3b24010
+#define FSTV0910_P2_FSPYBER_UNSYNC 0xf3b23008
#define FSTV0910_P2_FSPYBER_CTIME 0xf3b20007
/* P2_SFERROR */
@@ -1987,60 +1987,60 @@
/* P2_SFECSTATUS */
#define RSTV0910_P2_SFECSTATUS 0xf3c3
-#define FSTV0910_P2_SFEC_ON 0xf3c30080
-#define FSTV0910_P2_SFEC_OFF 0xf3c30040
-#define FSTV0910_P2_LOCKEDSFEC 0xf3c30008
-#define FSTV0910_P2_SFEC_DELOCK 0xf3c30004
-#define FSTV0910_P2_SFEC_DEMODSEL 0xf3c30002
+#define FSTV0910_P2_SFEC_ON 0xf3c37080
+#define FSTV0910_P2_SFEC_OFF 0xf3c36040
+#define FSTV0910_P2_LOCKEDSFEC 0xf3c33008
+#define FSTV0910_P2_SFEC_DELOCK 0xf3c32004
+#define FSTV0910_P2_SFEC_DEMODSEL 0xf3c31002
#define FSTV0910_P2_SFEC_OVFON 0xf3c30001
/* P2_SFKDIV12 */
#define RSTV0910_P2_SFKDIV12 0xf3c4
-#define FSTV0910_P2_SFECKDIV12_MAN 0xf3c40080
+#define FSTV0910_P2_SFECKDIV12_MAN 0xf3c47080
/* P2_SFKDIV23 */
#define RSTV0910_P2_SFKDIV23 0xf3c5
-#define FSTV0910_P2_SFECKDIV23_MAN 0xf3c50080
+#define FSTV0910_P2_SFECKDIV23_MAN 0xf3c57080
/* P2_SFKDIV34 */
#define RSTV0910_P2_SFKDIV34 0xf3c6
-#define FSTV0910_P2_SFECKDIV34_MAN 0xf3c60080
+#define FSTV0910_P2_SFECKDIV34_MAN 0xf3c67080
/* P2_SFKDIV56 */
#define RSTV0910_P2_SFKDIV56 0xf3c7
-#define FSTV0910_P2_SFECKDIV56_MAN 0xf3c70080
+#define FSTV0910_P2_SFECKDIV56_MAN 0xf3c77080
/* P2_SFKDIV67 */
#define RSTV0910_P2_SFKDIV67 0xf3c8
-#define FSTV0910_P2_SFECKDIV67_MAN 0xf3c80080
+#define FSTV0910_P2_SFECKDIV67_MAN 0xf3c87080
/* P2_SFKDIV78 */
#define RSTV0910_P2_SFKDIV78 0xf3c9
-#define FSTV0910_P2_SFECKDIV78_MAN 0xf3c90080
+#define FSTV0910_P2_SFECKDIV78_MAN 0xf3c97080
/* P2_SFSTATUS */
#define RSTV0910_P2_SFSTATUS 0xf3cc
-#define FSTV0910_P2_SFEC_LINEOK 0xf3cc0080
-#define FSTV0910_P2_SFEC_ERROR 0xf3cc0040
-#define FSTV0910_P2_SFEC_DATA7 0xf3cc0020
-#define FSTV0910_P2_SFEC_PKTDNBRFAIL 0xf3cc0010
-#define FSTV0910_P2_TSSFEC_DEMODSEL 0xf3cc0008
-#define FSTV0910_P2_SFEC_NOSYNC 0xf3cc0004
-#define FSTV0910_P2_SFEC_UNREGULA 0xf3cc0002
+#define FSTV0910_P2_SFEC_LINEOK 0xf3cc7080
+#define FSTV0910_P2_SFEC_ERROR 0xf3cc6040
+#define FSTV0910_P2_SFEC_DATA7 0xf3cc5020
+#define FSTV0910_P2_SFEC_PKTDNBRFAIL 0xf3cc4010
+#define FSTV0910_P2_TSSFEC_DEMODSEL 0xf3cc3008
+#define FSTV0910_P2_SFEC_NOSYNC 0xf3cc2004
+#define FSTV0910_P2_SFEC_UNREGULA 0xf3cc1002
#define FSTV0910_P2_SFEC_READY 0xf3cc0001
/* P2_SFDLYSET2 */
#define RSTV0910_P2_SFDLYSET2 0xf3d0
-#define FSTV0910_P2_SFEC_DISABLE 0xf3d00002
+#define FSTV0910_P2_SFEC_DISABLE 0xf3d01002
/* P2_SFERRCTRL */
#define RSTV0910_P2_SFERRCTRL 0xf3d8
-#define FSTV0910_P2_SFEC_ERR_SOURCE 0xf3d800f0
+#define FSTV0910_P2_SFEC_ERR_SOURCE 0xf3d840f0
#define FSTV0910_P2_SFEC_NUM_EVENT 0xf3d80007
/* P2_SFERRCNT2 */
#define RSTV0910_P2_SFERRCNT2 0xf3d9
-#define FSTV0910_P2_SFERRC_OLDVALUE 0xf3d90080
+#define FSTV0910_P2_SFERRC_OLDVALUE 0xf3d97080
#define FSTV0910_P2_SFEC_ERR_CNT2 0xf3d9007f
/* P2_SFERRCNT1 */
@@ -2053,13 +2053,13 @@
/* P1_IQCONST */
#define RSTV0910_P1_IQCONST 0xf400
-#define FSTV0910_P1_CONSTEL_SELECT 0xf4000060
+#define FSTV0910_P1_CONSTEL_SELECT 0xf4005060
#define FSTV0910_P1_IQSYMB_SEL 0xf400001f
/* P1_NOSCFG */
#define RSTV0910_P1_NOSCFG 0xf401
-#define FSTV0910_P1_DUMMYPL_NOSDATA 0xf4010020
-#define FSTV0910_P1_NOSPLH_BETA 0xf4010018
+#define FSTV0910_P1_DUMMYPL_NOSDATA 0xf4015020
+#define FSTV0910_P1_NOSPLH_BETA 0xf4013018
#define FSTV0910_P1_NOSDATA_BETA 0xf4010007
/* P1_ISYMB */
@@ -2072,18 +2072,18 @@
/* P1_AGC1CFG */
#define RSTV0910_P1_AGC1CFG 0xf404
-#define FSTV0910_P1_DC_FROZEN 0xf4040080
-#define FSTV0910_P1_DC_CORRECT 0xf4040040
-#define FSTV0910_P1_AMM_FROZEN 0xf4040020
-#define FSTV0910_P1_AMM_CORRECT 0xf4040010
-#define FSTV0910_P1_QUAD_FROZEN 0xf4040008
-#define FSTV0910_P1_QUAD_CORRECT 0xf4040004
+#define FSTV0910_P1_DC_FROZEN 0xf4047080
+#define FSTV0910_P1_DC_CORRECT 0xf4046040
+#define FSTV0910_P1_AMM_FROZEN 0xf4045020
+#define FSTV0910_P1_AMM_CORRECT 0xf4044010
+#define FSTV0910_P1_QUAD_FROZEN 0xf4043008
+#define FSTV0910_P1_QUAD_CORRECT 0xf4042004
/* P1_AGC1CN */
#define RSTV0910_P1_AGC1CN 0xf406
-#define FSTV0910_P1_AGC1_LOCKED 0xf4060080
-#define FSTV0910_P1_AGC1_MINPOWER 0xf4060010
-#define FSTV0910_P1_AGCOUT_FAST 0xf4060008
+#define FSTV0910_P1_AGC1_LOCKED 0xf4067080
+#define FSTV0910_P1_AGC1_MINPOWER 0xf4064010
+#define FSTV0910_P1_AGCOUT_FAST 0xf4063008
#define FSTV0910_P1_AGCIQ_BETA 0xf4060007
/* P1_AGC1REF */
@@ -2124,50 +2124,50 @@
/* P1_DEMOD */
#define RSTV0910_P1_DEMOD 0xf410
-#define FSTV0910_P1_MANUALS2_ROLLOFF 0xf4100080
-#define FSTV0910_P1_SPECINV_CONTROL 0xf4100030
-#define FSTV0910_P1_MANUALSX_ROLLOFF 0xf4100004
+#define FSTV0910_P1_MANUALS2_ROLLOFF 0xf4107080
+#define FSTV0910_P1_SPECINV_CONTROL 0xf4104030
+#define FSTV0910_P1_MANUALSX_ROLLOFF 0xf4102004
#define FSTV0910_P1_ROLLOFF_CONTROL 0xf4100003
/* P1_DMDMODCOD */
#define RSTV0910_P1_DMDMODCOD 0xf411
-#define FSTV0910_P1_MANUAL_MODCOD 0xf4110080
-#define FSTV0910_P1_DEMOD_MODCOD 0xf411007c
+#define FSTV0910_P1_MANUAL_MODCOD 0xf4117080
+#define FSTV0910_P1_DEMOD_MODCOD 0xf411207c
#define FSTV0910_P1_DEMOD_TYPE 0xf4110003
/* P1_DSTATUS */
#define RSTV0910_P1_DSTATUS 0xf412
-#define FSTV0910_P1_CAR_LOCK 0xf4120080
-#define FSTV0910_P1_TMGLOCK_QUALITY 0xf4120060
-#define FSTV0910_P1_LOCK_DEFINITIF 0xf4120008
+#define FSTV0910_P1_CAR_LOCK 0xf4127080
+#define FSTV0910_P1_TMGLOCK_QUALITY 0xf4125060
+#define FSTV0910_P1_LOCK_DEFINITIF 0xf4123008
#define FSTV0910_P1_OVADC_DETECT 0xf4120001
/* P1_DSTATUS2 */
#define RSTV0910_P1_DSTATUS2 0xf413
-#define FSTV0910_P1_DEMOD_DELOCK 0xf4130080
-#define FSTV0910_P1_MODCODRQ_SYNCTAG 0xf4130020
-#define FSTV0910_P1_POLYPH_SATEVENT 0xf4130010
-#define FSTV0910_P1_AGC1_NOSIGNALACK 0xf4130008
-#define FSTV0910_P1_AGC2_OVERFLOW 0xf4130004
-#define FSTV0910_P1_CFR_OVERFLOW 0xf4130002
+#define FSTV0910_P1_DEMOD_DELOCK 0xf4137080
+#define FSTV0910_P1_MODCODRQ_SYNCTAG 0xf4135020
+#define FSTV0910_P1_POLYPH_SATEVENT 0xf4134010
+#define FSTV0910_P1_AGC1_NOSIGNALACK 0xf4133008
+#define FSTV0910_P1_AGC2_OVERFLOW 0xf4132004
+#define FSTV0910_P1_CFR_OVERFLOW 0xf4131002
#define FSTV0910_P1_GAMMA_OVERUNDER 0xf4130001
/* P1_DMDCFGMD */
#define RSTV0910_P1_DMDCFGMD 0xf414
-#define FSTV0910_P1_DVBS2_ENABLE 0xf4140080
-#define FSTV0910_P1_DVBS1_ENABLE 0xf4140040
-#define FSTV0910_P1_SCAN_ENABLE 0xf4140010
-#define FSTV0910_P1_CFR_AUTOSCAN 0xf4140008
+#define FSTV0910_P1_DVBS2_ENABLE 0xf4147080
+#define FSTV0910_P1_DVBS1_ENABLE 0xf4146040
+#define FSTV0910_P1_SCAN_ENABLE 0xf4144010
+#define FSTV0910_P1_CFR_AUTOSCAN 0xf4143008
#define FSTV0910_P1_TUN_RNG 0xf4140003
/* P1_DMDCFG2 */
#define RSTV0910_P1_DMDCFG2 0xf415
-#define FSTV0910_P1_S1S2_SEQUENTIAL 0xf4150040
-#define FSTV0910_P1_INFINITE_RELOCK 0xf4150010
+#define FSTV0910_P1_S1S2_SEQUENTIAL 0xf4156040
+#define FSTV0910_P1_INFINITE_RELOCK 0xf4154010
/* P1_DMDISTATE */
#define RSTV0910_P1_DMDISTATE 0xf416
-#define FSTV0910_P1_I2C_NORESETDMODE 0xf4160080
+#define FSTV0910_P1_I2C_NORESETDMODE 0xf4167080
#define FSTV0910_P1_I2C_DEMOD_MODE 0xf416001f
/* P1_DMDT0M */
@@ -2176,27 +2176,27 @@
/* P1_DMDSTATE */
#define RSTV0910_P1_DMDSTATE 0xf41b
-#define FSTV0910_P1_HEADER_MODE 0xf41b0060
+#define FSTV0910_P1_HEADER_MODE 0xf41b5060
/* P1_DMDFLYW */
#define RSTV0910_P1_DMDFLYW 0xf41c
-#define FSTV0910_P1_I2C_IRQVAL 0xf41c00f0
+#define FSTV0910_P1_I2C_IRQVAL 0xf41c40f0
#define FSTV0910_P1_FLYWHEEL_CPT 0xf41c000f
/* P1_DSTATUS3 */
#define RSTV0910_P1_DSTATUS3 0xf41d
-#define FSTV0910_P1_CFR_ZIGZAG 0xf41d0080
-#define FSTV0910_P1_DEMOD_CFGMODE 0xf41d0060
-#define FSTV0910_P1_GAMMA_LOWBAUDRATE 0xf41d0010
+#define FSTV0910_P1_CFR_ZIGZAG 0xf41d7080
+#define FSTV0910_P1_DEMOD_CFGMODE 0xf41d5060
+#define FSTV0910_P1_GAMMA_LOWBAUDRATE 0xf41d4010
/* P1_DMDCFG3 */
#define RSTV0910_P1_DMDCFG3 0xf41e
-#define FSTV0910_P1_NOSTOP_FIFOFULL 0xf41e0008
+#define FSTV0910_P1_NOSTOP_FIFOFULL 0xf41e3008
/* P1_DMDCFG4 */
#define RSTV0910_P1_DMDCFG4 0xf41f
-#define FSTV0910_P1_DIS_VITLOCK 0xf41f0080
-#define FSTV0910_P1_DIS_CLKENABLE 0xf41f0004
+#define FSTV0910_P1_DIS_VITLOCK 0xf41f7080
+#define FSTV0910_P1_DIS_CLKENABLE 0xf41f2004
/* P1_CORRELMANT */
#define RSTV0910_P1_CORRELMANT 0xf420
@@ -2208,13 +2208,13 @@
/* P1_CORRELEXP */
#define RSTV0910_P1_CORRELEXP 0xf422
-#define FSTV0910_P1_CORREL_ABSEXP 0xf42200f0
+#define FSTV0910_P1_CORREL_ABSEXP 0xf42240f0
#define FSTV0910_P1_CORREL_EXP 0xf422000f
/* P1_PLHMODCOD */
#define RSTV0910_P1_PLHMODCOD 0xf424
-#define FSTV0910_P1_SPECINV_DEMOD 0xf4240080
-#define FSTV0910_P1_PLH_MODCOD 0xf424007c
+#define FSTV0910_P1_SPECINV_DEMOD 0xf4247080
+#define FSTV0910_P1_PLH_MODCOD 0xf424207c
#define FSTV0910_P1_PLH_TYPE 0xf4240003
/* P1_DMDREG */
@@ -2223,19 +2223,19 @@
/* P1_AGCNADJ */
#define RSTV0910_P1_AGCNADJ 0xf426
-#define FSTV0910_P1_RADJOFF_AGC2 0xf4260080
-#define FSTV0910_P1_RADJOFF_AGC1 0xf4260040
+#define FSTV0910_P1_RADJOFF_AGC2 0xf4267080
+#define FSTV0910_P1_RADJOFF_AGC1 0xf4266040
#define FSTV0910_P1_AGC_NADJ 0xf426013f
/* P1_AGCKS */
#define RSTV0910_P1_AGCKS 0xf427
-#define FSTV0910_P1_RSADJ_MANUALCFG 0xf4270080
-#define FSTV0910_P1_RSADJ_CCMMODE 0xf4270040
+#define FSTV0910_P1_RSADJ_MANUALCFG 0xf4277080
+#define FSTV0910_P1_RSADJ_CCMMODE 0xf4276040
#define FSTV0910_P1_RADJ_SPSK 0xf427013f
/* P1_AGCKQ */
#define RSTV0910_P1_AGCKQ 0xf428
-#define FSTV0910_P1_RADJON_DVBS1 0xf4280040
+#define FSTV0910_P1_RADJON_DVBS1 0xf4286040
#define FSTV0910_P1_RADJ_QPSK 0xf428013f
/* P1_AGCK8 */
@@ -2244,20 +2244,20 @@
/* P1_AGCK16 */
#define RSTV0910_P1_AGCK16 0xf42a
-#define FSTV0910_P1_R2ADJOFF_16APSK 0xf42a0040
-#define FSTV0910_P1_R1ADJOFF_16APSK 0xf42a0020
+#define FSTV0910_P1_R2ADJOFF_16APSK 0xf42a6040
+#define FSTV0910_P1_R1ADJOFF_16APSK 0xf42a5020
#define FSTV0910_P1_RADJ_16APSK 0xf42a011f
/* P1_AGCK32 */
#define RSTV0910_P1_AGCK32 0xf42b
-#define FSTV0910_P1_R3ADJOFF_32APSK 0xf42b0080
-#define FSTV0910_P1_R2ADJOFF_32APSK 0xf42b0040
-#define FSTV0910_P1_R1ADJOFF_32APSK 0xf42b0020
+#define FSTV0910_P1_R3ADJOFF_32APSK 0xf42b7080
+#define FSTV0910_P1_R2ADJOFF_32APSK 0xf42b6040
+#define FSTV0910_P1_R1ADJOFF_32APSK 0xf42b5020
#define FSTV0910_P1_RADJ_32APSK 0xf42b011f
/* P1_AGC2O */
#define RSTV0910_P1_AGC2O 0xf42c
-#define FSTV0910_P1_CSTENV_MODE 0xf42c00c0
+#define FSTV0910_P1_CSTENV_MODE 0xf42c60c0
#define FSTV0910_P1_AGC2_COEF 0xf42c0007
/* P1_AGC2REF */
@@ -2306,32 +2306,32 @@
/* P1_CARCFG */
#define RSTV0910_P1_CARCFG 0xf438
-#define FSTV0910_P1_ROTAON 0xf4380004
+#define FSTV0910_P1_ROTAON 0xf4382004
#define FSTV0910_P1_PH_DET_ALGO 0xf4380003
/* P1_ACLC */
#define RSTV0910_P1_ACLC 0xf439
-#define FSTV0910_P1_CAR_ALPHA_MANT 0xf4390030
+#define FSTV0910_P1_CAR_ALPHA_MANT 0xf4394030
#define FSTV0910_P1_CAR_ALPHA_EXP 0xf439000f
/* P1_BCLC */
#define RSTV0910_P1_BCLC 0xf43a
-#define FSTV0910_P1_CAR_BETA_MANT 0xf43a0030
+#define FSTV0910_P1_CAR_BETA_MANT 0xf43a4030
#define FSTV0910_P1_CAR_BETA_EXP 0xf43a000f
/* P1_ACLCS2 */
#define RSTV0910_P1_ACLCS2 0xf43b
-#define FSTV0910_P1_CARS2_APLHA_MANTISSE 0xf43b0030
+#define FSTV0910_P1_CARS2_APLHA_MANTISSE 0xf43b4030
#define FSTV0910_P1_CARS2_ALPHA_EXP 0xf43b000f
/* P1_BCLCS2 */
#define RSTV0910_P1_BCLCS2 0xf43c
-#define FSTV0910_P1_CARS2_BETA_MANTISSE 0xf43c0030
+#define FSTV0910_P1_CARS2_BETA_MANTISSE 0xf43c4030
#define FSTV0910_P1_CARS2_BETA_EXP 0xf43c000f
/* P1_CARFREQ */
#define RSTV0910_P1_CARFREQ 0xf43d
-#define FSTV0910_P1_KC_COARSE_EXP 0xf43d00f0
+#define FSTV0910_P1_KC_COARSE_EXP 0xf43d40f0
#define FSTV0910_P1_BETA_FREQ 0xf43d000f
/* P1_CARHDR */
@@ -2384,7 +2384,7 @@
/* P1_CFRINC1 */
#define RSTV0910_P1_CFRINC1 0xf44a
-#define FSTV0910_P1_MANUAL_CFRINC 0xf44a0080
+#define FSTV0910_P1_MANUAL_CFRINC 0xf44a7080
#define FSTV0910_P1_CFR_INC1 0xf44a003f
/* P1_CFRINC0 */
@@ -2409,18 +2409,18 @@
/* P1_TMGCFG */
#define RSTV0910_P1_TMGCFG 0xf450
-#define FSTV0910_P1_TMGLOCK_BETA 0xf45000c0
-#define FSTV0910_P1_DO_TIMING_CORR 0xf4500010
+#define FSTV0910_P1_TMGLOCK_BETA 0xf45060c0
+#define FSTV0910_P1_DO_TIMING_CORR 0xf4504010
#define FSTV0910_P1_TMG_MINFREQ 0xf4500003
/* P1_RTC */
#define RSTV0910_P1_RTC 0xf451
-#define FSTV0910_P1_TMGALPHA_EXP 0xf45100f0
+#define FSTV0910_P1_TMGALPHA_EXP 0xf45140f0
#define FSTV0910_P1_TMGBETA_EXP 0xf451000f
/* P1_RTCS2 */
#define RSTV0910_P1_RTCS2 0xf452
-#define FSTV0910_P1_TMGALPHAS2_EXP 0xf45200f0
+#define FSTV0910_P1_TMGALPHAS2_EXP 0xf45240f0
#define FSTV0910_P1_TMGBETAS2_EXP 0xf452000f
/* P1_TMGTHRISE */
@@ -2441,7 +2441,7 @@
/* P1_KTTMG */
#define RSTV0910_P1_KTTMG 0xf457
-#define FSTV0910_P1_KT_TMG_EXP 0xf45700f0
+#define FSTV0910_P1_KT_TMG_EXP 0xf45740f0
/* P1_KREFTMG */
#define RSTV0910_P1_KREFTMG 0xf458
@@ -2449,12 +2449,12 @@
/* P1_SFRSTEP */
#define RSTV0910_P1_SFRSTEP 0xf459
-#define FSTV0910_P1_SFR_SCANSTEP 0xf45900f0
+#define FSTV0910_P1_SFR_SCANSTEP 0xf45940f0
#define FSTV0910_P1_SFR_CENTERSTEP 0xf459000f
/* P1_TMGCFG2 */
#define RSTV0910_P1_TMGCFG2 0xf45a
-#define FSTV0910_P1_DIS_AUTOSAMP 0xf45a0008
+#define FSTV0910_P1_DIS_AUTOSAMP 0xf45a3008
#define FSTV0910_P1_SFRRATIO_FINE 0xf45a0001
/* P1_KREFTMG2 */
@@ -2463,9 +2463,9 @@
/* P1_TMGCFG3 */
#define RSTV0910_P1_TMGCFG3 0xf45d
-#define FSTV0910_P1_CONT_TMGCENTER 0xf45d0008
-#define FSTV0910_P1_AUTO_GUP 0xf45d0004
-#define FSTV0910_P1_AUTO_GLOW 0xf45d0002
+#define FSTV0910_P1_CONT_TMGCENTER 0xf45d3008
+#define FSTV0910_P1_AUTO_GUP 0xf45d2004
+#define FSTV0910_P1_AUTO_GLOW 0xf45d1002
/* P1_SFRINIT1 */
#define RSTV0910_P1_SFRINIT1 0xf45e
@@ -2529,11 +2529,11 @@
/* P1_TMGOBS */
#define RSTV0910_P1_TMGOBS 0xf46d
-#define FSTV0910_P1_ROLLOFF_STATUS 0xf46d00c0
+#define FSTV0910_P1_ROLLOFF_STATUS 0xf46d60c0
/* P1_EQUALCFG */
#define RSTV0910_P1_EQUALCFG 0xf46f
-#define FSTV0910_P1_EQUAL_ON 0xf46f0040
+#define FSTV0910_P1_EQUAL_ON 0xf46f6040
#define FSTV0910_P1_MU_EQUALDFE 0xf46f0007
/* P1_EQUAI1 */
@@ -2658,33 +2658,33 @@
/* P1_NOSCFGF1 */
#define RSTV0910_P1_NOSCFGF1 0xf48e
-#define FSTV0910_P1_LOWNOISE_MESURE 0xf48e0080
-#define FSTV0910_P1_NOS_DELFRAME 0xf48e0040
-#define FSTV0910_P1_NOSDATA_MODE 0xf48e0030
-#define FSTV0910_P1_FRAMESEL_TYPESEL 0xf48e000c
+#define FSTV0910_P1_LOWNOISE_MESURE 0xf48e7080
+#define FSTV0910_P1_NOS_DELFRAME 0xf48e6040
+#define FSTV0910_P1_NOSDATA_MODE 0xf48e4030
+#define FSTV0910_P1_FRAMESEL_TYPESEL 0xf48e200c
#define FSTV0910_P1_FRAMESEL_TYPE 0xf48e0003
/* P1_NOSCFGF2 */
#define RSTV0910_P1_NOSCFGF2 0xf48f
-#define FSTV0910_P1_DIS_NOSPILOTS 0xf48f0080
-#define FSTV0910_P1_FRAMESEL_MODCODSEL 0xf48f0060
+#define FSTV0910_P1_DIS_NOSPILOTS 0xf48f7080
+#define FSTV0910_P1_FRAMESEL_MODCODSEL 0xf48f5060
#define FSTV0910_P1_FRAMESEL_MODCOD 0xf48f001f
/* P1_CAR2CFG */
#define RSTV0910_P1_CAR2CFG 0xf490
-#define FSTV0910_P1_ROTA2ON 0xf4900004
+#define FSTV0910_P1_ROTA2ON 0xf4902004
#define FSTV0910_P1_PH_DET_ALGO2 0xf4900003
/* P1_CFR2CFR1 */
#define RSTV0910_P1_CFR2CFR1 0xf491
-#define FSTV0910_P1_EN_S2CAR2CENTER 0xf4910020
+#define FSTV0910_P1_EN_S2CAR2CENTER 0xf4915020
#define FSTV0910_P1_CFR2TOCFR1_BETA 0xf4910007
/* P1_CAR3CFG */
#define RSTV0910_P1_CAR3CFG 0xf492
-#define FSTV0910_P1_CARRIER23_MODE 0xf49200c0
-#define FSTV0910_P1_CAR3INTERM_DVBS1 0xf4920020
-#define FSTV0910_P1_ABAMPLIF_MODE 0xf4920018
+#define FSTV0910_P1_CARRIER23_MODE 0xf49260c0
+#define FSTV0910_P1_CAR3INTERM_DVBS1 0xf4925020
+#define FSTV0910_P1_ABAMPLIF_MODE 0xf4923018
#define FSTV0910_P1_CARRIER3_ALPHA3DL 0xf4920007
/* P1_CFR22 */
@@ -2701,50 +2701,50 @@
/* P1_ACLC2S2Q */
#define RSTV0910_P1_ACLC2S2Q 0xf497
-#define FSTV0910_P1_ENAB_SPSKSYMB 0xf4970080
-#define FSTV0910_P1_CAR2S2_Q_ALPH_M 0xf4970030
+#define FSTV0910_P1_ENAB_SPSKSYMB 0xf4977080
+#define FSTV0910_P1_CAR2S2_Q_ALPH_M 0xf4974030
#define FSTV0910_P1_CAR2S2_Q_ALPH_E 0xf497000f
/* P1_ACLC2S28 */
#define RSTV0910_P1_ACLC2S28 0xf498
-#define FSTV0910_P1_CAR2S2_8_ALPH_M 0xf4980030
+#define FSTV0910_P1_CAR2S2_8_ALPH_M 0xf4984030
#define FSTV0910_P1_CAR2S2_8_ALPH_E 0xf498000f
/* P1_ACLC2S216A */
#define RSTV0910_P1_ACLC2S216A 0xf499
-#define FSTV0910_P1_CAR2S2_16A_ALPH_M 0xf4990030
+#define FSTV0910_P1_CAR2S2_16A_ALPH_M 0xf4994030
#define FSTV0910_P1_CAR2S2_16A_ALPH_E 0xf499000f
/* P1_ACLC2S232A */
#define RSTV0910_P1_ACLC2S232A 0xf49a
-#define FSTV0910_P1_CAR2S2_32A_ALPH_M 0xf49a0030
+#define FSTV0910_P1_CAR2S2_32A_ALPH_M 0xf49a4030
#define FSTV0910_P1_CAR2S2_32A_ALPH_E 0xf49a000f
/* P1_BCLC2S2Q */
#define RSTV0910_P1_BCLC2S2Q 0xf49c
-#define FSTV0910_P1_CAR2S2_Q_BETA_M 0xf49c0030
+#define FSTV0910_P1_CAR2S2_Q_BETA_M 0xf49c4030
#define FSTV0910_P1_CAR2S2_Q_BETA_E 0xf49c000f
/* P1_BCLC2S28 */
#define RSTV0910_P1_BCLC2S28 0xf49d
-#define FSTV0910_P1_CAR2S2_8_BETA_M 0xf49d0030
+#define FSTV0910_P1_CAR2S2_8_BETA_M 0xf49d4030
#define FSTV0910_P1_CAR2S2_8_BETA_E 0xf49d000f
/* P1_BCLC2S216A */
#define RSTV0910_P1_BCLC2S216A 0xf49e
-#define FSTV0910_P1_DVBS2S216A_NIP 0xf49e0080
-#define FSTV0910_P1_CAR2S2_16A_BETA_M 0xf49e0030
+#define FSTV0910_P1_DVBS2S216A_NIP 0xf49e7080
+#define FSTV0910_P1_CAR2S2_16A_BETA_M 0xf49e4030
#define FSTV0910_P1_CAR2S2_16A_BETA_E 0xf49e000f
/* P1_BCLC2S232A */
#define RSTV0910_P1_BCLC2S232A 0xf49f
-#define FSTV0910_P1_DVBS2S232A_NIP 0xf49f0080
-#define FSTV0910_P1_CAR2S2_32A_BETA_M 0xf49f0030
+#define FSTV0910_P1_DVBS2S232A_NIP 0xf49f7080
+#define FSTV0910_P1_CAR2S2_32A_BETA_M 0xf49f4030
#define FSTV0910_P1_CAR2S2_32A_BETA_E 0xf49f000f
/* P1_PLROOT2 */
#define RSTV0910_P1_PLROOT2 0xf4ac
-#define FSTV0910_P1_PLSCRAMB_MODE 0xf4ac000c
+#define FSTV0910_P1_PLSCRAMB_MODE 0xf4ac200c
#define FSTV0910_P1_PLSCRAMB_ROOT2 0xf4ac0003
/* P1_PLROOT1 */
@@ -2761,100 +2761,100 @@
/* P1_MODCODLST1 */
#define RSTV0910_P1_MODCODLST1 0xf4b1
-#define FSTV0910_P1_SYMBRATE_FILTER 0xf4b10008
-#define FSTV0910_P1_NRESET_MODCODLST 0xf4b10004
+#define FSTV0910_P1_SYMBRATE_FILTER 0xf4b13008
+#define FSTV0910_P1_NRESET_MODCODLST 0xf4b12004
#define FSTV0910_P1_DIS_32PSK_9_10 0xf4b10003
/* P1_MODCODLST2 */
#define RSTV0910_P1_MODCODLST2 0xf4b2
-#define FSTV0910_P1_DIS_32PSK_8_9 0xf4b200f0
+#define FSTV0910_P1_DIS_32PSK_8_9 0xf4b240f0
#define FSTV0910_P1_DIS_32PSK_5_6 0xf4b2000f
/* P1_MODCODLST3 */
#define RSTV0910_P1_MODCODLST3 0xf4b3
-#define FSTV0910_P1_DIS_32PSK_4_5 0xf4b300f0
+#define FSTV0910_P1_DIS_32PSK_4_5 0xf4b340f0
#define FSTV0910_P1_DIS_32PSK_3_4 0xf4b3000f
/* P1_MODCODLST4 */
#define RSTV0910_P1_MODCODLST4 0xf4b4
-#define FSTV0910_P1_DUMMYPL_PILOT 0xf4b40080
-#define FSTV0910_P1_DUMMYPL_NOPILOT 0xf4b40040
-#define FSTV0910_P1_DIS_16PSK_9_10 0xf4b40030
+#define FSTV0910_P1_DUMMYPL_PILOT 0xf4b47080
+#define FSTV0910_P1_DUMMYPL_NOPILOT 0xf4b46040
+#define FSTV0910_P1_DIS_16PSK_9_10 0xf4b44030
#define FSTV0910_P1_DIS_16PSK_8_9 0xf4b4000f
/* P1_MODCODLST5 */
#define RSTV0910_P1_MODCODLST5 0xf4b5
-#define FSTV0910_P1_DIS_16PSK_5_6 0xf4b500f0
+#define FSTV0910_P1_DIS_16PSK_5_6 0xf4b540f0
#define FSTV0910_P1_DIS_16PSK_4_5 0xf4b5000f
/* P1_MODCODLST6 */
#define RSTV0910_P1_MODCODLST6 0xf4b6
-#define FSTV0910_P1_DIS_16PSK_3_4 0xf4b600f0
+#define FSTV0910_P1_DIS_16PSK_3_4 0xf4b640f0
#define FSTV0910_P1_DIS_16PSK_2_3 0xf4b6000f
/* P1_MODCODLST7 */
#define RSTV0910_P1_MODCODLST7 0xf4b7
-#define FSTV0910_P1_MODCOD_NNOSFILTER 0xf4b70080
-#define FSTV0910_P1_DIS_8PSK_9_10 0xf4b70030
+#define FSTV0910_P1_MODCOD_NNOSFILTER 0xf4b77080
+#define FSTV0910_P1_DIS_8PSK_9_10 0xf4b74030
#define FSTV0910_P1_DIS_8PSK_8_9 0xf4b7000f
/* P1_MODCODLST8 */
#define RSTV0910_P1_MODCODLST8 0xf4b8
-#define FSTV0910_P1_DIS_8PSK_5_6 0xf4b800f0
+#define FSTV0910_P1_DIS_8PSK_5_6 0xf4b840f0
#define FSTV0910_P1_DIS_8PSK_3_4 0xf4b8000f
/* P1_MODCODLST9 */
#define RSTV0910_P1_MODCODLST9 0xf4b9
-#define FSTV0910_P1_DIS_8PSK_2_3 0xf4b900f0
+#define FSTV0910_P1_DIS_8PSK_2_3 0xf4b940f0
#define FSTV0910_P1_DIS_8PSK_3_5 0xf4b9000f
/* P1_MODCODLSTA */
#define RSTV0910_P1_MODCODLSTA 0xf4ba
-#define FSTV0910_P1_NOSFILTER_LIMITE 0xf4ba0080
-#define FSTV0910_P1_DIS_QPSK_9_10 0xf4ba0030
+#define FSTV0910_P1_NOSFILTER_LIMITE 0xf4ba7080
+#define FSTV0910_P1_DIS_QPSK_9_10 0xf4ba4030
#define FSTV0910_P1_DIS_QPSK_8_9 0xf4ba000f
/* P1_MODCODLSTB */
#define RSTV0910_P1_MODCODLSTB 0xf4bb
-#define FSTV0910_P1_DIS_QPSK_5_6 0xf4bb00f0
+#define FSTV0910_P1_DIS_QPSK_5_6 0xf4bb40f0
#define FSTV0910_P1_DIS_QPSK_4_5 0xf4bb000f
/* P1_MODCODLSTC */
#define RSTV0910_P1_MODCODLSTC 0xf4bc
-#define FSTV0910_P1_DIS_QPSK_3_4 0xf4bc00f0
+#define FSTV0910_P1_DIS_QPSK_3_4 0xf4bc40f0
#define FSTV0910_P1_DIS_QPSK_2_3 0xf4bc000f
/* P1_MODCODLSTD */
#define RSTV0910_P1_MODCODLSTD 0xf4bd
-#define FSTV0910_P1_DIS_QPSK_3_5 0xf4bd00f0
+#define FSTV0910_P1_DIS_QPSK_3_5 0xf4bd40f0
#define FSTV0910_P1_DIS_QPSK_1_2 0xf4bd000f
/* P1_MODCODLSTE */
#define RSTV0910_P1_MODCODLSTE 0xf4be
-#define FSTV0910_P1_DIS_QPSK_2_5 0xf4be00f0
+#define FSTV0910_P1_DIS_QPSK_2_5 0xf4be40f0
#define FSTV0910_P1_DIS_QPSK_1_3 0xf4be000f
/* P1_MODCODLSTF */
#define RSTV0910_P1_MODCODLSTF 0xf4bf
-#define FSTV0910_P1_DIS_QPSK_1_4 0xf4bf00f0
-#define FSTV0910_P1_DEMOD_INVMODLST 0xf4bf0008
-#define FSTV0910_P1_DEMODOUT_ENABLE 0xf4bf0004
-#define FSTV0910_P1_DDEMOD_NSET 0xf4bf0002
+#define FSTV0910_P1_DIS_QPSK_1_4 0xf4bf40f0
+#define FSTV0910_P1_DEMOD_INVMODLST 0xf4bf3008
+#define FSTV0910_P1_DEMODOUT_ENABLE 0xf4bf2004
+#define FSTV0910_P1_DDEMOD_NSET 0xf4bf1002
#define FSTV0910_P1_MODCOD_NSTOCK 0xf4bf0001
/* P1_GAUSSR0 */
#define RSTV0910_P1_GAUSSR0 0xf4c0
-#define FSTV0910_P1_EN_CCIMODE 0xf4c00080
+#define FSTV0910_P1_EN_CCIMODE 0xf4c07080
#define FSTV0910_P1_R0_GAUSSIEN 0xf4c0007f
/* P1_CCIR0 */
#define RSTV0910_P1_CCIR0 0xf4c1
-#define FSTV0910_P1_CCIDETECT_PLHONLY 0xf4c10080
+#define FSTV0910_P1_CCIDETECT_PLHONLY 0xf4c17080
#define FSTV0910_P1_R0_CCI 0xf4c1007f
/* P1_CCIQUANT */
#define RSTV0910_P1_CCIQUANT 0xf4c2
-#define FSTV0910_P1_CCI_BETA 0xf4c200e0
+#define FSTV0910_P1_CCI_BETA 0xf4c250e0
#define FSTV0910_P1_CCI_QUANT 0xf4c2001f
/* P1_CCITHRES */
@@ -2867,24 +2867,24 @@
/* P1_DSTATUS4 */
#define RSTV0910_P1_DSTATUS4 0xf4c5
-#define FSTV0910_P1_RAINFADE_DETECT 0xf4c50080
-#define FSTV0910_P1_NOTHRES2_FAIL 0xf4c50040
-#define FSTV0910_P1_NOTHRES1_FAIL 0xf4c50020
-#define FSTV0910_P1_DMDPROG_ERROR 0xf4c50004
-#define FSTV0910_P1_CSTENV_DETECT 0xf4c50002
+#define FSTV0910_P1_RAINFADE_DETECT 0xf4c57080
+#define FSTV0910_P1_NOTHRES2_FAIL 0xf4c56040
+#define FSTV0910_P1_NOTHRES1_FAIL 0xf4c55020
+#define FSTV0910_P1_DMDPROG_ERROR 0xf4c52004
+#define FSTV0910_P1_CSTENV_DETECT 0xf4c51002
#define FSTV0910_P1_DETECTION_TRIAX 0xf4c50001
/* P1_DMDRESCFG */
#define RSTV0910_P1_DMDRESCFG 0xf4c6
-#define FSTV0910_P1_DMDRES_RESET 0xf4c60080
-#define FSTV0910_P1_DMDRES_STRALL 0xf4c60008
-#define FSTV0910_P1_DMDRES_NEWONLY 0xf4c60004
-#define FSTV0910_P1_DMDRES_NOSTORE 0xf4c60002
+#define FSTV0910_P1_DMDRES_RESET 0xf4c67080
+#define FSTV0910_P1_DMDRES_STRALL 0xf4c63008
+#define FSTV0910_P1_DMDRES_NEWONLY 0xf4c62004
+#define FSTV0910_P1_DMDRES_NOSTORE 0xf4c61002
/* P1_DMDRESADR */
#define RSTV0910_P1_DMDRESADR 0xf4c7
-#define FSTV0910_P1_DMDRES_VALIDCFR 0xf4c70040
-#define FSTV0910_P1_DMDRES_MEMFULL 0xf4c70030
+#define FSTV0910_P1_DMDRES_VALIDCFR 0xf4c76040
+#define FSTV0910_P1_DMDRES_MEMFULL 0xf4c74030
#define FSTV0910_P1_DMDRES_RESNBR 0xf4c7000f
/* P1_DMDRESDATA7 */
@@ -2953,29 +2953,29 @@
/* P1_FFECFG */
#define RSTV0910_P1_FFECFG 0xf4d8
-#define FSTV0910_P1_EQUALFFE_ON 0xf4d80040
-#define FSTV0910_P1_EQUAL_USEDSYMB 0xf4d80030
+#define FSTV0910_P1_EQUALFFE_ON 0xf4d86040
+#define FSTV0910_P1_EQUAL_USEDSYMB 0xf4d84030
#define FSTV0910_P1_MU_EQUALFFE 0xf4d80007
/* P1_TNRCFG2 */
#define RSTV0910_P1_TNRCFG2 0xf4e1
-#define FSTV0910_P1_TUN_IQSWAP 0xf4e10080
+#define FSTV0910_P1_TUN_IQSWAP 0xf4e17080
/* P1_SMAPCOEF7 */
#define RSTV0910_P1_SMAPCOEF7 0xf500
-#define FSTV0910_P1_DIS_QSCALE 0xf5000080
+#define FSTV0910_P1_DIS_QSCALE 0xf5007080
#define FSTV0910_P1_SMAPCOEF_Q_LLR12 0xf500017f
/* P1_SMAPCOEF6 */
#define RSTV0910_P1_SMAPCOEF6 0xf501
-#define FSTV0910_P1_DIS_AGC2SCALE 0xf5010080
-#define FSTV0910_P1_ADJ_8PSKLLR1 0xf5010004
-#define FSTV0910_P1_OLD_8PSKLLR1 0xf5010002
+#define FSTV0910_P1_DIS_AGC2SCALE 0xf5017080
+#define FSTV0910_P1_ADJ_8PSKLLR1 0xf5012004
+#define FSTV0910_P1_OLD_8PSKLLR1 0xf5011002
#define FSTV0910_P1_DIS_AB8PSK 0xf5010001
/* P1_SMAPCOEF5 */
#define RSTV0910_P1_SMAPCOEF5 0xf502
-#define FSTV0910_P1_DIS_8SCALE 0xf5020080
+#define FSTV0910_P1_DIS_8SCALE 0xf5027080
#define FSTV0910_P1_SMAPCOEF_8P_LLR23 0xf502017f
/* P1_SMAPCOEF4 */
@@ -2988,17 +2988,17 @@
/* P1_SMAPCOEF2 */
#define RSTV0910_P1_SMAPCOEF2 0xf505
-#define FSTV0910_P1_SMAPCOEF_32APSK_R2R3 0xf50501f0
+#define FSTV0910_P1_SMAPCOEF_32APSK_R2R3 0xf50541f0
#define FSTV0910_P1_SMAPCOEF_32APSK_LLR2 0xf505010f
/* P1_SMAPCOEF1 */
#define RSTV0910_P1_SMAPCOEF1 0xf506
-#define FSTV0910_P1_DIS_16SCALE 0xf5060080
+#define FSTV0910_P1_DIS_16SCALE 0xf5067080
#define FSTV0910_P1_SMAPCOEF_32_LLR34 0xf506017f
/* P1_SMAPCOEF0 */
#define RSTV0910_P1_SMAPCOEF0 0xf507
-#define FSTV0910_P1_DIS_32SCALE 0xf5070080
+#define FSTV0910_P1_DIS_32SCALE 0xf5077080
#define FSTV0910_P1_SMAPCOEF_32_LLR15 0xf507017f
/* P1_NOSTHRES1 */
@@ -3015,20 +3015,20 @@
/* P1_RAINFADE */
#define RSTV0910_P1_RAINFADE 0xf50c
-#define FSTV0910_P1_NOSTHRES_DATAT 0xf50c0080
-#define FSTV0910_P1_RAINFADE_CNLIMIT 0xf50c0070
+#define FSTV0910_P1_NOSTHRES_DATAT 0xf50c7080
+#define FSTV0910_P1_RAINFADE_CNLIMIT 0xf50c4070
#define FSTV0910_P1_RAINFADE_TIMEOUT 0xf50c0007
/* P1_NOSRAMCFG */
#define RSTV0910_P1_NOSRAMCFG 0xf50d
-#define FSTV0910_P1_NOSRAM_ACTIVATION 0xf50d0030
-#define FSTV0910_P1_NOSRAM_CNRONLY 0xf50d0008
+#define FSTV0910_P1_NOSRAM_ACTIVATION 0xf50d4030
+#define FSTV0910_P1_NOSRAM_CNRONLY 0xf50d3008
#define FSTV0910_P1_NOSRAM_LGNCNR1 0xf50d0007
/* P1_NOSRAMPOS */
#define RSTV0910_P1_NOSRAMPOS 0xf50e
-#define FSTV0910_P1_NOSRAM_LGNCNR0 0xf50e00f0
-#define FSTV0910_P1_NOSRAM_VALIDE 0xf50e0004
+#define FSTV0910_P1_NOSRAM_LGNCNR0 0xf50e40f0
+#define FSTV0910_P1_NOSRAM_VALIDE 0xf50e2004
#define FSTV0910_P1_NOSRAM_CNRVAL1 0xf50e0003
/* P1_NOSRAMVAL */
@@ -3057,16 +3057,16 @@
/* P1_VITSCALE */
#define RSTV0910_P1_VITSCALE 0xf532
-#define FSTV0910_P1_NVTH_NOSRANGE 0xf5320080
-#define FSTV0910_P1_VERROR_MAXMODE 0xf5320040
-#define FSTV0910_P1_NSLOWSN_LOCKED 0xf5320008
-#define FSTV0910_P1_DIS_RSFLOCK 0xf5320002
+#define FSTV0910_P1_NVTH_NOSRANGE 0xf5327080
+#define FSTV0910_P1_VERROR_MAXMODE 0xf5326040
+#define FSTV0910_P1_NSLOWSN_LOCKED 0xf5323008
+#define FSTV0910_P1_DIS_RSFLOCK 0xf5321002
/* P1_FECM */
#define RSTV0910_P1_FECM 0xf533
-#define FSTV0910_P1_DSS_DVB 0xf5330080
-#define FSTV0910_P1_DSS_SRCH 0xf5330010
-#define FSTV0910_P1_SYNCVIT 0xf5330002
+#define FSTV0910_P1_DSS_DVB 0xf5337080
+#define FSTV0910_P1_DSS_SRCH 0xf5334010
+#define FSTV0910_P1_SYNCVIT 0xf5331002
#define FSTV0910_P1_IQINV 0xf5330001
/* P1_VTH12 */
@@ -3103,26 +3103,26 @@
/* P1_PRVIT */
#define RSTV0910_P1_PRVIT 0xf53c
-#define FSTV0910_P1_DIS_VTHLOCK 0xf53c0040
-#define FSTV0910_P1_E7_8VIT 0xf53c0020
-#define FSTV0910_P1_E6_7VIT 0xf53c0010
-#define FSTV0910_P1_E5_6VIT 0xf53c0008
-#define FSTV0910_P1_E3_4VIT 0xf53c0004
-#define FSTV0910_P1_E2_3VIT 0xf53c0002
+#define FSTV0910_P1_DIS_VTHLOCK 0xf53c6040
+#define FSTV0910_P1_E7_8VIT 0xf53c5020
+#define FSTV0910_P1_E6_7VIT 0xf53c4010
+#define FSTV0910_P1_E5_6VIT 0xf53c3008
+#define FSTV0910_P1_E3_4VIT 0xf53c2004
+#define FSTV0910_P1_E2_3VIT 0xf53c1002
#define FSTV0910_P1_E1_2VIT 0xf53c0001
/* P1_VAVSRVIT */
#define RSTV0910_P1_VAVSRVIT 0xf53d
-#define FSTV0910_P1_AMVIT 0xf53d0080
-#define FSTV0910_P1_FROZENVIT 0xf53d0040
-#define FSTV0910_P1_SNVIT 0xf53d0030
-#define FSTV0910_P1_TOVVIT 0xf53d000c
+#define FSTV0910_P1_AMVIT 0xf53d7080
+#define FSTV0910_P1_FROZENVIT 0xf53d6040
+#define FSTV0910_P1_SNVIT 0xf53d4030
+#define FSTV0910_P1_TOVVIT 0xf53d200c
#define FSTV0910_P1_HYPVIT 0xf53d0003
/* P1_VSTATUSVIT */
#define RSTV0910_P1_VSTATUSVIT 0xf53e
-#define FSTV0910_P1_PRFVIT 0xf53e0010
-#define FSTV0910_P1_LOCKEDVIT 0xf53e0008
+#define FSTV0910_P1_PRFVIT 0xf53e4010
+#define FSTV0910_P1_LOCKEDVIT 0xf53e3008
/* P1_VTHINUSE */
#define RSTV0910_P1_VTHINUSE 0xf53f
@@ -3162,32 +3162,32 @@
/* P1_PDELCTRL0 */
#define RSTV0910_P1_PDELCTRL0 0xf54f
-#define FSTV0910_P1_ISIOBS_MODE 0xf54f0030
+#define FSTV0910_P1_ISIOBS_MODE 0xf54f4030
/* P1_PDELCTRL1 */
#define RSTV0910_P1_PDELCTRL1 0xf550
-#define FSTV0910_P1_INV_MISMASK 0xf5500080
-#define FSTV0910_P1_FILTER_EN 0xf5500020
-#define FSTV0910_P1_HYSTEN 0xf5500008
-#define FSTV0910_P1_HYSTSWRST 0xf5500004
-#define FSTV0910_P1_EN_MIS00 0xf5500002
+#define FSTV0910_P1_INV_MISMASK 0xf5507080
+#define FSTV0910_P1_FILTER_EN 0xf5505020
+#define FSTV0910_P1_HYSTEN 0xf5503008
+#define FSTV0910_P1_HYSTSWRST 0xf5502004
+#define FSTV0910_P1_EN_MIS00 0xf5501002
#define FSTV0910_P1_ALGOSWRST 0xf5500001
/* P1_PDELCTRL2 */
#define RSTV0910_P1_PDELCTRL2 0xf551
-#define FSTV0910_P1_FORCE_CONTINUOUS 0xf5510080
-#define FSTV0910_P1_RESET_UPKO_COUNT 0xf5510040
-#define FSTV0910_P1_USER_PKTDELIN_NB 0xf5510020
-#define FSTV0910_P1_FRAME_MODE 0xf5510002
+#define FSTV0910_P1_FORCE_CONTINUOUS 0xf5517080
+#define FSTV0910_P1_RESET_UPKO_COUNT 0xf5516040
+#define FSTV0910_P1_USER_PKTDELIN_NB 0xf5515020
+#define FSTV0910_P1_FRAME_MODE 0xf5511002
/* P1_HYSTTHRESH */
#define RSTV0910_P1_HYSTTHRESH 0xf554
-#define FSTV0910_P1_DELIN_LOCKTHRES 0xf55400f0
+#define FSTV0910_P1_DELIN_LOCKTHRES 0xf55440f0
#define FSTV0910_P1_DELIN_UNLOCKTHRES 0xf554000f
/* P1_UPLCCST0 */
#define RSTV0910_P1_UPLCCST0 0xf558
-#define FSTV0910_P1_UPL_CST0 0xf55800f8
+#define FSTV0910_P1_UPL_CST0 0xf55830f8
#define FSTV0910_P1_UPL_MODE 0xf5580007
/* P1_ISIENTRY */
@@ -3236,16 +3236,16 @@
/* P1_PDELSTATUS1 */
#define RSTV0910_P1_PDELSTATUS1 0xf569
-#define FSTV0910_P1_PKTDELIN_DELOCK 0xf5690080
-#define FSTV0910_P1_SYNCDUPDFL_BADDFL 0xf5690040
-#define FSTV0910_P1_UNACCEPTED_STREAM 0xf5690010
-#define FSTV0910_P1_BCH_ERROR_FLAG 0xf5690008
-#define FSTV0910_P1_PKTDELIN_LOCK 0xf5690002
+#define FSTV0910_P1_PKTDELIN_DELOCK 0xf5697080
+#define FSTV0910_P1_SYNCDUPDFL_BADDFL 0xf5696040
+#define FSTV0910_P1_UNACCEPTED_STREAM 0xf5694010
+#define FSTV0910_P1_BCH_ERROR_FLAG 0xf5693008
+#define FSTV0910_P1_PKTDELIN_LOCK 0xf5691002
#define FSTV0910_P1_FIRST_LOCK 0xf5690001
/* P1_PDELSTATUS2 */
#define RSTV0910_P1_PDELSTATUS2 0xf56a
-#define FSTV0910_P1_FRAME_MODCOD 0xf56a007c
+#define FSTV0910_P1_FRAME_MODCOD 0xf56a207c
#define FSTV0910_P1_FRAME_TYPE 0xf56a0003
/* P1_BBFCRCKO1 */
@@ -3266,92 +3266,92 @@
/* P1_PDELCTRL3 */
#define RSTV0910_P1_PDELCTRL3 0xf56f
-#define FSTV0910_P1_NOFIFO_BCHERR 0xf56f0020
-#define FSTV0910_P1_PKTDELIN_DELACMERR 0xf56f0010
+#define FSTV0910_P1_NOFIFO_BCHERR 0xf56f5020
+#define FSTV0910_P1_PKTDELIN_DELACMERR 0xf56f4010
/* P1_TSSTATEM */
#define RSTV0910_P1_TSSTATEM 0xf570
-#define FSTV0910_P1_TSDIL_ON 0xf5700080
-#define FSTV0910_P1_TSRS_ON 0xf5700020
-#define FSTV0910_P1_TSDESCRAMB_ON 0xf5700010
-#define FSTV0910_P1_TSFRAME_MODE 0xf5700008
-#define FSTV0910_P1_TS_DISABLE 0xf5700004
-#define FSTV0910_P1_TSACM_MODE 0xf5700002
+#define FSTV0910_P1_TSDIL_ON 0xf5707080
+#define FSTV0910_P1_TSRS_ON 0xf5705020
+#define FSTV0910_P1_TSDESCRAMB_ON 0xf5704010
+#define FSTV0910_P1_TSFRAME_MODE 0xf5703008
+#define FSTV0910_P1_TS_DISABLE 0xf5702004
+#define FSTV0910_P1_TSACM_MODE 0xf5701002
#define FSTV0910_P1_TSOUT_NOSYNC 0xf5700001
/* P1_TSSTATEL */
#define RSTV0910_P1_TSSTATEL 0xf571
-#define FSTV0910_P1_TSNOSYNCBYTE 0xf5710080
-#define FSTV0910_P1_TSPARITY_ON 0xf5710040
-#define FSTV0910_P1_TSISSYI_ON 0xf5710008
-#define FSTV0910_P1_TSNPD_ON 0xf5710004
-#define FSTV0910_P1_TSCRC8_ON 0xf5710002
+#define FSTV0910_P1_TSNOSYNCBYTE 0xf5717080
+#define FSTV0910_P1_TSPARITY_ON 0xf5716040
+#define FSTV0910_P1_TSISSYI_ON 0xf5713008
+#define FSTV0910_P1_TSNPD_ON 0xf5712004
+#define FSTV0910_P1_TSCRC8_ON 0xf5711002
#define FSTV0910_P1_TSDSS_PACKET 0xf5710001
/* P1_TSCFGH */
#define RSTV0910_P1_TSCFGH 0xf572
-#define FSTV0910_P1_TSFIFO_DVBCI 0xf5720080
-#define FSTV0910_P1_TSFIFO_SERIAL 0xf5720040
-#define FSTV0910_P1_TSFIFO_TEIUPDATE 0xf5720020
-#define FSTV0910_P1_TSFIFO_DUTY50 0xf5720010
-#define FSTV0910_P1_TSFIFO_HSGNLOUT 0xf5720008
-#define FSTV0910_P1_TSFIFO_ERRMODE 0xf5720006
+#define FSTV0910_P1_TSFIFO_DVBCI 0xf5727080
+#define FSTV0910_P1_TSFIFO_SERIAL 0xf5726040
+#define FSTV0910_P1_TSFIFO_TEIUPDATE 0xf5725020
+#define FSTV0910_P1_TSFIFO_DUTY50 0xf5724010
+#define FSTV0910_P1_TSFIFO_HSGNLOUT 0xf5723008
+#define FSTV0910_P1_TSFIFO_ERRMODE 0xf5721006
#define FSTV0910_P1_RST_HWARE 0xf5720001
/* P1_TSCFGM */
#define RSTV0910_P1_TSCFGM 0xf573
-#define FSTV0910_P1_TSFIFO_MANSPEED 0xf57300c0
-#define FSTV0910_P1_TSFIFO_PERMDATA 0xf5730020
-#define FSTV0910_P1_TSFIFO_NONEWSGNL 0xf5730010
+#define FSTV0910_P1_TSFIFO_MANSPEED 0xf57360c0
+#define FSTV0910_P1_TSFIFO_PERMDATA 0xf5735020
+#define FSTV0910_P1_TSFIFO_NONEWSGNL 0xf5734010
#define FSTV0910_P1_TSFIFO_INVDATA 0xf5730001
/* P1_TSCFGL */
#define RSTV0910_P1_TSCFGL 0xf574
-#define FSTV0910_P1_TSFIFO_BCLKDEL1CK 0xf57400c0
-#define FSTV0910_P1_BCHERROR_MODE 0xf5740030
-#define FSTV0910_P1_TSFIFO_NSGNL2DATA 0xf5740008
-#define FSTV0910_P1_TSFIFO_EMBINDVB 0xf5740004
+#define FSTV0910_P1_TSFIFO_BCLKDEL1CK 0xf57460c0
+#define FSTV0910_P1_BCHERROR_MODE 0xf5744030
+#define FSTV0910_P1_TSFIFO_NSGNL2DATA 0xf5743008
+#define FSTV0910_P1_TSFIFO_EMBINDVB 0xf5742004
#define FSTV0910_P1_TSFIFO_BITSPEED 0xf5740003
/* P1_TSSYNC */
#define RSTV0910_P1_TSSYNC 0xf575
-#define FSTV0910_P1_TSFIFO_SYNCMODE 0xf5750018
+#define FSTV0910_P1_TSFIFO_SYNCMODE 0xf5753018
/* P1_TSINSDELH */
#define RSTV0910_P1_TSINSDELH 0xf576
-#define FSTV0910_P1_TSDEL_SYNCBYTE 0xf5760080
-#define FSTV0910_P1_TSDEL_XXHEADER 0xf5760040
-#define FSTV0910_P1_TSDEL_DATAFIELD 0xf5760010
-#define FSTV0910_P1_TSINSDEL_RSPARITY 0xf5760002
+#define FSTV0910_P1_TSDEL_SYNCBYTE 0xf5767080
+#define FSTV0910_P1_TSDEL_XXHEADER 0xf5766040
+#define FSTV0910_P1_TSDEL_DATAFIELD 0xf5764010
+#define FSTV0910_P1_TSINSDEL_RSPARITY 0xf5761002
#define FSTV0910_P1_TSINSDEL_CRC8 0xf5760001
/* P1_TSINSDELM */
#define RSTV0910_P1_TSINSDELM 0xf577
-#define FSTV0910_P1_TSINS_EMODCOD 0xf5770010
-#define FSTV0910_P1_TSINS_TOKEN 0xf5770008
-#define FSTV0910_P1_TSINS_XXXERR 0xf5770004
-#define FSTV0910_P1_TSINS_MATYPE 0xf5770002
+#define FSTV0910_P1_TSINS_EMODCOD 0xf5774010
+#define FSTV0910_P1_TSINS_TOKEN 0xf5773008
+#define FSTV0910_P1_TSINS_XXXERR 0xf5772004
+#define FSTV0910_P1_TSINS_MATYPE 0xf5771002
#define FSTV0910_P1_TSINS_UPL 0xf5770001
/* P1_TSINSDELL */
#define RSTV0910_P1_TSINSDELL 0xf578
-#define FSTV0910_P1_TSINS_DFL 0xf5780080
-#define FSTV0910_P1_TSINS_SYNCD 0xf5780040
-#define FSTV0910_P1_TSINS_BLOCLEN 0xf5780020
-#define FSTV0910_P1_TSINS_SIGPCOUNT 0xf5780010
-#define FSTV0910_P1_TSINS_FIFO 0xf5780008
-#define FSTV0910_P1_TSINS_REALPACK 0xf5780004
-#define FSTV0910_P1_TSINS_TSCONFIG 0xf5780002
+#define FSTV0910_P1_TSINS_DFL 0xf5787080
+#define FSTV0910_P1_TSINS_SYNCD 0xf5786040
+#define FSTV0910_P1_TSINS_BLOCLEN 0xf5785020
+#define FSTV0910_P1_TSINS_SIGPCOUNT 0xf5784010
+#define FSTV0910_P1_TSINS_FIFO 0xf5783008
+#define FSTV0910_P1_TSINS_REALPACK 0xf5782004
+#define FSTV0910_P1_TSINS_TSCONFIG 0xf5781002
#define FSTV0910_P1_TSINS_LATENCY 0xf5780001
/* P1_TSDIVN */
#define RSTV0910_P1_TSDIVN 0xf579
-#define FSTV0910_P1_TSFIFO_SPEEDMODE 0xf57900c0
+#define FSTV0910_P1_TSFIFO_SPEEDMODE 0xf57960c0
#define FSTV0910_P1_TSFIFO_RISEOK 0xf5790007
/* P1_TSCFG4 */
#define RSTV0910_P1_TSCFG4 0xf57a
-#define FSTV0910_P1_TSFIFO_TSSPEEDMODE 0xf57a00c0
+#define FSTV0910_P1_TSFIFO_TSSPEEDMODE 0xf57a60c0
/* P1_TSSPEED */
#define RSTV0910_P1_TSSPEED 0xf580
@@ -3359,18 +3359,18 @@
/* P1_TSSTATUS */
#define RSTV0910_P1_TSSTATUS 0xf581
-#define FSTV0910_P1_TSFIFO_LINEOK 0xf5810080
-#define FSTV0910_P1_TSFIFO_ERROR 0xf5810040
-#define FSTV0910_P1_TSFIFO_NOSYNC 0xf5810010
-#define FSTV0910_P1_TSREGUL_ERROR 0xf5810004
+#define FSTV0910_P1_TSFIFO_LINEOK 0xf5817080
+#define FSTV0910_P1_TSFIFO_ERROR 0xf5816040
+#define FSTV0910_P1_TSFIFO_NOSYNC 0xf5814010
+#define FSTV0910_P1_TSREGUL_ERROR 0xf5812004
#define FSTV0910_P1_DIL_READY 0xf5810001
/* P1_TSSTATUS2 */
#define RSTV0910_P1_TSSTATUS2 0xf582
-#define FSTV0910_P1_TSFIFO_DEMODSEL 0xf5820080
-#define FSTV0910_P1_TSFIFOSPEED_STORE 0xf5820040
-#define FSTV0910_P1_DILXX_RESET 0xf5820020
-#define FSTV0910_P1_SCRAMBDETECT 0xf5820002
+#define FSTV0910_P1_TSFIFO_DEMODSEL 0xf5827080
+#define FSTV0910_P1_TSFIFOSPEED_STORE 0xf5826040
+#define FSTV0910_P1_DILXX_RESET 0xf5825020
+#define FSTV0910_P1_SCRAMBDETECT 0xf5821002
/* P1_TSBITRATE1 */
#define RSTV0910_P1_TSBITRATE1 0xf583
@@ -3382,7 +3382,7 @@
/* P1_TSPACKLEN1 */
#define RSTV0910_P1_TSPACKLEN1 0xf585
-#define FSTV0910_P1_TSFIFO_PACKCPT 0xf58500e0
+#define FSTV0910_P1_TSFIFO_PACKCPT 0xf58550e0
/* P1_TSDLY2 */
#define RSTV0910_P1_TSDLY2 0xf589
@@ -3402,8 +3402,8 @@
/* P1_TSBUFSTAT2 */
#define RSTV0910_P1_TSBUFSTAT2 0xf58d
-#define FSTV0910_P1_TSISCR_3BYTES 0xf58d0080
-#define FSTV0910_P1_TSISCR_NEWDATA 0xf58d0040
+#define FSTV0910_P1_TSISCR_3BYTES 0xf58d7080
+#define FSTV0910_P1_TSISCR_NEWDATA 0xf58d6040
#define FSTV0910_P1_TSISCR_BUFSTAT2 0xf58d003f
/* P1_TSBUFSTAT1 */
@@ -3416,13 +3416,13 @@
/* P1_TSDEBUGL */
#define RSTV0910_P1_TSDEBUGL 0xf591
-#define FSTV0910_P1_TSFIFO_ERROR_EVNT 0xf5910004
+#define FSTV0910_P1_TSFIFO_ERROR_EVNT 0xf5912004
#define FSTV0910_P1_TSFIFO_OVERFLOWM 0xf5910001
/* P1_TSDLYSET2 */
#define RSTV0910_P1_TSDLYSET2 0xf592
-#define FSTV0910_P1_SOFFIFO_OFFSET 0xf59200c0
-#define FSTV0910_P1_HYSTERESIS_THRESHOLD 0xf5920030
+#define FSTV0910_P1_SOFFIFO_OFFSET 0xf59260c0
+#define FSTV0910_P1_HYSTERESIS_THRESHOLD 0xf5924030
#define FSTV0910_P1_SOFFIFO_SYMBOFFS2 0xf592000f
/* P1_TSDLYSET1 */
@@ -3435,12 +3435,12 @@
/* P1_ERRCTRL1 */
#define RSTV0910_P1_ERRCTRL1 0xf598
-#define FSTV0910_P1_ERR_SOURCE1 0xf59800f0
+#define FSTV0910_P1_ERR_SOURCE1 0xf59840f0
#define FSTV0910_P1_NUM_EVENT1 0xf5980007
/* P1_ERRCNT12 */
#define RSTV0910_P1_ERRCNT12 0xf599
-#define FSTV0910_P1_ERRCNT1_OLDVALUE 0xf5990080
+#define FSTV0910_P1_ERRCNT1_OLDVALUE 0xf5997080
#define FSTV0910_P1_ERR_CNT12 0xf599007f
/* P1_ERRCNT11 */
@@ -3453,12 +3453,12 @@
/* P1_ERRCTRL2 */
#define RSTV0910_P1_ERRCTRL2 0xf59c
-#define FSTV0910_P1_ERR_SOURCE2 0xf59c00f0
+#define FSTV0910_P1_ERR_SOURCE2 0xf59c40f0
#define FSTV0910_P1_NUM_EVENT2 0xf59c0007
/* P1_ERRCNT22 */
#define RSTV0910_P1_ERRCNT22 0xf59d
-#define FSTV0910_P1_ERRCNT2_OLDVALUE 0xf59d0080
+#define FSTV0910_P1_ERRCNT2_OLDVALUE 0xf59d7080
#define FSTV0910_P1_ERR_CNT22 0xf59d007f
/* P1_ERRCNT21 */
@@ -3471,39 +3471,39 @@
/* P1_FECSPY */
#define RSTV0910_P1_FECSPY 0xf5a0
-#define FSTV0910_P1_SPY_ENABLE 0xf5a00080
-#define FSTV0910_P1_NO_SYNCBYTE 0xf5a00040
-#define FSTV0910_P1_SERIAL_MODE 0xf5a00020
-#define FSTV0910_P1_UNUSUAL_PACKET 0xf5a00010
-#define FSTV0910_P1_BERMETER_DATAMODE 0xf5a0000c
-#define FSTV0910_P1_BERMETER_LMODE 0xf5a00002
+#define FSTV0910_P1_SPY_ENABLE 0xf5a07080
+#define FSTV0910_P1_NO_SYNCBYTE 0xf5a06040
+#define FSTV0910_P1_SERIAL_MODE 0xf5a05020
+#define FSTV0910_P1_UNUSUAL_PACKET 0xf5a04010
+#define FSTV0910_P1_BERMETER_DATAMODE 0xf5a0200c
+#define FSTV0910_P1_BERMETER_LMODE 0xf5a01002
#define FSTV0910_P1_BERMETER_RESET 0xf5a00001
/* P1_FSPYCFG */
#define RSTV0910_P1_FSPYCFG 0xf5a1
-#define FSTV0910_P1_FECSPY_INPUT 0xf5a100c0
-#define FSTV0910_P1_RST_ON_ERROR 0xf5a10020
-#define FSTV0910_P1_ONE_SHOT 0xf5a10010
-#define FSTV0910_P1_I2C_MODE 0xf5a1000c
+#define FSTV0910_P1_FECSPY_INPUT 0xf5a160c0
+#define FSTV0910_P1_RST_ON_ERROR 0xf5a15020
+#define FSTV0910_P1_ONE_SHOT 0xf5a14010
+#define FSTV0910_P1_I2C_MODE 0xf5a1200c
#define FSTV0910_P1_SPY_HYSTERESIS 0xf5a10003
/* P1_FSPYDATA */
#define RSTV0910_P1_FSPYDATA 0xf5a2
-#define FSTV0910_P1_SPY_STUFFING 0xf5a20080
-#define FSTV0910_P1_SPY_CNULLPKT 0xf5a20020
+#define FSTV0910_P1_SPY_STUFFING 0xf5a27080
+#define FSTV0910_P1_SPY_CNULLPKT 0xf5a25020
#define FSTV0910_P1_SPY_OUTDATA_MODE 0xf5a2001f
/* P1_FSPYOUT */
#define RSTV0910_P1_FSPYOUT 0xf5a3
-#define FSTV0910_P1_FSPY_DIRECT 0xf5a30080
+#define FSTV0910_P1_FSPY_DIRECT 0xf5a37080
#define FSTV0910_P1_STUFF_MODE 0xf5a30007
/* P1_FSTATUS */
#define RSTV0910_P1_FSTATUS 0xf5a4
-#define FSTV0910_P1_SPY_ENDSIM 0xf5a40080
-#define FSTV0910_P1_VALID_SIM 0xf5a40040
-#define FSTV0910_P1_FOUND_SIGNAL 0xf5a40020
-#define FSTV0910_P1_DSS_SYNCBYTE 0xf5a40010
+#define FSTV0910_P1_SPY_ENDSIM 0xf5a47080
+#define FSTV0910_P1_VALID_SIM 0xf5a46040
+#define FSTV0910_P1_FOUND_SIGNAL 0xf5a45020
+#define FSTV0910_P1_DSS_SYNCBYTE 0xf5a44010
#define FSTV0910_P1_RESULT_STATE 0xf5a4000f
/* P1_FBERCPT4 */
@@ -3540,8 +3540,8 @@
/* P1_FSPYBER */
#define RSTV0910_P1_FSPYBER 0xf5b2
-#define FSTV0910_P1_FSPYBER_SYNCBYTE 0xf5b20010
-#define FSTV0910_P1_FSPYBER_UNSYNC 0xf5b20008
+#define FSTV0910_P1_FSPYBER_SYNCBYTE 0xf5b24010
+#define FSTV0910_P1_FSPYBER_UNSYNC 0xf5b23008
#define FSTV0910_P1_FSPYBER_CTIME 0xf5b20007
/* P1_SFERROR */
@@ -3550,60 +3550,60 @@
/* P1_SFECSTATUS */
#define RSTV0910_P1_SFECSTATUS 0xf5c3
-#define FSTV0910_P1_SFEC_ON 0xf5c30080
-#define FSTV0910_P1_SFEC_OFF 0xf5c30040
-#define FSTV0910_P1_LOCKEDSFEC 0xf5c30008
-#define FSTV0910_P1_SFEC_DELOCK 0xf5c30004
-#define FSTV0910_P1_SFEC_DEMODSEL 0xf5c30002
+#define FSTV0910_P1_SFEC_ON 0xf5c37080
+#define FSTV0910_P1_SFEC_OFF 0xf5c36040
+#define FSTV0910_P1_LOCKEDSFEC 0xf5c33008
+#define FSTV0910_P1_SFEC_DELOCK 0xf5c32004
+#define FSTV0910_P1_SFEC_DEMODSEL 0xf5c31002
#define FSTV0910_P1_SFEC_OVFON 0xf5c30001
/* P1_SFKDIV12 */
#define RSTV0910_P1_SFKDIV12 0xf5c4
-#define FSTV0910_P1_SFECKDIV12_MAN 0xf5c40080
+#define FSTV0910_P1_SFECKDIV12_MAN 0xf5c47080
/* P1_SFKDIV23 */
#define RSTV0910_P1_SFKDIV23 0xf5c5
-#define FSTV0910_P1_SFECKDIV23_MAN 0xf5c50080
+#define FSTV0910_P1_SFECKDIV23_MAN 0xf5c57080
/* P1_SFKDIV34 */
#define RSTV0910_P1_SFKDIV34 0xf5c6
-#define FSTV0910_P1_SFECKDIV34_MAN 0xf5c60080
+#define FSTV0910_P1_SFECKDIV34_MAN 0xf5c67080
/* P1_SFKDIV56 */
#define RSTV0910_P1_SFKDIV56 0xf5c7
-#define FSTV0910_P1_SFECKDIV56_MAN 0xf5c70080
+#define FSTV0910_P1_SFECKDIV56_MAN 0xf5c77080
/* P1_SFKDIV67 */
#define RSTV0910_P1_SFKDIV67 0xf5c8
-#define FSTV0910_P1_SFECKDIV67_MAN 0xf5c80080
+#define FSTV0910_P1_SFECKDIV67_MAN 0xf5c87080
/* P1_SFKDIV78 */
#define RSTV0910_P1_SFKDIV78 0xf5c9
-#define FSTV0910_P1_SFECKDIV78_MAN 0xf5c90080
+#define FSTV0910_P1_SFECKDIV78_MAN 0xf5c97080
/* P1_SFSTATUS */
#define RSTV0910_P1_SFSTATUS 0xf5cc
-#define FSTV0910_P1_SFEC_LINEOK 0xf5cc0080
-#define FSTV0910_P1_SFEC_ERROR 0xf5cc0040
-#define FSTV0910_P1_SFEC_DATA7 0xf5cc0020
-#define FSTV0910_P1_SFEC_PKTDNBRFAIL 0xf5cc0010
-#define FSTV0910_P1_TSSFEC_DEMODSEL 0xf5cc0008
-#define FSTV0910_P1_SFEC_NOSYNC 0xf5cc0004
-#define FSTV0910_P1_SFEC_UNREGULA 0xf5cc0002
+#define FSTV0910_P1_SFEC_LINEOK 0xf5cc7080
+#define FSTV0910_P1_SFEC_ERROR 0xf5cc6040
+#define FSTV0910_P1_SFEC_DATA7 0xf5cc5020
+#define FSTV0910_P1_SFEC_PKTDNBRFAIL 0xf5cc4010
+#define FSTV0910_P1_TSSFEC_DEMODSEL 0xf5cc3008
+#define FSTV0910_P1_SFEC_NOSYNC 0xf5cc2004
+#define FSTV0910_P1_SFEC_UNREGULA 0xf5cc1002
#define FSTV0910_P1_SFEC_READY 0xf5cc0001
/* P1_SFDLYSET2 */
#define RSTV0910_P1_SFDLYSET2 0xf5d0
-#define FSTV0910_P1_SFEC_DISABLE 0xf5d00002
+#define FSTV0910_P1_SFEC_DISABLE 0xf5d01002
/* P1_SFERRCTRL */
#define RSTV0910_P1_SFERRCTRL 0xf5d8
-#define FSTV0910_P1_SFEC_ERR_SOURCE 0xf5d800f0
+#define FSTV0910_P1_SFEC_ERR_SOURCE 0xf5d840f0
#define FSTV0910_P1_SFEC_NUM_EVENT 0xf5d80007
/* P1_SFERRCNT2 */
#define RSTV0910_P1_SFERRCNT2 0xf5d9
-#define FSTV0910_P1_SFERRC_OLDVALUE 0xf5d90080
+#define FSTV0910_P1_SFERRC_OLDVALUE 0xf5d97080
#define FSTV0910_P1_SFEC_ERR_CNT2 0xf5d9007f
/* P1_SFERRCNT1 */
@@ -3616,66 +3616,66 @@
/* RCCFG2 */
#define RSTV0910_RCCFG2 0xf600
-#define FSTV0910_TSRCFIFO_DVBCI 0xf6000080
-#define FSTV0910_TSRCFIFO_SERIAL 0xf6000040
-#define FSTV0910_TSRCFIFO_DISABLE 0xf6000020
-#define FSTV0910_TSFIFO_2TORC 0xf6000010
-#define FSTV0910_TSRCFIFO_HSGNLOUT 0xf6000008
-#define FSTV0910_TSRCFIFO_ERRMODE 0xf6000006
+#define FSTV0910_TSRCFIFO_DVBCI 0xf6007080
+#define FSTV0910_TSRCFIFO_SERIAL 0xf6006040
+#define FSTV0910_TSRCFIFO_DISABLE 0xf6005020
+#define FSTV0910_TSFIFO_2TORC 0xf6004010
+#define FSTV0910_TSRCFIFO_HSGNLOUT 0xf6003008
+#define FSTV0910_TSRCFIFO_ERRMODE 0xf6001006
/* RCCFG1 */
#define RSTV0910_RCCFG1 0xf601
-#define FSTV0910_TSRCFIFO_MANSPEED 0xf60100c0
-#define FSTV0910_TSRCFIFO_PERMDATA 0xf6010020
-#define FSTV0910_TSRCFIFO_NONEWSGNL 0xf6010010
+#define FSTV0910_TSRCFIFO_MANSPEED 0xf60160c0
+#define FSTV0910_TSRCFIFO_PERMDATA 0xf6015020
+#define FSTV0910_TSRCFIFO_NONEWSGNL 0xf6014010
#define FSTV0910_TSRCFIFO_INVDATA 0xf6010001
/* RCCFG0 */
#define RSTV0910_RCCFG0 0xf602
-#define FSTV0910_TSRCFIFO_BCLKDEL1CK 0xf60200c0
-#define FSTV0910_TSRCFIFO_DUTY50 0xf6020010
-#define FSTV0910_TSRCFIFO_NSGNL2DATA 0xf6020008
-#define FSTV0910_TSRCFIFO_NPDSGNL 0xf6020004
+#define FSTV0910_TSRCFIFO_BCLKDEL1CK 0xf60260c0
+#define FSTV0910_TSRCFIFO_DUTY50 0xf6024010
+#define FSTV0910_TSRCFIFO_NSGNL2DATA 0xf6023008
+#define FSTV0910_TSRCFIFO_NPDSGNL 0xf6022004
/* RCINSDEL2 */
#define RSTV0910_RCINSDEL2 0xf603
-#define FSTV0910_TSRCDEL_SYNCBYTE 0xf6030080
-#define FSTV0910_TSRCDEL_XXHEADER 0xf6030040
-#define FSTV0910_TSRCDEL_BBHEADER 0xf6030020
-#define FSTV0910_TSRCDEL_DATAFIELD 0xf6030010
-#define FSTV0910_TSRCINSDEL_ISCR 0xf6030008
-#define FSTV0910_TSRCINSDEL_NPD 0xf6030004
-#define FSTV0910_TSRCINSDEL_RSPARITY 0xf6030002
+#define FSTV0910_TSRCDEL_SYNCBYTE 0xf6037080
+#define FSTV0910_TSRCDEL_XXHEADER 0xf6036040
+#define FSTV0910_TSRCDEL_BBHEADER 0xf6035020
+#define FSTV0910_TSRCDEL_DATAFIELD 0xf6034010
+#define FSTV0910_TSRCINSDEL_ISCR 0xf6033008
+#define FSTV0910_TSRCINSDEL_NPD 0xf6032004
+#define FSTV0910_TSRCINSDEL_RSPARITY 0xf6031002
#define FSTV0910_TSRCINSDEL_CRC8 0xf6030001
/* RCINSDEL1 */
#define RSTV0910_RCINSDEL1 0xf604
-#define FSTV0910_TSRCINS_BBPADDING 0xf6040080
-#define FSTV0910_TSRCINS_BCHFEC 0xf6040040
-#define FSTV0910_TSRCINS_EMODCOD 0xf6040010
-#define FSTV0910_TSRCINS_TOKEN 0xf6040008
-#define FSTV0910_TSRCINS_XXXERR 0xf6040004
-#define FSTV0910_TSRCINS_MATYPE 0xf6040002
+#define FSTV0910_TSRCINS_BBPADDING 0xf6047080
+#define FSTV0910_TSRCINS_BCHFEC 0xf6046040
+#define FSTV0910_TSRCINS_EMODCOD 0xf6044010
+#define FSTV0910_TSRCINS_TOKEN 0xf6043008
+#define FSTV0910_TSRCINS_XXXERR 0xf6042004
+#define FSTV0910_TSRCINS_MATYPE 0xf6041002
#define FSTV0910_TSRCINS_UPL 0xf6040001
/* RCINSDEL0 */
#define RSTV0910_RCINSDEL0 0xf605
-#define FSTV0910_TSRCINS_DFL 0xf6050080
-#define FSTV0910_TSRCINS_SYNCD 0xf6050040
-#define FSTV0910_TSRCINS_BLOCLEN 0xf6050020
-#define FSTV0910_TSRCINS_SIGPCOUNT 0xf6050010
-#define FSTV0910_TSRCINS_FIFO 0xf6050008
-#define FSTV0910_TSRCINS_REALPACK 0xf6050004
-#define FSTV0910_TSRCINS_TSCONFIG 0xf6050002
+#define FSTV0910_TSRCINS_DFL 0xf6057080
+#define FSTV0910_TSRCINS_SYNCD 0xf6056040
+#define FSTV0910_TSRCINS_BLOCLEN 0xf6055020
+#define FSTV0910_TSRCINS_SIGPCOUNT 0xf6054010
+#define FSTV0910_TSRCINS_FIFO 0xf6053008
+#define FSTV0910_TSRCINS_REALPACK 0xf6052004
+#define FSTV0910_TSRCINS_TSCONFIG 0xf6051002
#define FSTV0910_TSRCINS_LATENCY 0xf6050001
/* RCSTATUS */
#define RSTV0910_RCSTATUS 0xf606
-#define FSTV0910_TSRCFIFO_LINEOK 0xf6060080
-#define FSTV0910_TSRCFIFO_ERROR 0xf6060040
-#define FSTV0910_TSRCREGUL_ERROR 0xf6060010
-#define FSTV0910_TSRCFIFO_DEMODSEL 0xf6060008
-#define FSTV0910_TSRCFIFOSPEED_STORE 0xf6060004
+#define FSTV0910_TSRCFIFO_LINEOK 0xf6067080
+#define FSTV0910_TSRCFIFO_ERROR 0xf6066040
+#define FSTV0910_TSRCREGUL_ERROR 0xf6064010
+#define FSTV0910_TSRCFIFO_DEMODSEL 0xf6063008
+#define FSTV0910_TSRCFIFOSPEED_STORE 0xf6062004
#define FSTV0910_TSRCSPEED_IMPOSSIBLE 0xf6060001
/* RCSPEED */
@@ -3684,47 +3684,47 @@
/* TSGENERAL */
#define RSTV0910_TSGENERAL 0xf630
-#define FSTV0910_TSFIFO_DISTS2PAR 0xf6300040
-#define FSTV0910_MUXSTREAM_OUTMODE 0xf6300008
-#define FSTV0910_TSFIFO_PERMPARAL 0xf6300006
+#define FSTV0910_TSFIFO_DISTS2PAR 0xf6306040
+#define FSTV0910_MUXSTREAM_OUTMODE 0xf6303008
+#define FSTV0910_TSFIFO_PERMPARAL 0xf6301006
/* P1_DISIRQCFG */
#define RSTV0910_P1_DISIRQCFG 0xf700
-#define FSTV0910_P1_ENRXEND 0xf7000040
-#define FSTV0910_P1_ENRXFIFO8B 0xf7000020
-#define FSTV0910_P1_ENTRFINISH 0xf7000010
-#define FSTV0910_P1_ENTIMEOUT 0xf7000008
-#define FSTV0910_P1_ENTXEND 0xf7000004
-#define FSTV0910_P1_ENTXFIFO64B 0xf7000002
+#define FSTV0910_P1_ENRXEND 0xf7006040
+#define FSTV0910_P1_ENRXFIFO8B 0xf7005020
+#define FSTV0910_P1_ENTRFINISH 0xf7004010
+#define FSTV0910_P1_ENTIMEOUT 0xf7003008
+#define FSTV0910_P1_ENTXEND 0xf7002004
+#define FSTV0910_P1_ENTXFIFO64B 0xf7001002
#define FSTV0910_P1_ENGAPBURST 0xf7000001
/* P1_DISIRQSTAT */
#define RSTV0910_P1_DISIRQSTAT 0xf701
-#define FSTV0910_P1_IRQRXEND 0xf7010040
-#define FSTV0910_P1_IRQRXFIFO8B 0xf7010020
-#define FSTV0910_P1_IRQTRFINISH 0xf7010010
-#define FSTV0910_P1_IRQTIMEOUT 0xf7010008
-#define FSTV0910_P1_IRQTXEND 0xf7010004
-#define FSTV0910_P1_IRQTXFIFO64B 0xf7010002
+#define FSTV0910_P1_IRQRXEND 0xf7016040
+#define FSTV0910_P1_IRQRXFIFO8B 0xf7015020
+#define FSTV0910_P1_IRQTRFINISH 0xf7014010
+#define FSTV0910_P1_IRQTIMEOUT 0xf7013008
+#define FSTV0910_P1_IRQTXEND 0xf7012004
+#define FSTV0910_P1_IRQTXFIFO64B 0xf7011002
#define FSTV0910_P1_IRQGAPBURST 0xf7010001
/* P1_DISTXCFG */
#define RSTV0910_P1_DISTXCFG 0xf702
-#define FSTV0910_P1_DISTX_RESET 0xf7020080
-#define FSTV0910_P1_TIM_OFF 0xf7020040
-#define FSTV0910_P1_TIM_CMD 0xf7020030
-#define FSTV0910_P1_ENVELOP 0xf7020008
-#define FSTV0910_P1_DIS_PRECHARGE 0xf7020004
+#define FSTV0910_P1_DISTX_RESET 0xf7027080
+#define FSTV0910_P1_TIM_OFF 0xf7026040
+#define FSTV0910_P1_TIM_CMD 0xf7024030
+#define FSTV0910_P1_ENVELOP 0xf7023008
+#define FSTV0910_P1_DIS_PRECHARGE 0xf7022004
#define FSTV0910_P1_DISEQC_MODE 0xf7020003
/* P1_DISTXSTATUS */
#define RSTV0910_P1_DISTXSTATUS 0xf703
-#define FSTV0910_P1_TX_FIFO_FULL 0xf7030040
-#define FSTV0910_P1_TX_IDLE 0xf7030020
-#define FSTV0910_P1_GAP_BURST 0xf7030010
-#define FSTV0910_P1_TX_FIFO64B 0xf7030008
-#define FSTV0910_P1_TX_END 0xf7030004
-#define FSTV0910_P1_TR_TIMEOUT 0xf7030002
+#define FSTV0910_P1_TX_FIFO_FULL 0xf7036040
+#define FSTV0910_P1_TX_IDLE 0xf7035020
+#define FSTV0910_P1_GAP_BURST 0xf7034010
+#define FSTV0910_P1_TX_FIFO64B 0xf7033008
+#define FSTV0910_P1_TX_END 0xf7032004
+#define FSTV0910_P1_TR_TIMEOUT 0xf7031002
#define FSTV0910_P1_TR_FINISH 0xf7030001
/* P1_DISTXBYTES */
@@ -3741,7 +3741,7 @@
/* P1_DISTIMEOCFG */
#define RSTV0910_P1_DISTIMEOCFG 0xf708
-#define FSTV0910_P1_RXCHOICE 0xf7080006
+#define FSTV0910_P1_RXCHOICE 0xf7081006
#define FSTV0910_P1_TIMEOUT_OFF 0xf7080001
/* P1_DISTIMEOUT */
@@ -3750,30 +3750,30 @@
/* P1_DISRXCFG */
#define RSTV0910_P1_DISRXCFG 0xf70a
-#define FSTV0910_P1_DISRX_RESET 0xf70a0080
-#define FSTV0910_P1_EXTENVELOP 0xf70a0040
-#define FSTV0910_P1_PINSELECT 0xf70a0038
-#define FSTV0910_P1_IGNORE_SHORT22K 0xf70a0004
-#define FSTV0910_P1_SIGNED_RXIN 0xf70a0002
+#define FSTV0910_P1_DISRX_RESET 0xf70a7080
+#define FSTV0910_P1_EXTENVELOP 0xf70a6040
+#define FSTV0910_P1_PINSELECT 0xf70a3038
+#define FSTV0910_P1_IGNORE_SHORT22K 0xf70a2004
+#define FSTV0910_P1_SIGNED_RXIN 0xf70a1002
#define FSTV0910_P1_DISRX_ON 0xf70a0001
/* P1_DISRXSTAT1 */
#define RSTV0910_P1_DISRXSTAT1 0xf70b
-#define FSTV0910_P1_RXEND 0xf70b0080
-#define FSTV0910_P1_RXACTIVE 0xf70b0040
-#define FSTV0910_P1_RXDETECT 0xf70b0020
-#define FSTV0910_P1_CONTTONE 0xf70b0010
-#define FSTV0910_P1_8BFIFOREADY 0xf70b0008
-#define FSTV0910_P1_FIFOEMPTY 0xf70b0004
+#define FSTV0910_P1_RXEND 0xf70b7080
+#define FSTV0910_P1_RXACTIVE 0xf70b6040
+#define FSTV0910_P1_RXDETECT 0xf70b5020
+#define FSTV0910_P1_CONTTONE 0xf70b4010
+#define FSTV0910_P1_8BFIFOREADY 0xf70b3008
+#define FSTV0910_P1_FIFOEMPTY 0xf70b2004
/* P1_DISRXSTAT0 */
#define RSTV0910_P1_DISRXSTAT0 0xf70c
-#define FSTV0910_P1_RXFAIL 0xf70c0080
-#define FSTV0910_P1_FIFOPFAIL 0xf70c0040
-#define FSTV0910_P1_RXNONBYTE 0xf70c0020
-#define FSTV0910_P1_FIFOOVF 0xf70c0010
-#define FSTV0910_P1_SHORT22K 0xf70c0008
-#define FSTV0910_P1_RXMSGLOST 0xf70c0004
+#define FSTV0910_P1_RXFAIL 0xf70c7080
+#define FSTV0910_P1_FIFOPFAIL 0xf70c6040
+#define FSTV0910_P1_RXNONBYTE 0xf70c5020
+#define FSTV0910_P1_FIFOOVF 0xf70c4010
+#define FSTV0910_P1_SHORT22K 0xf70c3008
+#define FSTV0910_P1_RXMSGLOST 0xf70c2004
/* P1_DISRXBYTES */
#define RSTV0910_P1_DISRXBYTES 0xf70d
@@ -3825,41 +3825,41 @@
/* P2_DISIRQCFG */
#define RSTV0910_P2_DISIRQCFG 0xf740
-#define FSTV0910_P2_ENRXEND 0xf7400040
-#define FSTV0910_P2_ENRXFIFO8B 0xf7400020
-#define FSTV0910_P2_ENTRFINISH 0xf7400010
-#define FSTV0910_P2_ENTIMEOUT 0xf7400008
-#define FSTV0910_P2_ENTXEND 0xf7400004
-#define FSTV0910_P2_ENTXFIFO64B 0xf7400002
+#define FSTV0910_P2_ENRXEND 0xf7406040
+#define FSTV0910_P2_ENRXFIFO8B 0xf7405020
+#define FSTV0910_P2_ENTRFINISH 0xf7404010
+#define FSTV0910_P2_ENTIMEOUT 0xf7403008
+#define FSTV0910_P2_ENTXEND 0xf7402004
+#define FSTV0910_P2_ENTXFIFO64B 0xf7401002
#define FSTV0910_P2_ENGAPBURST 0xf7400001
/* P2_DISIRQSTAT */
#define RSTV0910_P2_DISIRQSTAT 0xf741
-#define FSTV0910_P2_IRQRXEND 0xf7410040
-#define FSTV0910_P2_IRQRXFIFO8B 0xf7410020
-#define FSTV0910_P2_IRQTRFINISH 0xf7410010
-#define FSTV0910_P2_IRQTIMEOUT 0xf7410008
-#define FSTV0910_P2_IRQTXEND 0xf7410004
-#define FSTV0910_P2_IRQTXFIFO64B 0xf7410002
+#define FSTV0910_P2_IRQRXEND 0xf7416040
+#define FSTV0910_P2_IRQRXFIFO8B 0xf7415020
+#define FSTV0910_P2_IRQTRFINISH 0xf7414010
+#define FSTV0910_P2_IRQTIMEOUT 0xf7413008
+#define FSTV0910_P2_IRQTXEND 0xf7412004
+#define FSTV0910_P2_IRQTXFIFO64B 0xf7411002
#define FSTV0910_P2_IRQGAPBURST 0xf7410001
/* P2_DISTXCFG */
#define RSTV0910_P2_DISTXCFG 0xf742
-#define FSTV0910_P2_DISTX_RESET 0xf7420080
-#define FSTV0910_P2_TIM_OFF 0xf7420040
-#define FSTV0910_P2_TIM_CMD 0xf7420030
-#define FSTV0910_P2_ENVELOP 0xf7420008
-#define FSTV0910_P2_DIS_PRECHARGE 0xf7420004
+#define FSTV0910_P2_DISTX_RESET 0xf7427080
+#define FSTV0910_P2_TIM_OFF 0xf7426040
+#define FSTV0910_P2_TIM_CMD 0xf7424030
+#define FSTV0910_P2_ENVELOP 0xf7423008
+#define FSTV0910_P2_DIS_PRECHARGE 0xf7422004
#define FSTV0910_P2_DISEQC_MODE 0xf7420003
/* P2_DISTXSTATUS */
#define RSTV0910_P2_DISTXSTATUS 0xf743
-#define FSTV0910_P2_TX_FIFO_FULL 0xf7430040
-#define FSTV0910_P2_TX_IDLE 0xf7430020
-#define FSTV0910_P2_GAP_BURST 0xf7430010
-#define FSTV0910_P2_TX_FIFO64B 0xf7430008
-#define FSTV0910_P2_TX_END 0xf7430004
-#define FSTV0910_P2_TR_TIMEOUT 0xf7430002
+#define FSTV0910_P2_TX_FIFO_FULL 0xf7436040
+#define FSTV0910_P2_TX_IDLE 0xf7435020
+#define FSTV0910_P2_GAP_BURST 0xf7434010
+#define FSTV0910_P2_TX_FIFO64B 0xf7433008
+#define FSTV0910_P2_TX_END 0xf7432004
+#define FSTV0910_P2_TR_TIMEOUT 0xf7431002
#define FSTV0910_P2_TR_FINISH 0xf7430001
/* P2_DISTXBYTES */
@@ -3876,7 +3876,7 @@
/* P2_DISTIMEOCFG */
#define RSTV0910_P2_DISTIMEOCFG 0xf748
-#define FSTV0910_P2_RXCHOICE 0xf7480006
+#define FSTV0910_P2_RXCHOICE 0xf7481006
#define FSTV0910_P2_TIMEOUT_OFF 0xf7480001
/* P2_DISTIMEOUT */
@@ -3885,30 +3885,30 @@
/* P2_DISRXCFG */
#define RSTV0910_P2_DISRXCFG 0xf74a
-#define FSTV0910_P2_DISRX_RESET 0xf74a0080
-#define FSTV0910_P2_EXTENVELOP 0xf74a0040
-#define FSTV0910_P2_PINSELECT 0xf74a0038
-#define FSTV0910_P2_IGNORE_SHORT22K 0xf74a0004
-#define FSTV0910_P2_SIGNED_RXIN 0xf74a0002
+#define FSTV0910_P2_DISRX_RESET 0xf74a7080
+#define FSTV0910_P2_EXTENVELOP 0xf74a6040
+#define FSTV0910_P2_PINSELECT 0xf74a3038
+#define FSTV0910_P2_IGNORE_SHORT22K 0xf74a2004
+#define FSTV0910_P2_SIGNED_RXIN 0xf74a1002
#define FSTV0910_P2_DISRX_ON 0xf74a0001
/* P2_DISRXSTAT1 */
#define RSTV0910_P2_DISRXSTAT1 0xf74b
-#define FSTV0910_P2_RXEND 0xf74b0080
-#define FSTV0910_P2_RXACTIVE 0xf74b0040
-#define FSTV0910_P2_RXDETECT 0xf74b0020
-#define FSTV0910_P2_CONTTONE 0xf74b0010
-#define FSTV0910_P2_8BFIFOREADY 0xf74b0008
-#define FSTV0910_P2_FIFOEMPTY 0xf74b0004
+#define FSTV0910_P2_RXEND 0xf74b7080
+#define FSTV0910_P2_RXACTIVE 0xf74b6040
+#define FSTV0910_P2_RXDETECT 0xf74b5020
+#define FSTV0910_P2_CONTTONE 0xf74b4010
+#define FSTV0910_P2_8BFIFOREADY 0xf74b3008
+#define FSTV0910_P2_FIFOEMPTY 0xf74b2004
/* P2_DISRXSTAT0 */
#define RSTV0910_P2_DISRXSTAT0 0xf74c
-#define FSTV0910_P2_RXFAIL 0xf74c0080
-#define FSTV0910_P2_FIFOPFAIL 0xf74c0040
-#define FSTV0910_P2_RXNONBYTE 0xf74c0020
-#define FSTV0910_P2_FIFOOVF 0xf74c0010
-#define FSTV0910_P2_SHORT22K 0xf74c0008
-#define FSTV0910_P2_RXMSGLOST 0xf74c0004
+#define FSTV0910_P2_RXFAIL 0xf74c7080
+#define FSTV0910_P2_FIFOPFAIL 0xf74c6040
+#define FSTV0910_P2_RXNONBYTE 0xf74c5020
+#define FSTV0910_P2_FIFOOVF 0xf74c4010
+#define FSTV0910_P2_SHORT22K 0xf74c3008
+#define FSTV0910_P2_RXMSGLOST 0xf74c2004
/* P2_DISRXBYTES */
#define RSTV0910_P2_DISRXBYTES 0xf74d
@@ -4168,75 +4168,75 @@
/* SELSATUR6 */
#define RSTV0910_SELSATUR6 0xfa34
-#define FSTV0910_SSAT_SF27 0xfa340008
-#define FSTV0910_SSAT_SF26 0xfa340004
-#define FSTV0910_SSAT_SF25 0xfa340002
+#define FSTV0910_SSAT_SF27 0xfa343008
+#define FSTV0910_SSAT_SF26 0xfa342004
+#define FSTV0910_SSAT_SF25 0xfa341002
#define FSTV0910_SSAT_SF24 0xfa340001
/* SELSATUR5 */
#define RSTV0910_SELSATUR5 0xfa35
-#define FSTV0910_SSAT_SF22 0xfa350080
-#define FSTV0910_SSAT_SF21 0xfa350040
-#define FSTV0910_SSAT_SF20 0xfa350020
-#define FSTV0910_SSAT_SF19 0xfa350010
-#define FSTV0910_SSAT_SF18 0xfa350008
-#define FSTV0910_SSAT_SF16 0xfa350004
-#define FSTV0910_SSAT_SF15 0xfa350002
+#define FSTV0910_SSAT_SF22 0xfa357080
+#define FSTV0910_SSAT_SF21 0xfa356040
+#define FSTV0910_SSAT_SF20 0xfa355020
+#define FSTV0910_SSAT_SF19 0xfa354010
+#define FSTV0910_SSAT_SF18 0xfa353008
+#define FSTV0910_SSAT_SF16 0xfa352004
+#define FSTV0910_SSAT_SF15 0xfa351002
#define FSTV0910_SSAT_SF14 0xfa350001
/* SELSATUR4 */
#define RSTV0910_SELSATUR4 0xfa36
-#define FSTV0910_SSAT_SF13 0xfa360080
-#define FSTV0910_SSAT_SF12 0xfa360040
-#define FSTV0910_SSAT_SF10 0xfa360020
-#define FSTV0910_SSAT_SF9 0xfa360010
-#define FSTV0910_SSAT_SF8 0xfa360008
-#define FSTV0910_SSAT_SF7 0xfa360004
-#define FSTV0910_SSAT_SF6 0xfa360002
+#define FSTV0910_SSAT_SF13 0xfa367080
+#define FSTV0910_SSAT_SF12 0xfa366040
+#define FSTV0910_SSAT_SF10 0xfa365020
+#define FSTV0910_SSAT_SF9 0xfa364010
+#define FSTV0910_SSAT_SF8 0xfa363008
+#define FSTV0910_SSAT_SF7 0xfa362004
+#define FSTV0910_SSAT_SF6 0xfa361002
#define FSTV0910_SSAT_SF5 0xfa360001
/* SELSATUR3 */
#define RSTV0910_SELSATUR3 0xfa37
-#define FSTV0910_SSAT_SF4 0xfa370080
-#define FSTV0910_SSAT_SF3 0xfa370040
-#define FSTV0910_SSAT_SF2 0xfa370020
-#define FSTV0910_SSAT_SF1 0xfa370010
-#define FSTV0910_SSAT_NF28 0xfa370008
-#define FSTV0910_SSAT_NF27 0xfa370004
-#define FSTV0910_SSAT_NF26 0xfa370002
+#define FSTV0910_SSAT_SF4 0xfa377080
+#define FSTV0910_SSAT_SF3 0xfa376040
+#define FSTV0910_SSAT_SF2 0xfa375020
+#define FSTV0910_SSAT_SF1 0xfa374010
+#define FSTV0910_SSAT_NF28 0xfa373008
+#define FSTV0910_SSAT_NF27 0xfa372004
+#define FSTV0910_SSAT_NF26 0xfa371002
#define FSTV0910_SSAT_NF25 0xfa370001
/* SELSATUR2 */
#define RSTV0910_SELSATUR2 0xfa38
-#define FSTV0910_SSAT_NF24 0xfa380080
-#define FSTV0910_SSAT_NF23 0xfa380040
-#define FSTV0910_SSAT_NF22 0xfa380020
-#define FSTV0910_SSAT_NF21 0xfa380010
-#define FSTV0910_SSAT_NF20 0xfa380008
-#define FSTV0910_SSAT_NF19 0xfa380004
-#define FSTV0910_SSAT_NF18 0xfa380002
+#define FSTV0910_SSAT_NF24 0xfa387080
+#define FSTV0910_SSAT_NF23 0xfa386040
+#define FSTV0910_SSAT_NF22 0xfa385020
+#define FSTV0910_SSAT_NF21 0xfa384010
+#define FSTV0910_SSAT_NF20 0xfa383008
+#define FSTV0910_SSAT_NF19 0xfa382004
+#define FSTV0910_SSAT_NF18 0xfa381002
#define FSTV0910_SSAT_NF17 0xfa380001
/* SELSATUR1 */
#define RSTV0910_SELSATUR1 0xfa39
-#define FSTV0910_SSAT_NF16 0xfa390080
-#define FSTV0910_SSAT_NF15 0xfa390040
-#define FSTV0910_SSAT_NF14 0xfa390020
-#define FSTV0910_SSAT_NF13 0xfa390010
-#define FSTV0910_SSAT_NF12 0xfa390008
-#define FSTV0910_SSAT_NF11 0xfa390004
-#define FSTV0910_SSAT_NF10 0xfa390002
+#define FSTV0910_SSAT_NF16 0xfa397080
+#define FSTV0910_SSAT_NF15 0xfa396040
+#define FSTV0910_SSAT_NF14 0xfa395020
+#define FSTV0910_SSAT_NF13 0xfa394010
+#define FSTV0910_SSAT_NF12 0xfa393008
+#define FSTV0910_SSAT_NF11 0xfa392004
+#define FSTV0910_SSAT_NF10 0xfa391002
#define FSTV0910_SSAT_NF9 0xfa390001
/* SELSATUR0 */
#define RSTV0910_SELSATUR0 0xfa3a
-#define FSTV0910_SSAT_NF8 0xfa3a0080
-#define FSTV0910_SSAT_NF7 0xfa3a0040
-#define FSTV0910_SSAT_NF6 0xfa3a0020
-#define FSTV0910_SSAT_NF5 0xfa3a0010
-#define FSTV0910_SSAT_NF4 0xfa3a0008
-#define FSTV0910_SSAT_NF3 0xfa3a0004
-#define FSTV0910_SSAT_NF2 0xfa3a0002
+#define FSTV0910_SSAT_NF8 0xfa3a7080
+#define FSTV0910_SSAT_NF7 0xfa3a6040
+#define FSTV0910_SSAT_NF6 0xfa3a5020
+#define FSTV0910_SSAT_NF5 0xfa3a4010
+#define FSTV0910_SSAT_NF4 0xfa3a3008
+#define FSTV0910_SSAT_NF3 0xfa3a2004
+#define FSTV0910_SSAT_NF2 0xfa3a1002
#define FSTV0910_SSAT_NF1 0xfa3a0001
/* GAINLLR_NF1 */
@@ -4449,14 +4449,14 @@
/* CFGEXT */
#define RSTV0910_CFGEXT 0xfa80
-#define FSTV0910_BYPBCH 0xfa800040
-#define FSTV0910_BYPLDPC 0xfa800020
-#define FSTV0910_SHORTMULT 0xfa800004
+#define FSTV0910_BYPBCH 0xfa806040
+#define FSTV0910_BYPLDPC 0xfa805020
+#define FSTV0910_SHORTMULT 0xfa802004
/* GENCFG */
#define RSTV0910_GENCFG 0xfa86
-#define FSTV0910_BROADCAST 0xfa860010
-#define FSTV0910_CROSSINPUT 0xfa860002
+#define FSTV0910_BROADCAST 0xfa864010
+#define FSTV0910_CROSSINPUT 0xfa861002
#define FSTV0910_DDEMOD 0xfa860001
/* LDPCERR1 */
@@ -4469,7 +4469,7 @@
/* BCHERR */
#define RSTV0910_BCHERR 0xfa98
-#define FSTV0910_ERRORFLAG 0xfa980010
+#define FSTV0910_ERRORFLAG 0xfa984010
#define FSTV0910_BCH_ERRORS_COUNTER 0xfa98000f
/* P1_MAXEXTRAITER */
@@ -4706,22 +4706,22 @@
/* TSTRES0 */
#define RSTV0910_TSTRES0 0xff11
-#define FSTV0910_FRESFEC 0xff110080
-#define FSTV0910_FRESSYM1 0xff110008
-#define FSTV0910_FRESSYM2 0xff110004
+#define FSTV0910_FRESFEC 0xff117080
+#define FSTV0910_FRESSYM1 0xff113008
+#define FSTV0910_FRESSYM2 0xff112004
/* TSTOUT */
#define RSTV0910_TSTOUT 0xff12
-#define FSTV0910_TS 0xff12003e
+#define FSTV0910_TS 0xff12103e
#define FSTV0910_TEST_OUT 0xff120001
/* TSTIN */
#define RSTV0910_TSTIN 0xff13
-#define FSTV0910_TEST_IN 0xff130080
+#define FSTV0910_TEST_IN 0xff137080
/* P2_TSTDMD */
#define RSTV0910_P2_TSTDMD 0xff20
-#define FSTV0910_P2_CFRINIT_INVZIGZAG 0xff200008
+#define FSTV0910_P2_CFRINIT_INVZIGZAG 0xff203008
/* P2_TCTL1 */
#define RSTV0910_P2_TCTL1 0xff24
@@ -4729,15 +4729,15 @@
/* P2_TCTL4 */
#define RSTV0910_P2_TCTL4 0xff28
-#define FSTV0910_P2_CFR2TOCFR1_DVBS1 0xff2800c0
+#define FSTV0910_P2_CFR2TOCFR1_DVBS1 0xff2860c0
/* P2_TPKTDELIN */
#define RSTV0910_P2_TPKTDELIN 0xff37
-#define FSTV0910_P2_CFG_RSPARITYON 0xff370080
+#define FSTV0910_P2_CFG_RSPARITYON 0xff377080
/* P1_TSTDMD */
#define RSTV0910_P1_TSTDMD 0xff40
-#define FSTV0910_P1_CFRINIT_INVZIGZAG 0xff400008
+#define FSTV0910_P1_CFRINIT_INVZIGZAG 0xff403008
/* P1_TCTL1 */
#define RSTV0910_P1_TCTL1 0xff44
@@ -4745,16 +4745,16 @@
/* P1_TCTL4 */
#define RSTV0910_P1_TCTL4 0xff48
-#define FSTV0910_P1_CFR2TOCFR1_DVBS1 0xff4800c0
+#define FSTV0910_P1_CFR2TOCFR1_DVBS1 0xff4860c0
/* P1_TPKTDELIN */
#define RSTV0910_P1_TPKTDELIN 0xff57
-#define FSTV0910_P1_CFG_RSPARITYON 0xff570080
+#define FSTV0910_P1_CFG_RSPARITYON 0xff577080
/* TSTTSRS */
#define RSTV0910_TSTTSRS 0xff6d
-#define FSTV0910_TSTRS_DISRS2 0xff6d0002
+#define FSTV0910_TSTRS_DISRS2 0xff6d1002
#define FSTV0910_TSTRS_DISRS1 0xff6d0001
-#define STV0910_NBREGS 975
-#define STV0910_NBFIELDS 1818
+#define STV0910_NBREGS 975
+#define STV0910_NBFIELDS 1818
diff --git a/drivers/media/dvb-frontends/stv6110.h b/drivers/media/dvb-frontends/stv6110.h
index ab73124c0dec..ecfc1faba15c 100644
--- a/drivers/media/dvb-frontends/stv6110.h
+++ b/drivers/media/dvb-frontends/stv6110.h
@@ -22,7 +22,7 @@
#define __DVB_STV6110_H__
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/* registers */
#define RSTV6110_CTRL1 0
diff --git a/drivers/media/dvb-frontends/stv6110x.c b/drivers/media/dvb-frontends/stv6110x.c
index 66eba38f1014..d8950028d021 100644
--- a/drivers/media/dvb-frontends/stv6110x.c
+++ b/drivers/media/dvb-frontends/stv6110x.c
@@ -26,7 +26,7 @@
#include <linux/slab.h>
#include <linux/string.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "stv6110x_reg.h"
#include "stv6110x.h"
@@ -46,7 +46,7 @@ static int stv6110x_read_reg(struct stv6110x_state *stv6110x, u8 reg, u8 *data)
u8 b0[] = { reg };
u8 b1[] = { 0 };
struct i2c_msg msg[] = {
- { .addr = config->addr, .flags = 0, .buf = b0, .len = 1 },
+ { .addr = config->addr, .flags = 0, .buf = b0, .len = 1 },
{ .addr = config->addr, .flags = I2C_M_RD, .buf = b1, .len = 1 }
};
@@ -97,7 +97,9 @@ static int stv6110x_write_regs(struct stv6110x_state *stv6110x, int start, u8 da
static int stv6110x_write_reg(struct stv6110x_state *stv6110x, u8 reg, u8 data)
{
- return stv6110x_write_regs(stv6110x, reg, &data, 1);
+ u8 tmp = data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return stv6110x_write_regs(stv6110x, reg, &tmp, 1);
}
static int stv6110x_init(struct dvb_frontend *fe)
diff --git a/drivers/media/dvb-frontends/stv6110x_priv.h b/drivers/media/dvb-frontends/stv6110x_priv.h
index a993aba27b7e..109dfaf4ba42 100644
--- a/drivers/media/dvb-frontends/stv6110x_priv.h
+++ b/drivers/media/dvb-frontends/stv6110x_priv.h
@@ -48,11 +48,11 @@
#define STV6110x_SETFIELD(mask, bitf, val) \
(mask = (mask & (~(((1 << STV6110x_WIDTH_##bitf) - 1) << \
- STV6110x_OFFST_##bitf))) | \
+ STV6110x_OFFST_##bitf))) | \
(val << STV6110x_OFFST_##bitf))
#define STV6110x_GETFIELD(bitf, val) \
- ((val >> STV6110x_OFFST_##bitf) & \
+ ((val >> STV6110x_OFFST_##bitf) & \
((1 << STV6110x_WIDTH_##bitf) - 1))
#define MAKEWORD16(a, b) (((a) << 8) | (b))
@@ -68,7 +68,7 @@
struct stv6110x_state {
struct i2c_adapter *i2c;
const struct stv6110x_config *config;
- u8 regs[8];
+ u8 regs[8];
const struct stv6110x_devctl *devctl;
};
diff --git a/drivers/media/dvb-frontends/stv6111.c b/drivers/media/dvb-frontends/stv6111.c
index e3e90070e293..9b715b6fe152 100644
--- a/drivers/media/dvb-frontends/stv6111.c
+++ b/drivers/media/dvb-frontends/stv6111.c
@@ -25,7 +25,7 @@
#include "stv6111.h"
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct stv {
struct i2c_adapter *i2c;
@@ -424,6 +424,7 @@ static int set_bandwidth(struct dvb_frontend *fe, u32 cutoff_frequency)
{
struct stv *state = fe->tuner_priv;
u32 index = (cutoff_frequency + 999999) / 1000000;
+ int stat = 0;
if (index < 6)
index = 6;
@@ -435,12 +436,14 @@ static int set_bandwidth(struct dvb_frontend *fe, u32 cutoff_frequency)
state->reg[0x08] = (state->reg[0x08] & ~0xFC) | ((index - 6) << 2);
state->reg[0x09] = (state->reg[0x09] & ~0x0C) | 0x08;
if (fe->ops.i2c_gate_ctrl)
- fe->ops.i2c_gate_ctrl(fe, 1);
- write_regs(state, 0x08, 2);
- wait_for_call_done(state, 0x08);
- if (fe->ops.i2c_gate_ctrl)
+ stat = fe->ops.i2c_gate_ctrl(fe, 1);
+ if (!stat) {
+ write_regs(state, 0x08, 2);
+ wait_for_call_done(state, 0x08);
+ }
+ if (fe->ops.i2c_gate_ctrl && !stat)
fe->ops.i2c_gate_ctrl(fe, 0);
- return 0;
+ return stat;
}
static int set_lof(struct stv *state, u32 local_frequency, u32 cutoff_frequency)
@@ -518,6 +521,7 @@ static int set_params(struct dvb_frontend *fe)
struct stv *state = fe->tuner_priv;
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
u32 freq, cutoff;
+ int stat = 0;
if (p->delivery_system != SYS_DVBS && p->delivery_system != SYS_DVBS2)
return -EINVAL;
@@ -526,9 +530,10 @@ static int set_params(struct dvb_frontend *fe)
cutoff = 5000000 + muldiv32(p->symbol_rate, 135, 200);
if (fe->ops.i2c_gate_ctrl)
- fe->ops.i2c_gate_ctrl(fe, 1);
- set_lof(state, freq, cutoff);
- if (fe->ops.i2c_gate_ctrl)
+ stat = fe->ops.i2c_gate_ctrl(fe, 1);
+ if (!stat)
+ set_lof(state, freq, cutoff);
+ if (fe->ops.i2c_gate_ctrl && !stat)
fe->ops.i2c_gate_ctrl(fe, 0);
return 0;
}
@@ -575,14 +580,17 @@ static int get_rf_strength(struct dvb_frontend *fe, u16 *st)
if ((state->reg[0x03] & 0x60) == 0) {
/* RF Mode, Read AGC ADC */
u8 reg = 0;
+ int stat = 0;
if (fe->ops.i2c_gate_ctrl)
- fe->ops.i2c_gate_ctrl(fe, 1);
- write_reg(state, 0x02, state->reg[0x02] | 0x20);
- read_reg(state, 2, &reg);
- if (reg & 0x20)
+ stat = fe->ops.i2c_gate_ctrl(fe, 1);
+ if (!stat) {
+ write_reg(state, 0x02, state->reg[0x02] | 0x20);
read_reg(state, 2, &reg);
- if (fe->ops.i2c_gate_ctrl)
+ if (reg & 0x20)
+ read_reg(state, 2, &reg);
+ }
+ if (fe->ops.i2c_gate_ctrl && !stat)
fe->ops.i2c_gate_ctrl(fe, 0);
if ((state->reg[0x02] & 0x80) == 0)
@@ -652,7 +660,8 @@ struct dvb_frontend *stv6111_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c, u8 adr)
{
struct stv *state;
- int stat;
+ int stat = -ENODEV;
+ int gatestat = 0;
state = kzalloc(sizeof(*state), GFP_KERNEL);
if (!state)
@@ -663,9 +672,10 @@ struct dvb_frontend *stv6111_attach(struct dvb_frontend *fe,
init_state(state);
if (fe->ops.i2c_gate_ctrl)
- fe->ops.i2c_gate_ctrl(fe, 1);
- stat = attach_init(state);
- if (fe->ops.i2c_gate_ctrl)
+ gatestat = fe->ops.i2c_gate_ctrl(fe, 1);
+ if (!gatestat)
+ stat = attach_init(state);
+ if (fe->ops.i2c_gate_ctrl && !gatestat)
fe->ops.i2c_gate_ctrl(fe, 0);
if (stat < 0) {
kfree(state);
diff --git a/drivers/media/dvb-frontends/tc90522.c b/drivers/media/dvb-frontends/tc90522.c
index 4687e1546af2..5572b39614d5 100644
--- a/drivers/media/dvb-frontends/tc90522.c
+++ b/drivers/media/dvb-frontends/tc90522.c
@@ -30,7 +30,7 @@
#include <linux/kernel.h>
#include <linux/math64.h>
#include <linux/dvb/frontend.h>
-#include "dvb_math.h"
+#include <media/dvb_math.h>
#include "tc90522.h"
#define TC90522_I2C_THRU_REG 0xfe
diff --git a/drivers/media/dvb-frontends/tc90522.h b/drivers/media/dvb-frontends/tc90522.h
index b1cbddfa6ee6..10e585f32499 100644
--- a/drivers/media/dvb-frontends/tc90522.h
+++ b/drivers/media/dvb-frontends/tc90522.h
@@ -25,7 +25,7 @@
#define TC90522_H
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/* I2C device types */
#define TC90522_I2C_DEV_SAT "tc90522sat"
diff --git a/drivers/media/dvb-frontends/tda10021.c b/drivers/media/dvb-frontends/tda10021.c
index 32ba8401e743..4f588ebde39d 100644
--- a/drivers/media/dvb-frontends/tda10021.c
+++ b/drivers/media/dvb-frontends/tda10021.c
@@ -29,7 +29,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda1002x.h"
diff --git a/drivers/media/dvb-frontends/tda10023.c b/drivers/media/dvb-frontends/tda10023.c
index 8028007c68eb..6c84916234e3 100644
--- a/drivers/media/dvb-frontends/tda10023.c
+++ b/drivers/media/dvb-frontends/tda10023.c
@@ -35,7 +35,7 @@
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda1002x.h"
#define REG0_INIT_VAL 0x23
@@ -211,7 +211,7 @@ static int tda10023_set_symbolrate (struct tda10023_state* state, u32 sr)
BDRX=1<<(24+NDEC);
BDRX*=sr;
- do_div(BDRX, state->sysclk); /* BDRX/=SYSCLK; */
+ do_div(BDRX, state->sysclk); /* BDRX/=SYSCLK; */
BDR=(s32)BDRX;
}
diff --git a/drivers/media/dvb-frontends/tda10048.c b/drivers/media/dvb-frontends/tda10048.c
index 143b39b5f6c9..de82a2558e15 100644
--- a/drivers/media/dvb-frontends/tda10048.c
+++ b/drivers/media/dvb-frontends/tda10048.c
@@ -27,8 +27,8 @@
#include <linux/delay.h>
#include <linux/math64.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
-#include "dvb_math.h"
+#include <media/dvb_frontend.h>
+#include <media/dvb_math.h>
#include "tda10048.h"
#define TDA10048_DEFAULT_FIRMWARE "dvb-fe-tda10048-1.0.fw"
diff --git a/drivers/media/dvb-frontends/tda1004x.c b/drivers/media/dvb-frontends/tda1004x.c
index e674508c349c..58e3beff5adc 100644
--- a/drivers/media/dvb-frontends/tda1004x.c
+++ b/drivers/media/dvb-frontends/tda1004x.c
@@ -36,7 +36,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda1004x.h"
static int debug;
diff --git a/drivers/media/dvb-frontends/tda10071_priv.h b/drivers/media/dvb-frontends/tda10071_priv.h
index b9c3601802ba..67c46e8a7201 100644
--- a/drivers/media/dvb-frontends/tda10071_priv.h
+++ b/drivers/media/dvb-frontends/tda10071_priv.h
@@ -21,7 +21,7 @@
#ifndef TDA10071_PRIV
#define TDA10071_PRIV
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda10071.h"
#include <linux/firmware.h>
#include <linux/regmap.h>
diff --git a/drivers/media/dvb-frontends/tda10086.c b/drivers/media/dvb-frontends/tda10086.c
index b6d16c05904d..1a95c521e97f 100644
--- a/drivers/media/dvb-frontends/tda10086.c
+++ b/drivers/media/dvb-frontends/tda10086.c
@@ -27,7 +27,7 @@
#include <linux/string.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda10086.h"
#define SACLK 96000000
diff --git a/drivers/media/dvb-frontends/tda18271c2dd.c b/drivers/media/dvb-frontends/tda18271c2dd.c
index 2d2778be2d2f..2e1d36ae943b 100644
--- a/drivers/media/dvb-frontends/tda18271c2dd.c
+++ b/drivers/media/dvb-frontends/tda18271c2dd.c
@@ -27,7 +27,7 @@
#include <linux/i2c.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda18271c2dd.h"
/* Max transfer size done by I2C transfer functions */
@@ -674,7 +674,6 @@ static int PowerScan(struct tda_state *state,
Count = 200000;
wait = true;
}
- status = status;
if (status < 0)
break;
if (CID_Gain >= CID_Target) {
diff --git a/drivers/media/dvb-frontends/tda18271c2dd.h b/drivers/media/dvb-frontends/tda18271c2dd.h
index 289653db68e4..afeb9536e9c9 100644
--- a/drivers/media/dvb-frontends/tda18271c2dd.h
+++ b/drivers/media/dvb-frontends/tda18271c2dd.h
@@ -9,8 +9,8 @@ struct dvb_frontend *tda18271c2dd_attach(struct dvb_frontend *fe,
static inline struct dvb_frontend *tda18271c2dd_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c, u8 adr)
{
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
- return NULL;
+ printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ return NULL;
}
#endif
diff --git a/drivers/media/dvb-frontends/tda665x.c b/drivers/media/dvb-frontends/tda665x.c
index a63dec44295b..3ef7140ed7f3 100644
--- a/drivers/media/dvb-frontends/tda665x.c
+++ b/drivers/media/dvb-frontends/tda665x.c
@@ -22,7 +22,7 @@
#include <linux/module.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda665x.h"
struct tda665x_state {
diff --git a/drivers/media/dvb-frontends/tda8083.c b/drivers/media/dvb-frontends/tda8083.c
index aa3200d3c352..29b4f64c030c 100644
--- a/drivers/media/dvb-frontends/tda8083.c
+++ b/drivers/media/dvb-frontends/tda8083.c
@@ -30,7 +30,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/jiffies.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda8083.h"
diff --git a/drivers/media/dvb-frontends/tda8261.c b/drivers/media/dvb-frontends/tda8261.c
index 4eb294f330bc..f72a54e7eb23 100644
--- a/drivers/media/dvb-frontends/tda8261.c
+++ b/drivers/media/dvb-frontends/tda8261.c
@@ -23,7 +23,7 @@
#include <linux/module.h>
#include <linux/slab.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "tda8261.h"
struct tda8261_state {
diff --git a/drivers/media/dvb-frontends/tda826x.h b/drivers/media/dvb-frontends/tda826x.h
index 6a7bed12e741..0ef35ff3807f 100644
--- a/drivers/media/dvb-frontends/tda826x.h
+++ b/drivers/media/dvb-frontends/tda826x.h
@@ -24,7 +24,7 @@
#define __DVB_TDA826X_H__
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/**
* Attach a tda826x tuner to the supplied frontend structure.
diff --git a/drivers/media/dvb-frontends/ts2020.c b/drivers/media/dvb-frontends/ts2020.c
index 931e5c98da8a..c55882a8da06 100644
--- a/drivers/media/dvb-frontends/ts2020.c
+++ b/drivers/media/dvb-frontends/ts2020.c
@@ -19,7 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "ts2020.h"
#include <linux/regmap.h>
#include <linux/math64.h>
@@ -368,7 +368,7 @@ static int ts2020_read_tuner_gain(struct dvb_frontend *fe, unsigned v_agc,
gain2 = clamp_t(long, gain2, 0, 13);
v_agc = clamp_t(long, v_agc, 400, 1100);
- *_gain = -(gain1 * 2330 +
+ *_gain = -((__s64)gain1 * 2330 +
gain2 * 3500 +
v_agc * 24 / 10 * 10 +
10000);
@@ -386,7 +386,7 @@ static int ts2020_read_tuner_gain(struct dvb_frontend *fe, unsigned v_agc,
gain3 = clamp_t(long, gain3, 0, 6);
v_agc = clamp_t(long, v_agc, 600, 1600);
- *_gain = -(gain1 * 2650 +
+ *_gain = -((__s64)gain1 * 2650 +
gain2 * 3380 +
gain3 * 2850 +
v_agc * 176 / 100 * 10 -
diff --git a/drivers/media/dvb-frontends/tua6100.h b/drivers/media/dvb-frontends/tua6100.h
index 6c098a894ea6..a342bd9c7fbf 100644
--- a/drivers/media/dvb-frontends/tua6100.h
+++ b/drivers/media/dvb-frontends/tua6100.h
@@ -28,7 +28,7 @@
#define __DVB_TUA6100_H__
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#if IS_REACHABLE(CONFIG_DVB_TUA6100)
extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/ves1820.c b/drivers/media/dvb-frontends/ves1820.c
index 178363704bd4..1d8979289915 100644
--- a/drivers/media/dvb-frontends/ves1820.c
+++ b/drivers/media/dvb-frontends/ves1820.c
@@ -27,7 +27,7 @@
#include <linux/slab.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "ves1820.h"
diff --git a/drivers/media/dvb-frontends/ves1x93.c b/drivers/media/dvb-frontends/ves1x93.c
index d0ee52f66a8e..0c7b3286b04d 100644
--- a/drivers/media/dvb-frontends/ves1x93.c
+++ b/drivers/media/dvb-frontends/ves1x93.c
@@ -30,7 +30,7 @@
#include <linux/slab.h>
#include <linux/delay.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "ves1x93.h"
diff --git a/drivers/media/dvb-frontends/zd1301_demod.h b/drivers/media/dvb-frontends/zd1301_demod.h
index 6cd8f6f9c415..63c13fa4a54b 100644
--- a/drivers/media/dvb-frontends/zd1301_demod.h
+++ b/drivers/media/dvb-frontends/zd1301_demod.h
@@ -19,7 +19,7 @@
#include <linux/platform_device.h>
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
/**
* struct zd1301_demod_platform_data - Platform data for the zd1301_demod driver
diff --git a/drivers/media/dvb-frontends/zl10036.h b/drivers/media/dvb-frontends/zl10036.h
index ec90ca927739..a1129ab74296 100644
--- a/drivers/media/dvb-frontends/zl10036.h
+++ b/drivers/media/dvb-frontends/zl10036.h
@@ -18,7 +18,7 @@
#define DVB_ZL10036_H
#include <linux/i2c.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
struct zl10036_config {
u8 tuner_address;
diff --git a/drivers/media/dvb-frontends/zl10039.c b/drivers/media/dvb-frontends/zl10039.c
index 623355fc2666..6293bd920fa6 100644
--- a/drivers/media/dvb-frontends/zl10039.c
+++ b/drivers/media/dvb-frontends/zl10039.c
@@ -21,7 +21,7 @@
#include <linux/slab.h>
#include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "zl10039.h"
static int debug;
@@ -134,7 +134,9 @@ static inline int zl10039_writereg(struct zl10039_state *state,
const enum zl10039_reg_addr reg,
const u8 val)
{
- return zl10039_write(state, reg, &val, 1);
+ const u8 tmp = val; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 */
+
+ return zl10039_write(state, reg, &tmp, 1);
}
static int zl10039_init(struct dvb_frontend *fe)
diff --git a/drivers/media/dvb-frontends/zl10353.c b/drivers/media/dvb-frontends/zl10353.c
index 1c689f7f4ab8..c9901f45deb7 100644
--- a/drivers/media/dvb-frontends/zl10353.c
+++ b/drivers/media/dvb-frontends/zl10353.c
@@ -23,7 +23,7 @@
#include <linux/slab.h>
#include <asm/div64.h>
-#include "dvb_frontend.h"
+#include <media/dvb_frontend.h>
#include "zl10353_priv.h"
#include "zl10353.h"