diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/tuner-xc2028.c | 23 | ||||
-rw-r--r-- | drivers/media/video/tuner-xc2028.h | 2 |
2 files changed, 17 insertions, 8 deletions
diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c index 63a6fca1f8cf..0565edd224bc 100644 --- a/drivers/media/video/tuner-xc2028.c +++ b/drivers/media/video/tuner-xc2028.c | |||
@@ -998,20 +998,27 @@ static int xc2028_set_params(struct dvb_frontend *fe, | |||
998 | return -EINVAL; | 998 | return -EINVAL; |
999 | } | 999 | } |
1000 | 1000 | ||
1001 | /* FIXME: | ||
1002 | There are two Scodes that will never be selected: | ||
1003 | DTV78 ZARLINK456, DTV78 DIBCOM52 | ||
1004 | When it should opt for DTV78 instead of DTV7 or DTV8? | ||
1005 | */ | ||
1006 | switch (bw) { | 1001 | switch (bw) { |
1007 | case BANDWIDTH_8_MHZ: | 1002 | case BANDWIDTH_8_MHZ: |
1008 | type |= DTV8 | F8MHZ; | 1003 | if (p->frequency < 470000000) |
1004 | priv->ctrl.vhfbw7 = 0; | ||
1005 | else | ||
1006 | priv->ctrl.uhfbw8 = 1; | ||
1007 | type |= (priv->ctrl.vhfbw7 && priv->ctrl.uhfbw8) ? DTV78 : DTV8; | ||
1008 | type |= F8MHZ; | ||
1009 | break; | 1009 | break; |
1010 | case BANDWIDTH_7_MHZ: | 1010 | case BANDWIDTH_7_MHZ: |
1011 | type |= DTV7 | F8MHZ; | 1011 | if (p->frequency < 470000000) |
1012 | priv->ctrl.vhfbw7 = 1; | ||
1013 | else | ||
1014 | priv->ctrl.uhfbw8 = 0; | ||
1015 | type |= (priv->ctrl.vhfbw7 && priv->ctrl.uhfbw8) ? DTV78 : DTV7; | ||
1016 | type |= F8MHZ; | ||
1012 | break; | 1017 | break; |
1013 | case BANDWIDTH_6_MHZ: | 1018 | case BANDWIDTH_6_MHZ: |
1014 | type |= DTV6 ; | 1019 | type |= DTV6; |
1020 | priv->ctrl.vhfbw7 = 0; | ||
1021 | priv->ctrl.uhfbw8 = 0; | ||
1015 | break; | 1022 | break; |
1016 | default: | 1023 | default: |
1017 | tuner_err("error: bandwidth not supported.\n"); | 1024 | tuner_err("error: bandwidth not supported.\n"); |
diff --git a/drivers/media/video/tuner-xc2028.h b/drivers/media/video/tuner-xc2028.h index 1fe8b195960c..7462629b98fd 100644 --- a/drivers/media/video/tuner-xc2028.h +++ b/drivers/media/video/tuner-xc2028.h | |||
@@ -30,6 +30,8 @@ struct xc2028_ctrl { | |||
30 | unsigned int mts :1; | 30 | unsigned int mts :1; |
31 | unsigned int d2633 :1; | 31 | unsigned int d2633 :1; |
32 | unsigned int input1:1; | 32 | unsigned int input1:1; |
33 | unsigned int vhfbw7:1; | ||
34 | unsigned int uhfbw8:1; | ||
33 | unsigned int demod; | 35 | unsigned int demod; |
34 | }; | 36 | }; |
35 | 37 | ||