aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>2012-07-04 16:36:55 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-07-06 13:54:43 -0400
commit9e23f50a762c236049b4965a42d86d55fcdbbfb3 (patch)
tree1e98cb690824382058e222e9fed4261f3552549d /drivers/media/video
parent22a09b439af25fefbe0ebd1c6c2a0d81e923f2f5 (diff)
[media] drxk: Make the QAM demodulator command parameters configurable
Currently there are two different implementations (in the firmware) for the QAM demodulator command: one takes 4 and the other takes 2 parameters. The driver shows an error in dmesg When using the 4-parameter command with firmware that implements the 2-parameter command. Unfortunately this happens every time when chaning the frequency (on DVB-C). This patch simply makes configurable, how many command parameters will be used. All existing drxk_config instances using the "drxk_a3.mc" were updated because this firmware is the only loadable firmware where the QAM demodulator command takes 4 parameters. Some firmwares in the ROM might also use it. The drxk instances in the em28xx-dvb driver were also updated to silence the warnings. If no qam_demod_parameter_count is given in the drxk_config struct, then the correct number of parameters will be auto-detected. [mchehab@redhat.com: Fix a small CodingStyle issue at one comment] Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Tested-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/em28xx/em28xx-dvb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c
index f8ffe102d295..a16531fa937a 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -315,6 +315,7 @@ static struct drxk_config terratec_h5_drxk = {
315 .single_master = 1, 315 .single_master = 1,
316 .no_i2c_bridge = 1, 316 .no_i2c_bridge = 1,
317 .microcode_name = "dvb-usb-terratec-h5-drxk.fw", 317 .microcode_name = "dvb-usb-terratec-h5-drxk.fw",
318 .qam_demod_parameter_count = 2,
318}; 319};
319 320
320static struct drxk_config hauppauge_930c_drxk = { 321static struct drxk_config hauppauge_930c_drxk = {
@@ -323,6 +324,7 @@ static struct drxk_config hauppauge_930c_drxk = {
323 .no_i2c_bridge = 1, 324 .no_i2c_bridge = 1,
324 .microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw", 325 .microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
325 .chunk_size = 56, 326 .chunk_size = 56,
327 .qam_demod_parameter_count = 2,
326}; 328};
327 329
328struct drxk_config terratec_htc_stick_drxk = { 330struct drxk_config terratec_htc_stick_drxk = {
@@ -331,6 +333,7 @@ struct drxk_config terratec_htc_stick_drxk = {
331 .no_i2c_bridge = 1, 333 .no_i2c_bridge = 1,
332 .microcode_name = "dvb-usb-terratec-htc-stick-drxk.fw", 334 .microcode_name = "dvb-usb-terratec-htc-stick-drxk.fw",
333 .chunk_size = 54, 335 .chunk_size = 54,
336 .qam_demod_parameter_count = 2,
334 /* Required for the antenna_gpio to disable LNA. */ 337 /* Required for the antenna_gpio to disable LNA. */
335 .antenna_dvbt = true, 338 .antenna_dvbt = true,
336 /* The windows driver uses the same. This will disable LNA. */ 339 /* The windows driver uses the same. This will disable LNA. */
@@ -347,6 +350,7 @@ static struct drxk_config pctv_520e_drxk = {
347 .adr = 0x29, 350 .adr = 0x29,
348 .single_master = 1, 351 .single_master = 1,
349 .microcode_name = "dvb-demod-drxk-pctv.fw", 352 .microcode_name = "dvb-demod-drxk-pctv.fw",
353 .qam_demod_parameter_count = 2,
350 .chunk_size = 58, 354 .chunk_size = 58,
351 .antenna_dvbt = true, /* disable LNA */ 355 .antenna_dvbt = true, /* disable LNA */
352 .antenna_gpio = (1 << 2), /* disable LNA */ 356 .antenna_gpio = (1 << 2), /* disable LNA */