diff options
author | Martin Blumenstingl <martin.blumenstingl@googlemail.com> | 2012-07-04 16:36:55 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-06 13:54:43 -0400 |
commit | 9e23f50a762c236049b4965a42d86d55fcdbbfb3 (patch) | |
tree | 1e98cb690824382058e222e9fed4261f3552549d /drivers/media/dvb/frontends/drxk.h | |
parent | 22a09b439af25fefbe0ebd1c6c2a0d81e923f2f5 (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/dvb/frontends/drxk.h')
-rw-r--r-- | drivers/media/dvb/frontends/drxk.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/drxk.h b/drivers/media/dvb/frontends/drxk.h index 9d64e4fea066..d615d7d055a2 100644 --- a/drivers/media/dvb/frontends/drxk.h +++ b/drivers/media/dvb/frontends/drxk.h | |||
@@ -20,6 +20,14 @@ | |||
20 | * means that 1=DVBC, 0 = DVBT. Zero means the opposite. | 20 | * means that 1=DVBC, 0 = DVBT. Zero means the opposite. |
21 | * @mpeg_out_clk_strength: DRXK Mpeg output clock drive strength. | 21 | * @mpeg_out_clk_strength: DRXK Mpeg output clock drive strength. |
22 | * @microcode_name: Name of the firmware file with the microcode | 22 | * @microcode_name: Name of the firmware file with the microcode |
23 | * @qam_demod_parameter_count: The number of parameters used for the command | ||
24 | * to set the demodulator parameters. All | ||
25 | * firmwares are using the 2-parameter commmand. | ||
26 | * An exception is the "drxk_a3.mc" firmware, | ||
27 | * which uses the 4-parameter command. | ||
28 | * A value of 0 (default) or lower indicates that | ||
29 | * the correct number of parameters will be | ||
30 | * automatically detected. | ||
23 | * | 31 | * |
24 | * On the *_gpio vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is | 32 | * On the *_gpio vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is |
25 | * UIO-3. | 33 | * UIO-3. |
@@ -38,7 +46,8 @@ struct drxk_config { | |||
38 | u8 mpeg_out_clk_strength; | 46 | u8 mpeg_out_clk_strength; |
39 | int chunk_size; | 47 | int chunk_size; |
40 | 48 | ||
41 | const char *microcode_name; | 49 | const char *microcode_name; |
50 | int qam_demod_parameter_count; | ||
42 | }; | 51 | }; |
43 | 52 | ||
44 | #if defined(CONFIG_DVB_DRXK) || (defined(CONFIG_DVB_DRXK_MODULE) \ | 53 | #if defined(CONFIG_DVB_DRXK) || (defined(CONFIG_DVB_DRXK_MODULE) \ |