summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2008-09-09 19:57:47 +0300
committerIgor M. Liplianin <liplianin@me.by>2008-09-09 19:57:47 +0300
commit50d5ab75a9850d1005a8081553333b23556d1e99 (patch)
treeac08fb1dbcce1f21b20c151babb4b82f0ad77392 /linux
parent2bbc242362b05e9c2f826038c265db72209ae7a2 (diff)
downloadmediapointer-dvb-s2-50d5ab75a9850d1005a8081553333b23556d1e99.tar.gz
mediapointer-dvb-s2-50d5ab75a9850d1005a8081553333b23556d1e99.tar.bz2
Adjust MPEG initialization in cx24116
From: Igor M. Liplianin <liplianin@me.by> Adjust MPEG initialization in cx24116 in order to accomodate different MPEG CLK position and polarity in different cards. Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/dvb-usb/dw2102.c2
-rw-r--r--linux/drivers/media/dvb/frontends/cx24116.c5
-rw-r--r--linux/drivers/media/dvb/frontends/cx24116.h3
3 files changed, 8 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/dvb-usb/dw2102.c b/linux/drivers/media/dvb/dvb-usb/dw2102.c
index 57015f3ca..169951fc2 100644
--- a/linux/drivers/media/dvb/dvb-usb/dw2102.c
+++ b/linux/drivers/media/dvb/dvb-usb/dw2102.c
@@ -284,7 +284,7 @@ static int dw2102_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
static struct cx24116_config dw2104_config = {
.demod_address = 0x55,
- /*.mpg_clk_pos_pol = 0x01,*/
+ .mpg_clk_pos_pol = 0x01,
};
static int dw2104_frontend_attach(struct dvb_usb_adapter *d)
diff --git a/linux/drivers/media/dvb/frontends/cx24116.c b/linux/drivers/media/dvb/frontends/cx24116.c
index cc8b0358c..fbb459245 100644
--- a/linux/drivers/media/dvb/frontends/cx24116.c
+++ b/linux/drivers/media/dvb/frontends/cx24116.c
@@ -478,7 +478,10 @@ static int cx24116_load_firmware (struct dvb_frontend* fe, const struct firmware
cmd.args[0x01] = 0x01;
cmd.args[0x02] = 0x75;
cmd.args[0x03] = 0x00;
- cmd.args[0x04] = 0x02;
+ if (state->config->mpg_clk_pos_pol)
+ cmd.args[0x04] = state->config->mpg_clk_pos_pol;
+ else
+ cmd.args[0x04] = 0x02;
cmd.args[0x05] = 0x00;
cmd.len= 0x06;
ret = cx24116_cmd_execute(fe, &cmd);
diff --git a/linux/drivers/media/dvb/frontends/cx24116.h b/linux/drivers/media/dvb/frontends/cx24116.h
index 278967252..8dbcec268 100644
--- a/linux/drivers/media/dvb/frontends/cx24116.h
+++ b/linux/drivers/media/dvb/frontends/cx24116.h
@@ -33,6 +33,9 @@ struct cx24116_config
/* Need to reset device during firmware loading */
int (*reset_device)(struct dvb_frontend* fe);
+
+ /* Need to set MPEG parameters */
+ u8 mpg_clk_pos_pol:0x02;
};
#if defined(CONFIG_DVB_CX24116) || defined(CONFIG_DVB_CX24116_MODULE)