mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
[media] em28xx: fix GPIO problem with HVR-900R2 getting out of sync with drx-d
The em28xx bridge strobes the reset pin on the drx-d on every ts_ctrl call. This results in the state of the chip getting out of the sync with the state of the driver (and hence all tuning requests after the first one fail). Make sure the drx-d is not being held in reset, but don't actually perform a hardware reset on the chip. The GPIO block has been split out from the other HVR-9x0 variants to reduce the risk of regression, although in theory they would not have any issues since none of those cases have the frontend driver managing any internal state. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6b142b3c81
commit
7030f52bbe
@ -100,6 +100,13 @@ static struct em28xx_reg_seq hauppauge_wintv_hvr_900_digital[] = {
|
||||
{ -1, -1, -1, -1},
|
||||
};
|
||||
|
||||
/* Board Hauppauge WinTV HVR 900 (R2) digital */
|
||||
static struct em28xx_reg_seq hauppauge_wintv_hvr_900R2_digital[] = {
|
||||
{EM28XX_R08_GPIO, 0x2e, ~EM_GPIO_4, 10},
|
||||
{EM2880_R04_GPO, 0x0c, 0x0f, 10},
|
||||
{ -1, -1, -1, -1},
|
||||
};
|
||||
|
||||
/* Boards - EM2880 MSI DIGIVOX AD and EM2880_BOARD_MSI_DIGIVOX_AD_II */
|
||||
static struct em28xx_reg_seq em2880_msi_digivox_ad_analog[] = {
|
||||
{EM28XX_R08_GPIO, 0x69, ~EM_GPIO_4, 10},
|
||||
@ -860,7 +867,7 @@ struct em28xx_board em28xx_boards[] = {
|
||||
.tuner_gpio = default_tuner_gpio,
|
||||
.mts_firmware = 1,
|
||||
.has_dvb = 1,
|
||||
.dvb_gpio = hauppauge_wintv_hvr_900_digital,
|
||||
.dvb_gpio = hauppauge_wintv_hvr_900R2_digital,
|
||||
.ir_codes = RC_MAP_HAUPPAUGE,
|
||||
.decoder = EM28XX_TVP5150,
|
||||
.input = { {
|
||||
|
Loading…
Reference in New Issue
Block a user