summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/stv090x_priv.h
diff options
context:
space:
mode:
authorManu Abraham2009-05-02 23:26:58 +0200
committerMauro Carvalho Chehab2009-06-16 23:20:51 +0200
commit27d403214317d42fbeaf626f2734a1028087fd16 (patch)
treedd0d98848a34358a6afd5cd92e85a92929d7f98b /drivers/media/dvb/frontends/stv090x_priv.h
parentV4L/DVB (11673): v4l2-device: unregister i2c_clients when unregistering the v... (diff)
downloadkernel-qcow2-linux-27d403214317d42fbeaf626f2734a1028087fd16.tar.gz
kernel-qcow2-linux-27d403214317d42fbeaf626f2734a1028087fd16.tar.xz
kernel-qcow2-linux-27d403214317d42fbeaf626f2734a1028087fd16.zip
V4L/DVB (11682): STV0900/STV0903: Add support for Silicon cut >= 3
1. Support Silicon Cut >= 3.0 2. Remove support for obsolete cuts: 1.0. 1.1. 1.2 3. Try to catch more error cases Driver doesn't now attach to obsolete silcon cuts, It just simply quits. Results in code simplification, with removal of the obsolete cuts. Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/stv090x_priv.h')
-rw-r--r--drivers/media/dvb/frontends/stv090x_priv.h33
1 files changed, 14 insertions, 19 deletions
diff --git a/drivers/media/dvb/frontends/stv090x_priv.h b/drivers/media/dvb/frontends/stv090x_priv.h
index 9d536226e9f3..5a4a01740d88 100644
--- a/drivers/media/dvb/frontends/stv090x_priv.h
+++ b/drivers/media/dvb/frontends/stv090x_priv.h
@@ -77,7 +77,18 @@
#define MAKEWORD16(__a, __b) (((__a) << 8) | (__b))
-#define STV090x_SEARCH_AGC2_TH 700
+#define MSB(__x) ((__x >> 8) & 0xff)
+#define LSB(__x) (__x & 0xff)
+
+
+#define STV090x_IQPOWER_THRESHOLD 30
+#define STV090x_SEARCH_AGC2_TH_CUT20 700
+#define STV090x_SEARCH_AGC2_TH_CUT30 1200
+
+#define STV090x_SEARCH_AGC2_TH(__ver) \
+ ((__ver <= 0x20) ? \
+ STV090x_SEARCH_AGC2_TH_CUT20 : \
+ STV090x_SEARCH_AGC2_TH_CUT30)
enum stv090x_signal_state {
STV090x_NOCARRIER,
@@ -201,24 +212,8 @@ struct stv090x_long_frame_crloop {
struct stv090x_short_frame_crloop {
enum stv090x_modulation modulation;
- u8 crl_cut12_2; /* Cut 1.2, SR <= 3M */
- u8 crl_cut20_2; /* Cut 2.0, SR < 3M */
- u8 crl_cut12_5; /* Cut 1.2, 3 < SR <= 7M */
- u8 crl_cut20_5; /* Cut 2.0, 3 < SR <= 7M */
- u8 crl_cut12_10; /* Cut 1.2, 7 < SR <= 15M */
- u8 crl_cut20_10; /* Cut 2.0, 7 < SR <= 15M */
- u8 crl_cut12_20; /* Cut 1.2, 10 < SR <= 25M */
- u8 crl_cut20_20; /* Cut 2.0, 10 < SR <= 25M */
- u8 crl_cut12_30; /* Cut 1.2, 25 < SR <= 45M */
- u8 crl_cut20_30; /* Cut 2.0, 10 < SR <= 45M */
-};
-
-
-struct stv090x_short_frame_vsmod_crloop {
- enum stv090x_modulation modulation;
-
- u8 crl_2; /* < 3M */
- u8 crl_5; /* 3 < SR <= 7M */
+ u8 crl_2; /* SR < 3M */
+ u8 crl_5; /* 3 < SR <= 7M */
u8 crl_10; /* 7 < SR <= 15M */
u8 crl_20; /* 10 < SR <= 25M */
u8 crl_30; /* 10 < SR <= 45M */