Commit 2425bb3d authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

em28xx: regression fix: use DRX-K sync firmware requests on em28xx

As em28xx-dvb will always be initialized asynchronously, there's
no need anymore for a separate thread to load the DRX-K firmware.

Fixes a known regression with kernel 3.6 with tda18271 driver
and asynchronous DRX-K firmware load.

Antti tested it with the following hardware:
        Hauppauge WinTV HVR 930C
        MaxMedia UB425-TC
        PCTV QuatroStick nano (520e)
Tested-by: default avatarAntti Palosaari <crope@iki.fi>
Cc: stable@kernel.org #	for Kernel 3.6 - please note that driver location has changed
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 8e30783b
...@@ -318,6 +318,7 @@ static struct drxk_config terratec_h5_drxk = { ...@@ -318,6 +318,7 @@ static struct drxk_config terratec_h5_drxk = {
.no_i2c_bridge = 1, .no_i2c_bridge = 1,
.microcode_name = "dvb-usb-terratec-h5-drxk.fw", .microcode_name = "dvb-usb-terratec-h5-drxk.fw",
.qam_demod_parameter_count = 2, .qam_demod_parameter_count = 2,
.load_firmware_sync = true,
}; };
static struct drxk_config hauppauge_930c_drxk = { static struct drxk_config hauppauge_930c_drxk = {
...@@ -327,6 +328,7 @@ static struct drxk_config hauppauge_930c_drxk = { ...@@ -327,6 +328,7 @@ static struct drxk_config hauppauge_930c_drxk = {
.microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw", .microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
.chunk_size = 56, .chunk_size = 56,
.qam_demod_parameter_count = 2, .qam_demod_parameter_count = 2,
.load_firmware_sync = true,
}; };
struct drxk_config terratec_htc_stick_drxk = { struct drxk_config terratec_htc_stick_drxk = {
...@@ -340,12 +342,14 @@ struct drxk_config terratec_htc_stick_drxk = { ...@@ -340,12 +342,14 @@ struct drxk_config terratec_htc_stick_drxk = {
.antenna_dvbt = true, .antenna_dvbt = true,
/* The windows driver uses the same. This will disable LNA. */ /* The windows driver uses the same. This will disable LNA. */
.antenna_gpio = 0x6, .antenna_gpio = 0x6,
.load_firmware_sync = true,
}; };
static struct drxk_config maxmedia_ub425_tc_drxk = { static struct drxk_config maxmedia_ub425_tc_drxk = {
.adr = 0x29, .adr = 0x29,
.single_master = 1, .single_master = 1,
.no_i2c_bridge = 1, .no_i2c_bridge = 1,
.load_firmware_sync = true,
}; };
static struct drxk_config pctv_520e_drxk = { static struct drxk_config pctv_520e_drxk = {
...@@ -356,6 +360,7 @@ static struct drxk_config pctv_520e_drxk = { ...@@ -356,6 +360,7 @@ static struct drxk_config pctv_520e_drxk = {
.chunk_size = 58, .chunk_size = 58,
.antenna_dvbt = true, /* disable LNA */ .antenna_dvbt = true, /* disable LNA */
.antenna_gpio = (1 << 2), /* disable LNA */ .antenna_gpio = (1 << 2), /* disable LNA */
.load_firmware_sync = true,
}; };
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable) static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment