Loading drivers/media/dvb/frontends/drxk_hard.c +81 −84 Original line number Diff line number Diff line Loading @@ -1806,7 +1806,10 @@ static int SetOperationMode(struct drxk_state *state, if (status < 0) goto error; if (state->m_OperationMode != oMode) { /* Device is already at the required mode */ if (state->m_OperationMode == oMode) return 0; switch (state->m_OperationMode) { /* OM_NONE was added for start up */ case OM_NONE: Loading Loading @@ -1857,7 +1860,6 @@ static int SetOperationMode(struct drxk_state *state, default: status = -EINVAL; } } error: if (status < 0) printk(KERN_ERR "drxk: Error %d on %s\n", status, __func__); Loading Loading @@ -3086,7 +3088,14 @@ static int InitAGC(struct drxk_state *state, bool isDTV) clpCyclen = 500; clpSumMax = 1023; if (IsQAM(state)) { /* AGCInit() not available for DVBT; init done in microcode */ if (!IsQAM(state)) { printk(KERN_ERR "drxk: %s: mode %d is not DVB-C\n", __func__, state->m_OperationMode); return -EINVAL; } /* FIXME: Analog TV AGC require different settings */ /* Standard specific settings */ clpSumMin = 8; clpDirTo = (u16) -9; Loading @@ -3094,27 +3103,13 @@ static int InitAGC(struct drxk_state *state, bool isDTV) snsSumMin = 8; snsDirTo = (u16) -9; kiInnergainMin = (u16) -1030; } else { status = -EINVAL; goto error; } if (IsQAM(state)) { ifIaccuHiTgtMax = 0x2380; ifIaccuHiTgt = 0x2380; ingainTgtMin = 0x0511; ingainTgt = 0x0511; ingainTgtMax = 5119; fastClpCtrlDelay = state->m_qamIfAgcCfg.FastClipCtrlDelay; } else { ifIaccuHiTgtMax = 0x1200; ifIaccuHiTgt = 0x1200; ingainTgtMin = 13424; ingainTgt = 13424; ingainTgtMax = 30000; fastClpCtrlDelay = state->m_dvbtIfAgcCfg.FastClipCtrlDelay; } fastClpCtrlDelay = state->m_qamIfAgcCfg.FastClipCtrlDelay; status = write16(state, SCU_RAM_AGC_FAST_CLP_CTRL_DELAY__A, fastClpCtrlDelay); if (status < 0) goto error; Loading Loading @@ -3238,13 +3233,13 @@ static int InitAGC(struct drxk_state *state, bool isDTV) status = read16(state, SCU_RAM_AGC_KI__A, &data); if (status < 0) goto error; if (IsQAM(state)) { data = 0x0657; data &= ~SCU_RAM_AGC_KI_RF__M; data |= (DRXK_KI_RAGC_QAM << SCU_RAM_AGC_KI_RF__B); data &= ~SCU_RAM_AGC_KI_IF__M; data |= (DRXK_KI_IAGC_QAM << SCU_RAM_AGC_KI_IF__B); } status = write16(state, SCU_RAM_AGC_KI__A, data); error: if (status < 0) Loading Loading @@ -5627,6 +5622,8 @@ static int SetQAMStandard(struct drxk_state *state, #undef DRXK_QAMA_TAPS_SELECT #endif dprintk(1, "\n"); /* added antenna switch */ SwitchAntennaToQAM(state); Loading Loading
drivers/media/dvb/frontends/drxk_hard.c +81 −84 Original line number Diff line number Diff line Loading @@ -1806,7 +1806,10 @@ static int SetOperationMode(struct drxk_state *state, if (status < 0) goto error; if (state->m_OperationMode != oMode) { /* Device is already at the required mode */ if (state->m_OperationMode == oMode) return 0; switch (state->m_OperationMode) { /* OM_NONE was added for start up */ case OM_NONE: Loading Loading @@ -1857,7 +1860,6 @@ static int SetOperationMode(struct drxk_state *state, default: status = -EINVAL; } } error: if (status < 0) printk(KERN_ERR "drxk: Error %d on %s\n", status, __func__); Loading Loading @@ -3086,7 +3088,14 @@ static int InitAGC(struct drxk_state *state, bool isDTV) clpCyclen = 500; clpSumMax = 1023; if (IsQAM(state)) { /* AGCInit() not available for DVBT; init done in microcode */ if (!IsQAM(state)) { printk(KERN_ERR "drxk: %s: mode %d is not DVB-C\n", __func__, state->m_OperationMode); return -EINVAL; } /* FIXME: Analog TV AGC require different settings */ /* Standard specific settings */ clpSumMin = 8; clpDirTo = (u16) -9; Loading @@ -3094,27 +3103,13 @@ static int InitAGC(struct drxk_state *state, bool isDTV) snsSumMin = 8; snsDirTo = (u16) -9; kiInnergainMin = (u16) -1030; } else { status = -EINVAL; goto error; } if (IsQAM(state)) { ifIaccuHiTgtMax = 0x2380; ifIaccuHiTgt = 0x2380; ingainTgtMin = 0x0511; ingainTgt = 0x0511; ingainTgtMax = 5119; fastClpCtrlDelay = state->m_qamIfAgcCfg.FastClipCtrlDelay; } else { ifIaccuHiTgtMax = 0x1200; ifIaccuHiTgt = 0x1200; ingainTgtMin = 13424; ingainTgt = 13424; ingainTgtMax = 30000; fastClpCtrlDelay = state->m_dvbtIfAgcCfg.FastClipCtrlDelay; } fastClpCtrlDelay = state->m_qamIfAgcCfg.FastClipCtrlDelay; status = write16(state, SCU_RAM_AGC_FAST_CLP_CTRL_DELAY__A, fastClpCtrlDelay); if (status < 0) goto error; Loading Loading @@ -3238,13 +3233,13 @@ static int InitAGC(struct drxk_state *state, bool isDTV) status = read16(state, SCU_RAM_AGC_KI__A, &data); if (status < 0) goto error; if (IsQAM(state)) { data = 0x0657; data &= ~SCU_RAM_AGC_KI_RF__M; data |= (DRXK_KI_RAGC_QAM << SCU_RAM_AGC_KI_RF__B); data &= ~SCU_RAM_AGC_KI_IF__M; data |= (DRXK_KI_IAGC_QAM << SCU_RAM_AGC_KI_IF__B); } status = write16(state, SCU_RAM_AGC_KI__A, data); error: if (status < 0) Loading Loading @@ -5627,6 +5622,8 @@ static int SetQAMStandard(struct drxk_state *state, #undef DRXK_QAMA_TAPS_SELECT #endif dprintk(1, "\n"); /* added antenna switch */ SwitchAntennaToQAM(state); Loading