~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to drivers/media/dvb/frontends/stv0367_priv.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * stv0367_priv.h
 
3
 *
 
4
 * Driver for ST STV0367 DVB-T & DVB-C demodulator IC.
 
5
 *
 
6
 * Copyright (C) ST Microelectronics.
 
7
 * Copyright (C) 2010,2011 NetUP Inc.
 
8
 * Copyright (C) 2010,2011 Igor M. Liplianin <liplianin@netup.ru>
 
9
 *
 
10
 * This program is free software; you can redistribute it and/or modify
 
11
 * it under the terms of the GNU General Public License as published by
 
12
 * the Free Software Foundation; either version 2 of the License, or
 
13
 * (at your option) any later version.
 
14
 *
 
15
 * This program is distributed in the hope that it will be useful,
 
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
18
 *
 
19
 * GNU General Public License for more details.
 
20
 *
 
21
 * You should have received a copy of the GNU General Public License
 
22
 * along with this program; if not, write to the Free Software
 
23
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
24
 */
 
25
/* Common driver error constants */
 
26
 
 
27
#ifndef STV0367_PRIV_H
 
28
#define STV0367_PRIV_H
 
29
 
 
30
#ifndef TRUE
 
31
    #define TRUE (1 == 1)
 
32
#endif
 
33
#ifndef FALSE
 
34
    #define FALSE (!TRUE)
 
35
#endif
 
36
 
 
37
#ifndef NULL
 
38
#define NULL 0
 
39
#endif
 
40
 
 
41
/* MACRO definitions */
 
42
#define ABS(X) ((X) < 0 ? (-1 * (X)) : (X))
 
43
#define MAX(X, Y) ((X) >= (Y) ? (X) : (Y))
 
44
#define MIN(X, Y) ((X) <= (Y) ? (X) : (Y))
 
45
#define INRANGE(X, Y, Z) \
 
46
        ((((X) <= (Y)) && ((Y) <= (Z))) || \
 
47
        (((Z) <= (Y)) && ((Y) <= (X))) ? 1 : 0)
 
48
 
 
49
#ifndef MAKEWORD
 
50
#define MAKEWORD(X, Y) (((X) << 8) + (Y))
 
51
#endif
 
52
 
 
53
#define LSB(X) (((X) & 0xff))
 
54
#define MSB(Y) (((Y) >> 8) & 0xff)
 
55
#define MMSB(Y)(((Y) >> 16) & 0xff)
 
56
 
 
57
enum stv0367_ter_signal_type {
 
58
        FE_TER_NOAGC = 0,
 
59
        FE_TER_AGCOK = 5,
 
60
        FE_TER_NOTPS = 6,
 
61
        FE_TER_TPSOK = 7,
 
62
        FE_TER_NOSYMBOL = 8,
 
63
        FE_TER_BAD_CPQ = 9,
 
64
        FE_TER_PRFOUNDOK = 10,
 
65
        FE_TER_NOPRFOUND = 11,
 
66
        FE_TER_LOCKOK = 12,
 
67
        FE_TER_NOLOCK = 13,
 
68
        FE_TER_SYMBOLOK = 15,
 
69
        FE_TER_CPAMPOK = 16,
 
70
        FE_TER_NOCPAMP = 17,
 
71
        FE_TER_SWNOK = 18
 
72
};
 
73
 
 
74
enum stv0367_ts_mode {
 
75
        STV0367_OUTPUTMODE_DEFAULT,
 
76
        STV0367_SERIAL_PUNCT_CLOCK,
 
77
        STV0367_SERIAL_CONT_CLOCK,
 
78
        STV0367_PARALLEL_PUNCT_CLOCK,
 
79
        STV0367_DVBCI_CLOCK
 
80
};
 
81
 
 
82
enum stv0367_clk_pol {
 
83
        STV0367_CLOCKPOLARITY_DEFAULT,
 
84
        STV0367_RISINGEDGE_CLOCK,
 
85
        STV0367_FALLINGEDGE_CLOCK
 
86
};
 
87
 
 
88
enum stv0367_ter_bw {
 
89
        FE_TER_CHAN_BW_6M = 6,
 
90
        FE_TER_CHAN_BW_7M = 7,
 
91
        FE_TER_CHAN_BW_8M = 8
 
92
};
 
93
 
 
94
#if 0
 
95
enum FE_TER_Rate_TPS {
 
96
        FE_TER_TPS_1_2 = 0,
 
97
        FE_TER_TPS_2_3 = 1,
 
98
        FE_TER_TPS_3_4 = 2,
 
99
        FE_TER_TPS_5_6 = 3,
 
100
        FE_TER_TPS_7_8 = 4
 
101
};
 
102
#endif
 
103
 
 
104
enum stv0367_ter_mode {
 
105
        FE_TER_MODE_2K,
 
106
        FE_TER_MODE_8K,
 
107
        FE_TER_MODE_4K
 
108
};
 
109
#if 0
 
