From 544be6fb45eda5f3f765a99e9665683197aae0d2 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 24 Jul 2011 14:59:20 -0300 Subject: [PATCH] --- yaml --- r: 285659 b: refs/heads/master c: 534e04810304a9c6715220b392aa387197d5fa15 h: refs/heads/master i: 285657: 919d24e4294ef31815c1a08be54725fb5c762960 285655: 0554b249526310a3937703f05b24cc901e04cde0 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/frontends/drxk.h | 3 +++ trunk/drivers/media/dvb/frontends/drxk_hard.c | 14 ++++++++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 468c5e7bee5f..038e6da3d91a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0d3e6fe7cb1b80719dbacfbfb0f668e2971e8a5f +refs/heads/master: 534e04810304a9c6715220b392aa387197d5fa15 diff --git a/trunk/drivers/media/dvb/frontends/drxk.h b/trunk/drivers/media/dvb/frontends/drxk.h index e6d42e271b89..870432ffcce1 100644 --- a/trunk/drivers/media/dvb/frontends/drxk.h +++ b/trunk/drivers/media/dvb/frontends/drxk.h @@ -8,6 +8,8 @@ * struct drxk_config - Configure the initial parameters for DRX-K * * adr: I2C Address of the DRX-K + * parallel_ts: true means that the device uses parallel TS, + * Serial otherwise. * single_master: Device is on the single master mode * no_i2c_bridge: Don't switch the I2C bridge to talk with tuner * antenna_gpio: GPIO bit used to control the antenna @@ -22,6 +24,7 @@ struct drxk_config { u8 adr; bool single_master; bool no_i2c_bridge; + bool parallel_ts; bool antenna_dvbt; u16 antenna_gpio; diff --git a/trunk/drivers/media/dvb/frontends/drxk_hard.c b/trunk/drivers/media/dvb/frontends/drxk_hard.c index 817d3ec2be49..c8213f61effb 100644 --- a/trunk/drivers/media/dvb/frontends/drxk_hard.c +++ b/trunk/drivers/media/dvb/frontends/drxk_hard.c @@ -660,7 +660,6 @@ static int init_state(struct drxk_state *state) /* io_pad_cfg_mode output mode is drive always */ /* io_pad_cfg_drive is set to power 2 (23 mA) */ u32 ulGPIOCfg = 0x0113; - u32 ulSerialMode = 1; u32 ulInvertTSClock = 0; u32 ulTSDataStrength = DRXK_MPEG_SERIAL_OUTPUT_PIN_DRIVE_STRENGTH; u32 ulTSClockkStrength = DRXK_MPEG_OUTPUT_CLK_DRIVE_STRENGTH; @@ -811,8 +810,6 @@ static int init_state(struct drxk_state *state) /* MPEG output configuration */ state->m_enableMPEGOutput = true; /* If TRUE; enable MPEG ouput */ state->m_insertRSByte = false; /* If TRUE; insert RS byte */ - state->m_enableParallel = true; /* If TRUE; - parallel out otherwise serial */ state->m_invertDATA = false; /* If TRUE; invert DATA signals */ state->m_invertERR = false; /* If TRUE; invert ERR signal */ state->m_invertSTR = false; /* If TRUE; invert STR signals */ @@ -857,8 +854,6 @@ static int init_state(struct drxk_state *state) state->m_bPowerDown = false; state->m_currentPowerMode = DRX_POWER_DOWN; - state->m_enableParallel = (ulSerialMode == 0); - state->m_rfmirror = (ulRfMirror == 0); state->m_IfAgcPol = false; return 0; @@ -1195,7 +1190,9 @@ static int MPEGTSConfigurePins(struct drxk_state *state, bool mpegEnable) u16 sioPdrMclkCfg = 0; u16 sioPdrMdxCfg = 0; - dprintk(1, "\n"); + dprintk(1, ": mpeg %s, %s mode\n", + mpegEnable ? "enable" : "disable", + state->m_enableParallel ? "parallel" : "serial"); /* stop lock indicator process */ status = write16(state, SCU_RAM_GPIO__A, SCU_RAM_GPIO_HW_LOCK_IND_DISABLE); @@ -6432,6 +6429,11 @@ struct dvb_frontend *drxk_attach(const struct drxk_config *config, state->antenna_dvbt = config->antenna_dvbt; state->m_ChunkSize = config->chunk_size; + if (config->parallel_ts) + state->m_enableParallel = true; + else + state->m_enableParallel = false; + /* NOTE: as more UIO bits will be used, add them to the mask */ state->UIO_mask = config->antenna_gpio;