Skip to content

Commit

Permalink
V4L/DVB (12825): tm6000: I2C reading operations is not reliable on tm…
Browse files Browse the repository at this point in the history
…6000

tm6000 sometimes can't read from i2c, but this is currently required for
tuner-xc2028 to work.

This patch adds an option to tuner-xc2028 to not rely on i2c reading.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed May 18, 2010
1 parent e5cc2bf commit 2d5024a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/media/common/tuners/tuner-xc2028.c
Original file line number Diff line number Diff line change
Expand Up @@ -813,8 +813,14 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,

/* Check firmware version against what we downloaded. */
if (priv->firm_version != ((version & 0xf0) << 4 | (version & 0x0f))) {
tuner_err("Incorrect readback of firmware version.\n");
goto fail;
if (!priv->ctrl.read_not_reliable) {
tuner_err("Incorrect readback of firmware version.\n");
goto fail;
} else {
tuner_err("Returned an incorrect version. However, "
"read is not reliable enough. Ignoring it.\n");
hwmodel = 3028;
}
}

/* Check that the tuner hardware model remains consistent over time. */
Expand Down
1 change: 1 addition & 0 deletions drivers/media/common/tuners/tuner-xc2028.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ struct xc2028_ctrl {
unsigned int vhfbw7:1;
unsigned int uhfbw8:1;
unsigned int disable_power_mgmt:1;
unsigned int read_not_reliable:1;
unsigned int demod;
enum firmware_type type:2;
};
Expand Down
1 change: 1 addition & 0 deletions drivers/staging/tm6000/tm6000-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ static void tm6000_config_tuner (struct tm6000_core *dev)
ctl.fname = "tm6000-xc3028.fw";

ctl.mts = 1;
ctl.read_not_reliable = 1;

xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
Expand Down

0 comments on commit 2d5024a

Please sign in to comment.