diff options
-rw-r--r-- | drivers/media/pci/saa7134/saa7134-cards.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/media/pci/saa7134/saa7134-cards.c b/drivers/media/pci/saa7134/saa7134-cards.c index 9fac6a9b7937..c52032940af6 100644 --- a/drivers/media/pci/saa7134/saa7134-cards.c +++ b/drivers/media/pci/saa7134/saa7134-cards.c | |||
@@ -7798,10 +7798,11 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
7798 | case SAA7134_BOARD_MD7134: | 7798 | case SAA7134_BOARD_MD7134: |
7799 | { | 7799 | { |
7800 | u8 subaddr; | 7800 | u8 subaddr; |
7801 | u8 data[3]; | 7801 | u8 data[3], data1[] = { 0x09, 0x9f, 0x86, 0x11}; |
7802 | int ret, tuner_t; | 7802 | int ret, tuner_t; |
7803 | struct i2c_msg msg[] = {{.addr=0x50, .flags=0, .buf=&subaddr, .len = 1}, | 7803 | struct i2c_msg msg[] = {{.addr = 0x50, .flags = 0, .buf = &subaddr, .len = 1}, |
7804 | {.addr=0x50, .flags=I2C_M_RD, .buf=data, .len = 3}}; | 7804 | {.addr = 0x50, .flags = I2C_M_RD, .buf = data, .len = 3}}, |
7805 | msg1 = {.addr = 0x61, .flags = 0, .buf = data1, .len = sizeof(data1)}; | ||
7805 | 7806 | ||
7806 | subaddr= 0x14; | 7807 | subaddr= 0x14; |
7807 | tuner_t = 0; | 7808 | tuner_t = 0; |
@@ -7856,6 +7857,16 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
7856 | } | 7857 | } |
7857 | 7858 | ||
7858 | pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type); | 7859 | pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type); |
7860 | |||
7861 | /* The tuner TUNER_PHILIPS_FMD1216ME_MK3 after hardware */ | ||
7862 | /* start has disabled IF and enabled DVB-T. When saa7134 */ | ||
7863 | /* scan I2C devices it will not detect IF tda9887 and can`t*/ | ||
7864 | /* watch TV without software reboot. To solve this problem */ | ||
7865 | /* switch the tuner to analog TV mode manually. */ | ||
7866 | if (dev->tuner_type == TUNER_PHILIPS_FMD1216ME_MK3) { | ||
7867 | if (i2c_transfer(&dev->i2c_adap, &msg1, 1) != 1) | ||
7868 | printk(KERN_WARNING "%s: Unable to enable IF of the tuner.\n", dev->name); | ||
7869 | } | ||
7859 | break; | 7870 | break; |
7860 | } | 7871 | } |
7861 | case SAA7134_BOARD_PHILIPS_EUROPA: | 7872 | case SAA7134_BOARD_PHILIPS_EUROPA: |