110
enum FE_TER_Hierarchy_Alpha {
 
111
        FE_TER_HIER_ALPHA_NONE, /* Regular modulation */
 
112
        FE_TER_HIER_ALPHA_1,    /* Hierarchical modulation a = 1*/
 
113
        FE_TER_HIER_ALPHA_2,    /* Hierarchical modulation a = 2*/
 
114
        FE_TER_HIER_ALPHA_4     /* Hierarchical modulation a = 4*/
 
115
};
 
116
#endif
 
117
enum stv0367_ter_hierarchy {
 
118
        FE_TER_HIER_NONE,       /*Hierarchy None*/
 
119
        FE_TER_HIER_LOW_PRIO,   /*Hierarchy : Low Priority*/
 
120
        FE_TER_HIER_HIGH_PRIO,  /*Hierarchy : High Priority*/
 
121
        FE_TER_HIER_PRIO_ANY    /*Hierarchy  :Any*/
 
122
};
 
123
 
 
124
#if 0
 
125
enum fe_stv0367_ter_spec {
 
126
        FE_TER_INVERSION_NONE = 0,
 
127
        FE_TER_INVERSION = 1,
 
128
        FE_TER_INVERSION_AUTO = 2,
 
129
        FE_TER_INVERSION_UNK  = 4
 
130
};
 
131
#endif
 
132
 
 
133
enum stv0367_ter_if_iq_mode {
 
134
        FE_TER_NORMAL_IF_TUNER = 0,
 
135
        FE_TER_LONGPATH_IF_TUNER = 1,
 
136
        FE_TER_IQ_TUNER = 2
 
137
 
 
138
};
 
139
 
 
140
#if 0
 
141
enum FE_TER_FECRate {
 
142
        FE_TER_FEC_NONE = 0x00, /* no FEC rate specified */
 
143
        FE_TER_FEC_ALL = 0xFF,   /* Logical OR of all FECs */
 
144
        FE_TER_FEC_1_2 = 1,
 
145
        FE_TER_FEC_2_3 = (1 << 1),
 
146
        FE_TER_FEC_3_4 = (1 << 2),
 
147
        FE_TER_FEC_4_5 = (1 << 3),
 
148
        FE_TER_FEC_5_6 = (1 << 4),
 
149
        FE_TER_FEC_6_7 = (1 << 5),
 
150
        FE_TER_FEC_7_8 = (1 << 6),
 
151
        FE_TER_FEC_8_9 = (1 << 7)
 
152
};
 
153
 
 
154
enum FE_TER_Rate {
 
155
        FE_TER_FE_1_2 = 0,
 
156
        FE_TER_FE_2_3 = 1,
 
157
        FE_TER_FE_3_4 = 2,
 
158
        FE_TER_FE_5_6 = 3,
 
159
        FE_TER_FE_6_7 = 4,
 
160
        FE_TER_FE_7_8 = 5
 
161
};
 
162
#endif
 
163
 
 
164
enum stv0367_ter_force {
 
165
        FE_TER_FORCENONE = 0,
 
166
        FE_TER_FORCE_M_G = 1
 
167
};
 
168
 
 
169
enum  stv0367cab_mod {
 
170
        FE_CAB_MOD_QAM4,
 
171
        FE_CAB_MOD_QAM16,
 
172
        FE_CAB_MOD_QAM32,
 
173
        FE_CAB_MOD_QAM64,
 
174
        FE_CAB_MOD_QAM128,
 
175
        FE_CAB_MOD_QAM256,
 
176
        FE_CAB_MOD_QAM512,
 
177
        FE_CAB_MOD_QAM1024
 
178
};
 
179
#if 0
 
180
enum {
 
181
        FE_CAB_FEC_A = 1,       /* J83 Annex A */
 
182
        FE_CAB_FEC_B = (1 << 1),/* J83 Annex B */
 
183
        FE_CAB_FEC_C = (1 << 2) /* J83 Annex C */
 
184
} FE_CAB_FECType_t;
 
185
#endif
 
186
struct stv0367_cab_signal_info {
 
187
        int locked;
 
188
        u32 frequency; /* kHz */
 
189
        u32 symbol_rate; /* Mbds */
 
190
        enum stv0367cab_mod modulation;
 
191
        fe_spectral_inversion_t spect_inv;
 
192
        s32 Power_dBmx10;       /* Power of the RF signal (dBm x 10) */
 
193
        u32     CN_dBx10;       /* Carrier to noise ratio (dB x 10) */
 
194
        u32     BER;            /* Bit error rate (x 10000000)  */
 
195
};
 
196
 
 
197
enum stv0367_cab_signal_type {
 
198
        FE_CAB_NOTUNER,
 
199
        FE_CAB_NOAGC,
 
200
        FE_CAB_NOSIGNAL,
 
201
        FE_CAB_NOTIMING,
 
202
        FE_CAB_TIMINGOK,
 
203
        FE_CAB_NOCARRIER,
 
204
        FE_CAB_CARRIEROK,
 
205
        FE_CAB_NOBLIND,
 
206
        FE_CAB_BLINDOK,
 
207
        FE_CAB_NODEMOD,
 
208
        FE_CAB_DEMODOK,
 
209
        FE_CAB_DATAOK
 
210
};
 
211
 
 
212
#endif