]> nv-tegra.nvidia Code Review - linux-4.9.git/commitdiff
media: cx231xx: bring back PWR_CTL_EN modification
authorMagdalena Grodzinska <mgrodzinska@nvidia.com>
Sat, 25 Aug 2018 00:01:20 +0000 (17:01 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Wed, 31 Oct 2018 21:59:47 +0000 (14:59 -0700)
Bring back PWR_CTL_EN modification for AVerMedia H837 TV tuner.

This change modifies upstream commit
https://github.com/torvalds/linux/commit/082417d10fafe7be835d143ade7114b5ce26cb50
which removed I2C port 3 switching by modifying PWR_CTL_EN directly.

The AVerMedia tuner requires the switch to work correctly.

Bug 2190055

Change-Id: I849be037261e41b7d99f7234f6686762b8245207
Signed-off-by: Magdalena Grodzinska <mgrodzinska@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1806531
(cherry picked from commit 811d94cea8be2f61c6ad3c45a14acc2b2f32b151)
Reviewed-on: https://git-master.nvidia.com/r/1809390
(cherry picked from commit e8f6f625da0615884a71159aeecc0e0df15716b5)
Reviewed-on: https://git-master.nvidia.com/r/1938556
Tested-by: Vladislav Zhurba <vzhurba@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
drivers/media/usb/cx231xx/cx231xx-avcore.c

index b526277bfc4032d3cfe1b982dabfc0935a69d93e..9357697f36178723dcc3ff8a948f0c0537038e71 100644 (file)
@@ -2293,6 +2293,8 @@ int cx231xx_set_power_mode(struct cx231xx *dev, enum AV_MODE mode)
        case POLARIS_AVMODE_ANALOGT_TV:
 
                tmp |= PWR_DEMOD_EN;
+               if (is_model_avermedia_h837_series(dev->model))
+                       tmp |= I2C_DEMOD_EN;
                if (dev->model == CX231XX_BOARD_AVERMEDIA_H837B)
                        tmp &= ~PWR_DEMOD_EN;
                value[0] = (u8) tmp;
@@ -2391,6 +2393,8 @@ int cx231xx_set_power_mode(struct cx231xx *dev, enum AV_MODE mode)
 
                tmp &= (~PWR_AV_MODE);
                tmp |= POLARIS_AVMODE_DIGITAL;
+               if (is_model_avermedia_h837_series(dev->model))
+                       tmp |= I2C_DEMOD_EN;
                value[0] = (u8) tmp;
                value[1] = (u8) (tmp >> 8);
                value[2] = (u8) (tmp >> 16);