aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tda8290.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/tda8290.c')
-rw-r--r--drivers/media/video/tda8290.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c
index 61268f8a9eec..1e2acc4abbe6 100644
--- a/drivers/media/video/tda8290.c
+++ b/drivers/media/video/tda8290.c
@@ -181,18 +181,25 @@ static void set_audio(struct tuner *t)
181{ 181{
182 t->i2c_easy_mode[0] = 0x01; 182 t->i2c_easy_mode[0] = 0x01;
183 183
184 if (t->std & V4L2_STD_MN) 184 if (t->std & V4L2_STD_MN) {
185 t->sgIF = 736;
185 t->i2c_easy_mode[1] = 0x01; 186 t->i2c_easy_mode[1] = 0x01;
186 else if (t->std & V4L2_STD_B) 187 } else if (t->std & V4L2_STD_B) {
188 t->sgIF = 864;
187 t->i2c_easy_mode[1] = 0x02; 189 t->i2c_easy_mode[1] = 0x02;
188 else if (t->std & V4L2_STD_GH) 190 } else if (t->std & V4L2_STD_GH) {
191 t->sgIF = 992;
189 t->i2c_easy_mode[1] = 0x04; 192 t->i2c_easy_mode[1] = 0x04;
190 else if (t->std & V4L2_STD_PAL_I) 193 } else if (t->std & V4L2_STD_PAL_I) {
194 t->sgIF = 992;
191 t->i2c_easy_mode[1] = 0x08; 195 t->i2c_easy_mode[1] = 0x08;
192 else if (t->std & V4L2_STD_DK) 196 } else if (t->std & V4L2_STD_DK) {
197 t->sgIF = 992;
193 t->i2c_easy_mode[1] = 0x10; 198 t->i2c_easy_mode[1] = 0x10;
194 else if (t->std & V4L2_STD_SECAM_L) 199 } else if (t->std & V4L2_STD_SECAM_L) {
200 t->sgIF = 992;
195 t->i2c_easy_mode[1] = 0x20; 201 t->i2c_easy_mode[1] = 0x20;
202 }
196} 203}
197 204
198static void set_tv_freq(struct i2c_client *c, unsigned int freq) 205static void set_tv_freq(struct i2c_client *c, unsigned int freq)
@@ -200,7 +207,7 @@ static void set_tv_freq(struct i2c_client *c, unsigned int freq)
200 struct tuner *t = i2c_get_clientdata(c); 207 struct tuner *t = i2c_get_clientdata(c);
201 208
202 set_audio(t); 209 set_audio(t);
203 set_frequency(t, 864, freq); 210 set_frequency(t, t->sgIF, freq);
204 tda8290_tune(c); 211 tda8290_tune(c);
205} 212}
206 213