summaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r--drivers/media/dvb/frontends/drxk_hard.c185
1 files changed, 181 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/drxk_hard.c b/drivers/media/dvb/frontends/drxk_hard.c
index f550332d7f32..fe9445922942 100644
--- a/drivers/media/dvb/frontends/drxk_hard.c
+++ b/drivers/media/dvb/frontends/drxk_hard.c
@@ -173,6 +173,16 @@ bool IsA1WithRomCode(struct drxk_state *state)
#define DRXK_QAM_SL_SIG_POWER_QAM128 (20992)
#define DRXK_QAM_SL_SIG_POWER_QAM256 (43520)
+static unsigned int debug;
+module_param(debug, int, 0644);
+MODULE_PARM_DESC(debug, "enable debug messages");
+
+#define dprintk(level, fmt, arg...) do { \
+if (debug >= level) \
+ printk(KERN_DEBUG "drxk: %s" fmt, __func__, ## arg); \
+} while (0)
+
+
static inline u32 MulDiv32(u32 a, u32 b, u32 c)
{
u64 tmp64;
@@ -316,6 +326,13 @@ static int i2c_write(struct i2c_adapter *adap, u8 adr, u8 *data, int len)
struct i2c_msg msg = {
.addr = adr, .flags = 0, .buf = data, .len = len };
+ dprintk(3, ":");
+ if (debug > 2) {
+ int i;
+ for (i = 0; i < len; i++)
+ printk(KERN_CONT " %02x", data[i]);
+ printk(KERN_CONT "\n");
+ }
if (i2c_transfer(adap, &msg, 1) != 1) {
printk(KERN_ERR "drxk: i2c write error at addr 0x%02x\n", adr);
return -1;
@@ -331,10 +348,27 @@ static int i2c_read(struct i2c_adapter *adap,
{.addr = adr, .flags = I2C_M_RD,
.buf = answ, .len = alen}
};
+ dprintk(3, ":");
+ if (debug > 2) {
+ int i;
+ for (i = 0; i < len; i++)
+ printk(KERN_CONT " %02x", msg[i]);
+ printk(KERN_CONT "\n");
+ }
if (i2c_transfer(adap, msgs, 2) != 2) {
+ if (debug > 2)
+ printk(KERN_CONT ": ERROR!\n");
+
printk(KERN_ERR "drxk: i2c read error at addr 0x%02x\n", adr);
return -1;
}
+ if (debug > 2) {
+ int i;
+ printk(KERN_CONT ": Read ");
+ for (i = 0; i < len; i++)
+ printk(KERN_CONT " %02x", msg[i]);
+ printk(KERN_CONT "\n");
+ }
return 0;
}
@@ -355,10 +389,12 @@ static int Read16(struct drxk_state *state, u32 reg, u16 *data, u8 flags)
mm1[1] = (((reg >> 16) & 0x0F) | ((reg >> 18) & 0xF0));
len = 2;
}
+ dprintk(2, "(0x%08x, 0x%02x)\n", reg, flags);
if (i2c_read(state->i2c, adr, mm1, len, mm2, 2) < 0)
return -1;
if (data)
*data = mm2[0] | (mm2[1] << 8);
+
return 0;
}
@@ -384,11 +420,13 @@ static int Read32(struct drxk_state *state, u32 reg, u32 *data, u8 flags)
mm1[1] = (((reg >> 16) & 0x0F) | ((reg >> 18) & 0xF0));
len = 2;
}
+ dprintk(2, "(0x%08x, 0x%02x)\n", reg, flags);
if (i2c_read(state->i2c, adr, mm1, len, mm2, 4) < 0)
return -1;
if (data)
*data = mm2[0] | (mm2[1] << 8) |
(mm2[2] << 16) | (mm2[3] << 24);
+
return 0;
}
@@ -411,6 +449,8 @@ static int Write16(struct drxk_state *state, u32 reg, u16 data, u8 flags)
}
mm[len] = data & 0xff;
mm[len + 1] = (data >> 8) & 0xff;
+
+ dprintk(2, "(0x%08x, 0x%04x, 0x%02x)\n", reg, data, flags);
if (i2c_write(state->i2c, adr, mm, len + 2) < 0)
return -1;
return 0;
@@ -442,6 +482,7 @@ static int Write32(struct drxk_state *state, u32 reg, u32 data, u8 flags)
mm[len + 1] = (data >> 8) & 0xff;
mm[len + 2] = (data >> 16) & 0xff;
mm[len + 3] = (data >> 24) & 0xff;
+ dprintk(2, "(0x%08x, 0x%08x, 0x%02x)\n", reg, data, flags);
if (i2c_write(state->i2c, adr, mm, len + 4) < 0)
return -1;
return 0;
@@ -476,6 +517,14 @@ static int WriteBlock(struct drxk_state *state, u32 Address,
AdrLength = 2;
}
memcpy(&state->Chunk[AdrLength], pBlock, Chunk);
+ dprintk(2, "(0x%08x, 0x%02x)\n", Address, Flags);
+ if (debug > 1) {
+ int i;
+ if (pBlock)
+ for (i = 0; i < Chunk; i++)
+ printk(KERN_CONT " %02x", pBlock[i]);
+ printk(KERN_CONT "\n");
+ }
status = i2c_write(state->i2c, state->demod_address,
&state->Chunk[0], Chunk + AdrLength);
if (status < 0) {
@@ -500,6 +549,8 @@ int PowerUpDevice(struct drxk_state *state)
u8 data = 0;
u16 retryCount = 0;
+ dprintk(1, "\n");
+
status = i2c_read1(state->i2c, state->demod_address, &data);
if (status < 0)
do {
@@ -592,6 +643,8 @@ static int init_state(struct drxk_state *state)
u32 ulAntennaDVBC = 0;
u32 ulAntennaSwitchDVBTDVBC = 0;
+ dprintk(1, "\n");
+
state->m_hasLNA = false;
state->m_hasDVBT = false;
state->m_hasDVBC = false;
@@ -794,6 +847,7 @@ static int DRXX_Open(struct drxk_state *state)
u16 bid = 0;
u16 key = 0;
+ dprintk(1, "\n");
do {
/* stop lock indicator process */
status = Write16_0(state, SCU_RAM_GPIO__A, SCU_RAM_GPIO_HW_LOCK_IND_DISABLE);
@@ -825,6 +879,7 @@ static int GetDeviceCapabilities(struct drxk_state *state)
u32 sioTopJtagidLo = 0;
int status;
+ dprintk(1, "\n");
do {
/* driver 0.9.0 */
/* stop lock indicator process */
@@ -1004,6 +1059,8 @@ static int HI_Command(struct drxk_state *state, u16 cmd, u16 *pResult)
int status;
bool powerdown_cmd;
+ dprintk(1, "\n");
+
/* Write command */
status = Write16_0(state, SIO_HI_RA_RAM_CMD__A, cmd);
if (status < 0)
@@ -1040,6 +1097,8 @@ static int HI_CfgCommand(struct drxk_state *state)
{
int status;
+ dprintk(1, "\n");
+
mutex_lock(&state->mutex);
do {
status = Write16_0(state, SIO_HI_RA_RAM_PAR_6__A, state->m_HICfgTimeout);
@@ -1072,6 +1131,8 @@ static int HI_CfgCommand(struct drxk_state *state)
static int InitHI(struct drxk_state *state)
{
+ dprintk(1, "\n");
+
state->m_HICfgWakeUpKey = (state->demod_address << 1);
state->m_HICfgTimeout = 0x96FF;
/* port/bridge/power down ctrl */
@@ -1085,6 +1146,7 @@ static int MPEGTSConfigurePins(struct drxk_state *state, bool mpegEnable)
u16 sioPdrMclkCfg = 0;
u16 sioPdrMdxCfg = 0;
+ dprintk(1, "\n");
do {
/* stop lock indicator process */
status = Write16_0(state, SCU_RAM_GPIO__A, SCU_RAM_GPIO_HW_LOCK_IND_DISABLE);
@@ -1223,6 +1285,8 @@ static int MPEGTSConfigurePins(struct drxk_state *state, bool mpegEnable)
static int MPEGTSDisable(struct drxk_state *state)
{
+ dprintk(1, "\n");
+
return MPEGTSConfigurePins(state, false);
}
@@ -1233,6 +1297,8 @@ static int BLChainCmd(struct drxk_state *state,
int status;
unsigned long end;
+ dprintk(1, "\n");
+
mutex_lock(&state->mutex);
do {
status = Write16_0(state, SIO_BL_MODE__A, SIO_BL_MODE_CHAIN);
@@ -1281,6 +1347,8 @@ static int DownloadMicrocode(struct drxk_state *state,
u32 i;
int status = 0;
+ dprintk(1, "\n");
+
/* down the drain (we don care about MAGIC_WORD) */
Drain = (pSrc[0] << 8) | pSrc[1];
pSrc += sizeof(u16);
@@ -1323,6 +1391,8 @@ static int DVBTEnableOFDMTokenRing(struct drxk_state *state, bool enable)
u16 desiredStatus = SIO_OFDM_SH_OFDM_RING_STATUS_ENABLED;
unsigned long end;
+ dprintk(1, "\n");
+
if (enable == false) {
desiredCtrl = SIO_OFDM_SH_OFDM_RING_ENABLE_OFF;
desiredStatus = SIO_OFDM_SH_OFDM_RING_STATUS_DOWN;
@@ -1357,6 +1427,8 @@ static int MPEGTSStop(struct drxk_state *state)
u16 fecOcSncMode = 0;
u16 fecOcIprMode = 0;
+ dprintk(1, "\n");
+
do {
/* Gracefull shutdown (byte boundaries) */
status = Read16_0(state, FEC_OC_SNC_MODE__A, &fecOcSncMode);
@@ -1390,6 +1462,8 @@ static int scu_command(struct drxk_state *state,
int status;
unsigned long end;
+ dprintk(1, "\n");
+
if ((cmd == 0) || ((parameterLen > 0) && (parameter == NULL)) ||
((resultLen > 0) && (result == NULL)))
return -1;
@@ -1469,6 +1543,8 @@ static int SetIqmAf(struct drxk_state *state, bool active)
u16 data = 0;
int status;
+ dprintk(1, "\n");
+
do {
/* Configure IQM */
status = Read16_0(state, IQM_AF_STDBY__A, &data);
@@ -1501,6 +1577,8 @@ static int CtrlPowerMode(struct drxk_state *state, enum DRXPowerMode *mode)
int status = 0;
u16 sioCcPwdMode = 0;
+ dprintk(1, "\n");
+
/* Check arguments */
if (mode == NULL)
return -1;
@@ -1607,6 +1685,8 @@ static int PowerDownDVBT(struct drxk_state *state, bool setPowerMode)
u16 data = 0;
int status;
+ dprintk(1, "\n");
+
do {
status = Read16_0(state, SCU_COMM_EXEC__A, &data);
if (status < 0)
@@ -1653,6 +1733,7 @@ static int SetOperationMode(struct drxk_state *state,
{
int status = 0;
+ dprintk(1, "\n");
/*
Stop and power down previous standard
TODO investigate total power down instead of partial
@@ -1734,6 +1815,7 @@ static int Start(struct drxk_state *state, s32 offsetFreq,
{
int status = 0;
+ dprintk(1, "\n");
do {
u16 IFreqkHz;
s32 OffsetkHz = offsetFreq / 1000;
@@ -1783,6 +1865,8 @@ static int Start(struct drxk_state *state, s32 offsetFreq,
static int ShutDown(struct drxk_state *state)
{
+ dprintk(1, "\n");
+
MPEGTSStop(state);
return 0;
}
@@ -1792,6 +1876,8 @@ static int GetLockStatus(struct drxk_state *state, u32 *pLockStatus,
{
int status = 0;
+ dprintk(1, "\n");
+
if (pLockStatus == NULL)
return -1;
@@ -1839,6 +1925,8 @@ static int MPEGTSDtoInit(struct drxk_state *state)
{
int status = -1;
+ dprintk(1, "\n");
+
do {
/* Rate integration settings */
status = Write16_0(state, FEC_OC_RCN_CTL_STEP_LO__A, 0x0000);
@@ -1897,6 +1985,8 @@ static int MPEGTSDtoSetup(struct drxk_state *state,
u32 maxBitRate = 0;
bool staticCLK = false;
+ dprintk(1, "\n");
+
do {
/* Check insertion of the Reed-Solomon parity bytes */
status = Read16_0(state, FEC_OC_MODE__A, &fecOcRegMode);
@@ -2021,6 +2111,8 @@ static int MPEGTSConfigurePolarity(struct drxk_state *state)
int status;
u16 fecOcRegIprInvert = 0;
+ dprintk(1, "\n");
+
/* Data mask for the output data byte */
u16 InvertDataMask =
FEC_OC_IPR_INVERT_MD7__M | FEC_OC_IPR_INVERT_MD6__M |
@@ -2056,6 +2148,8 @@ static int SetAgcRf(struct drxk_state *state,
int status = 0;
struct SCfgAgc *pIfAgcSettings;
+ dprintk(1, "\n");
+
if (pAgcCfg == NULL)
return -1;
@@ -2202,6 +2296,8 @@ static int SetAgcIf(struct drxk_state *state,
int status = 0;
struct SCfgAgc *pRfAgcSettings;
+ dprintk(1, "\n");
+
do {
switch (pAgcCfg->ctrlMode) {
case DRXK_AGC_CTRL_AUTO:
@@ -2327,6 +2423,8 @@ static int ReadIFAgc(struct drxk_state *state, u32 *pValue)
u16 agcDacLvl;
int status = Read16_0(state, IQM_AF_AGC_IF__A, &agcDacLvl);
+ dprintk(1, "\n");
+
*pValue = 0;
if (status == 0) {
@@ -2346,6 +2444,8 @@ static int GetQAMSignalToNoise(struct drxk_state *state,
{
int status = 0;
+ dprintk(1, "\n");
+
do {
/* MER calculation */
u16 qamSlErrPower = 0; /* accum. error between
@@ -2406,6 +2506,7 @@ static int GetDVBTSignalToNoise(struct drxk_state *state,
u32 iMER = 0;
u16 transmissionParams = 0;
+ dprintk(1, "\n");
do {
status = Read16_0(state, OFDM_EQ_TOP_TD_TPS_PWR_OFS__A, &EqRegTdTpsPwrOfs);
if (status < 0)
@@ -2491,6 +2592,8 @@ static int GetDVBTSignalToNoise(struct drxk_state *state,
static int GetSignalToNoise(struct drxk_state *state, s32 *pSignalToNoise)
{
+ dprintk(1, "\n");
+
*pSignalToNoise = 0;
switch (state->m_OperationMode) {
case OM_DVBT:
@@ -2510,6 +2613,8 @@ static int GetDVBTQuality(struct drxk_state *state, s32 *pQuality)
/* SNR Values for quasi errorfree reception rom Nordig 2.2 */
int status = 0;
+ dprintk(1, "\n");
+
static s32 QE_SN[] = {
51, /* QPSK 1/2 */
69, /* QPSK 2/3 */
@@ -2573,6 +2678,8 @@ static int GetDVBCQuality(struct drxk_state *state, s32 *pQuality)
int status = 0;
*pQuality = 0;
+ dprintk(1, "\n");
+
do {
u32 SignalToNoise = 0;
u32 BERQuality = 100;
@@ -2615,6 +2722,8 @@ static int GetDVBCQuality(struct drxk_state *state, s32 *pQuality)
static int GetQuality(struct drxk_state *state, s32 *pQuality)
{
+ dprintk(1, "\n");
+
switch (state->m_OperationMode) {
case OM_DVBT:
return GetDVBTQuality(state, pQuality);
@@ -2645,6 +2754,8 @@ static int ConfigureI2CBridge(struct drxk_state *state, bool bEnableBridge)
{
int status;
+ dprintk(1, "\n");
+
if (state->m_DrxkState == DRXK_UNINITIALIZED)
return -1;
if (state->m_DrxkState == DRXK_POWERED_DOWN)
@@ -2676,6 +2787,8 @@ static int SetPreSaw(struct drxk_state *state,
{
int status;
+ dprintk(1, "\n");
+
if ((pPreSawCfg == NULL)
|| (pPreSawCfg->reference > IQM_AF_PDREF__M))
return -1;
@@ -2693,6 +2806,8 @@ static int BLDirectCmd(struct drxk_state *state, u32 targetAddr,
int status;
unsigned long end;
+ dprintk(1, "\n");
+
mutex_lock(&state->mutex);
do {
status = Write16_0(state, SIO_BL_MODE__A, SIO_BL_MODE_DIRECT);
@@ -2736,6 +2851,8 @@ static int ADCSyncMeasurement(struct drxk_state *state, u16 *count)
u16 data = 0;
int status;
+ dprintk(1, "\n");
+
do {
/* Start measurement */
status = Write16_0(state, IQM_AF_COMM_EXEC__A, IQM_AF_COMM_EXEC_ACTIVE);
@@ -2770,6 +2887,8 @@ static int ADCSynchronization(struct drxk_state *state)
u16 count = 0;
int status;
+ dprintk(1, "\n");
+
do {
status = ADCSyncMeasurement(state, &count);
if (status < 0)
@@ -2822,6 +2941,8 @@ static int SetFrequencyShifter(struct drxk_state *state,
u32 frequencyShift;
bool imageToSelect;
+ dprintk(1, "\n");
+
/*
Program frequency shifter
No need to account for mirroring on RF
@@ -2889,6 +3010,8 @@ static int InitAGC(struct drxk_state *state, bool isDTV)
u16 clpCtrlMode = 0;
int status = 0;
+ dprintk(1, "\n");
+
do {
/* Common settings */
snsSumMax = 1023;
@@ -3067,6 +3190,7 @@ static int DVBTQAMGetAccPktErr(struct drxk_state *state, u16 *packetErr)
{
int status;
+ dprintk(1, "\n");
do {
if (packetErr == NULL) {
status = Write16_0(state, SCU_RAM_FEC_ACCUM_PKT_FAILURES__A, 0);
@@ -3092,6 +3216,7 @@ static int DVBTScCommand(struct drxk_state *state,
u16 scExec = 0;
int status;
+ dprintk(1, "\n");
status = Read16_0(state, OFDM_SC_COMM_EXEC__A, &scExec);
if (scExec != 1) {
/* SC is not running */
@@ -3197,6 +3322,7 @@ static int PowerUpDVBT(struct drxk_state *state)
enum DRXPowerMode powerMode = DRX_POWER_UP;
int status;
+ dprintk(1, "\n");
do {
status = CtrlPowerMode(state, &powerMode);
if (status < 0)
@@ -3209,6 +3335,7 @@ static int DVBTCtrlSetIncEnable(struct drxk_state *state, bool *enabled)
{
int status;
+ dprintk(1, "\n");
if (*enabled == true)
status = Write16_0(state, IQM_CF_BYPASSDET__A, 0);
else
@@ -3223,6 +3350,7 @@ static int DVBTCtrlSetFrEnable(struct drxk_state *state, bool *enabled)
int status;
+ dprintk(1, "\n");
if (*enabled == true) {
/* write mask to 1 */
status = Write16_0(state, OFDM_SC_RA_RAM_FR_THRES_8K__A,
@@ -3241,6 +3369,7 @@ static int DVBTCtrlSetEchoThreshold(struct drxk_state *state,
u16 data = 0;
int status;
+ dprintk(1, "\n");
do {
status = Read16_0(state, OFDM_SC_RA_RAM_ECHO_THRES__A, &data);
if (status < 0)
@@ -3279,6 +3408,8 @@ static int DVBTCtrlSetSqiSpeed(struct drxk_state *state,
{
int status;
+ dprintk(1, "\n");
+
switch (*speed) {
case DRXK_DVBT_SQI_SPEED_FAST:
case DRXK_DVBT_SQI_SPEED_MEDIUM:
@@ -3309,6 +3440,7 @@ static int DVBTActivatePresets(struct drxk_state *state)
struct DRXKCfgDvbtEchoThres_t echoThres2k = { 0, DRX_FFTMODE_2K };
struct DRXKCfgDvbtEchoThres_t echoThres8k = { 0, DRX_FFTMODE_8K };
+ dprintk(1, "\n");
do {
bool setincenable = false;
bool setfrenable = true;
@@ -3349,8 +3481,9 @@ static int SetDVBTStandard(struct drxk_state *state,
u16 data = 0;
int status;
- PowerUpDVBT(state);
+ dprintk(1, "\n");
+ PowerUpDVBT(state);
do {
/* added antenna switch */
SwitchAntennaToDVBT(state);
@@ -3552,6 +3685,7 @@ static int DVBTStart(struct drxk_state *state)
int status;
/* DRXKOfdmScCmd_t scCmd; */
+ dprintk(1, "\n");
/* Start correct processes to get in lock */
/* DRXK: OFDM_SC_RA_RAM_PROC_LOCKTRACK is no longer in mapfile! */
do {
@@ -3590,6 +3724,7 @@ static int SetDVBT(struct drxk_state *state, u16 IntermediateFreqkHz,
u16 param1;
int status;
+ dprintk(1, "\n");
/* printk(KERN_DEBUG "drxk: %s IF =%d, TFO = %d\n", __func__, IntermediateFreqkHz, tunerFreqOffset); */
do {
status = scu_command(state, SCU_RAM_COMMAND_STANDARD_OFDM | SCU_RAM_COMMAND_CMD_DEMOD_STOP, 0, NULL, 1, &cmdResult);
@@ -3926,6 +4061,8 @@ static int GetDVBTLockStatus(struct drxk_state *state, u32 *pLockStatus)
u16 ScRaRamLock = 0;
u16 ScCommExec = 0;
+ dprintk(1, "\n");
+
/* driver 0.9.0 */
/* Check if SC is running */
status = Read16_0(state, OFDM_SC_COMM_EXEC__A, &ScCommExec);
@@ -3956,6 +4093,7 @@ static int PowerUpQAM(struct drxk_state *state)
enum DRXPowerMode powerMode = DRXK_POWER_DOWN_OFDM;
int status = 0;
+ dprintk(1, "\n");
do {
status = CtrlPowerMode(state, &powerMode);
if (status < 0)
@@ -3974,6 +4112,7 @@ static int PowerDownQAM(struct drxk_state *state)
u16 cmdResult;
int status = 0;
+ dprintk(1, "\n");
do {
status = Read16_0(state, SCU_COMM_EXEC__A, &data);
if (status < 0)
@@ -4023,8 +4162,9 @@ static int SetQAMMeasurement(struct drxk_state *state,
u16 fecRsPeriod = 0; /* Value for corresponding I2C register */
int status = 0;
- fecRsPrescale = 1;
+ dprintk(1, "\n");
+ fecRsPrescale = 1;
do {
/* fecBitsDesired = symbolRate [kHz] *
@@ -4099,6 +4239,7 @@ static int SetQAM16(struct drxk_state *state)
{
int status = 0;
+ dprintk(1, "\n");
do {
/* QAM Equalizer Setup */
/* Equalizer */
@@ -4290,6 +4431,7 @@ static int SetQAM32(struct drxk_state *state)
{
int status = 0;
+ dprintk(1, "\n");
do {
/* QAM Equalizer Setup */
/* Equalizer */
@@ -4485,6 +4627,7 @@ static int SetQAM64(struct drxk_state *state)
{
int status = 0;
+ dprintk(1, "\n");
do {
/* QAM Equalizer Setup */
/* Equalizer */
@@ -4679,6 +4822,7 @@ static int SetQAM128(struct drxk_state *state)
{
int status = 0;
+ dprintk(1, "\n");
do {
/* QAM Equalizer Setup */
/* Equalizer */
@@ -4875,6 +5019,7 @@ static int SetQAM256(struct drxk_state *state)
{
int status = 0;
+ dprintk(1, "\n");
do {
/* QAM Equalizer Setup */
/* Equalizer */
@@ -5072,6 +5217,7 @@ static int QAMResetQAM(struct drxk_state *state)
int status;
u16 cmdResult;
+ dprintk(1, "\n");
do {
/* Stop QAM comstate->m_exec */
status = Write16_0(state, QAM_COMM_EXEC__A, QAM_COMM_EXEC_STOP);
@@ -5104,6 +5250,7 @@ static int QAMSetSymbolrate(struct drxk_state *state)
u32 lcSymbRate = 0;
int status;
+ dprintk(1, "\n");
do {
/* Select & calculate correct IQM rate */
adcFrequency = (state->m_sysClockFreq * 1000) / 3;
@@ -5169,6 +5316,7 @@ static int GetQAMLockStatus(struct drxk_state *state, u32 *pLockStatus)
int status;
u16 Result[2] = { 0, 0 };
+ dprintk(1, "\n");
status =
scu_command(state,
SCU_RAM_COMMAND_STANDARD_QAM |
@@ -5212,6 +5360,7 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz,
u16 setParamParameters[4] = { 0, 0, 0, 0 };
u16 cmdResult;
+ dprintk(1, "\n");
do {
/*
STEP 1: reset demodulator
@@ -5461,6 +5610,7 @@ static int SetQAMStandard(struct drxk_state *state,
int status;
#endif
+ dprintk(1, "\n");
do {
/* added antenna switch */
SwitchAntennaToQAM(state);
@@ -5622,6 +5772,7 @@ static int WriteGPIO(struct drxk_state *state)
int status;
u16 value = 0;
+ dprintk(1, "\n");
do {
/* stop lock indicator process */
status = Write16_0(state, SCU_RAM_GPIO__A, SCU_RAM_GPIO_HW_LOCK_IND_DISABLE);
@@ -5665,6 +5816,7 @@ static int SwitchAntennaToQAM(struct drxk_state *state)
{
int status = -1;
+ dprintk(1, "\n");
if (state->m_AntennaSwitchDVBTDVBC != 0) {
if (state->m_GPIO != state->m_AntennaDVBC) {
state->m_GPIO = state->m_AntennaDVBC;
@@ -5678,6 +5830,7 @@ static int SwitchAntennaToDVBT(struct drxk_state *state)
{
int status = -1;
+ dprintk(1, "\n");
if (state->m_AntennaSwitchDVBTDVBC != 0) {
if (state->m_GPIO != state->m_AntennaDVBT) {
state->m_GPIO = state->m_AntennaDVBT;
@@ -5697,6 +5850,8 @@ static int PowerDownDevice(struct drxk_state *state)
/* ADC power down */
/* Power down device */
int status;
+
+ dprintk(1, "\n");
do {
if (state->m_bPDownOpenBridge) {
/* Open I2C bridge before power down of DRXK */
@@ -5732,6 +5887,8 @@ static int load_microcode(struct drxk_state *state, char *mc_name)
const struct firmware *fw = NULL;
int err = 0;
+ dprintk(1, "\n");
+
err = request_firmware(&fw, mc_name, state->i2c->dev.parent);
if (err < 0) {
printk(KERN_ERR
@@ -5751,6 +5908,7 @@ static int init_drxk(struct drxk_state *state)
enum DRXPowerMode powerMode = DRXK_POWER_DOWN_OFDM;
u16 driverVersion;
+ dprintk(1, "\n");
if ((state->m_DrxkState == DRXK_UNINITIALIZED)) {
do {
status = PowerUpDevice(state);
@@ -5945,6 +6103,7 @@ static void drxk_c_release(struct dvb_frontend *fe)
{
struct drxk_state *state = fe->demodulator_priv;
+ dprintk(1, "\n");
kfree(state);
}
@@ -5952,6 +6111,7 @@ static int drxk_c_init(struct dvb_frontend *fe)
{
struct drxk_state *state = fe->demodulator_priv;
+ dprintk(1, "\n");
if (mutex_trylock(&state->ctlock) == 0)
return -EBUSY;
SetOperationMode(state, OM_QAM_ITU_A);
@@ -5962,6 +6122,7 @@ static int drxk_c_sleep(struct dvb_frontend *fe)
{
struct drxk_state *state = fe->demodulator_priv;
+ dprintk(1, "\n");
ShutDown(state);
mutex_unlock(&state->ctlock);
return 0;
@@ -5971,7 +6132,7 @@ static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
{
struct drxk_state *state = fe->demodulator_priv;
- /* printk(KERN_DEBUG "drxk: drxk_gate %d\n", enable); */
+ dprintk(1, "%s\n", enable ? "enable" : "disable");
return ConfigureI2CBridge(state, enable ? true : false);
}
@@ -5981,6 +6142,7 @@ static int drxk_set_parameters(struct dvb_frontend *fe,
struct drxk_state *state = fe->demodulator_priv;
u32 IF;
+ dprintk(1, "\n");
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
if (fe->ops.tuner_ops.set_params)
@@ -5999,6 +6161,7 @@ static int drxk_set_parameters(struct dvb_frontend *fe,
static int drxk_c_get_frontend(struct dvb_frontend *fe,
struct dvb_frontend_parameters *p)
{
+ dprintk(1, "\n");
return 0;
}
@@ -6007,6 +6170,7 @@ static int drxk_read_status(struct dvb_frontend *fe, fe_status_t *status)
struct drxk_state *state = fe->demodulator_priv;
u32 stat;
+ dprintk(1, "\n");
*status = 0;
GetLockStatus(state, &stat, 0);
if (stat == MPEG_LOCK)
@@ -6020,6 +6184,8 @@ static int drxk_read_status(struct dvb_frontend *fe, fe_status_t *status)
static int drxk_read_ber(struct dvb_frontend *fe, u32 *ber)
{
+ dprintk(1, "\n");
+
*ber = 0;
return 0;
}
@@ -6030,6 +6196,7 @@ static int drxk_read_signal_strength(struct dvb_frontend *fe,
struct drxk_state *state = fe->demodulator_priv;
u32 val;
+ dprintk(1, "\n");
ReadIFAgc(state, &val);
*strength = val & 0xffff;
return 0;
@@ -6040,6 +6207,7 @@ static int drxk_read_snr(struct dvb_frontend *fe, u16 *snr)
struct drxk_state *state = fe->demodulator_priv;
s32 snr2;
+ dprintk(1, "\n");
GetSignalToNoise(state, &snr2);
*snr = snr2 & 0xffff;
return 0;
@@ -6050,6 +6218,7 @@ static int drxk_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
struct drxk_state *state = fe->demodulator_priv;
u16 err;
+ dprintk(1, "\n");
DVBTQAMGetAccPktErr(state, &err);
*ucblocks = (u32) err;
return 0;
@@ -6058,6 +6227,7 @@ static int drxk_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
static int drxk_c_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings
*sets)
{
+ dprintk(1, "\n");
sets->min_delay_ms = 3000;
sets->max_drift = 0;
sets->step_size = 0;
@@ -6069,7 +6239,7 @@ static void drxk_t_release(struct dvb_frontend *fe)
#if 0
struct drxk_state *state = fe->demodulator_priv;
- printk(KERN_DEBUG "drxk: %s\n", __func__);
+ dprintk(1, "\n");
kfree(state);
#endif
}
@@ -6077,6 +6247,8 @@ static void drxk_t_release(struct dvb_frontend *fe)
static int drxk_t_init(struct dvb_frontend *fe)
{
struct drxk_state *state = fe->demodulator_priv;
+
+ dprintk(1, "\n");
if (mutex_trylock(&state->ctlock) == 0)
return -EBUSY;
SetOperationMode(state, OM_DVBT);
@@ -6086,6 +6258,8 @@ static int drxk_t_init(struct dvb_frontend *fe)
static int drxk_t_sleep(struct dvb_frontend *fe)
{
struct drxk_state *state = fe->demodulator_priv;
+
+ dprintk(1, "\n");
mutex_unlock(&state->ctlock);
return 0;
}
@@ -6093,6 +6267,8 @@ static int drxk_t_sleep(struct dvb_frontend *fe)
static int drxk_t_get_frontend(struct dvb_frontend *fe,
struct dvb_frontend_parameters *p)
{
+ dprintk(1, "\n");
+
return 0;
}
@@ -6159,6 +6335,7 @@ struct dvb_frontend *drxk_attach(struct i2c_adapter *i2c, u8 adr,
{
struct drxk_state *state = NULL;
+ dprintk(1, "\n");
state = kzalloc(sizeof(struct drxk_state), GFP_KERNEL);
if (!state)
return NULL;