|
@@ -1847,6 +1847,7 @@ static int SetOperationMode(struct drxk_state *state,
|
|
|
*/
|
|
|
switch (oMode) {
|
|
|
case OM_DVBT:
|
|
|
+ dprintk(1, ": DVB-T\n");
|
|
|
state->m_OperationMode = oMode;
|
|
|
status = SetDVBTStandard(state, oMode);
|
|
|
if (status < 0)
|
|
@@ -1854,6 +1855,8 @@ static int SetOperationMode(struct drxk_state *state,
|
|
|
break;
|
|
|
case OM_QAM_ITU_A: /* fallthrough */
|
|
|
case OM_QAM_ITU_C:
|
|
|
+ dprintk(1, ": DVB-C Annex %c\n",
|
|
|
+ (state->m_OperationMode == OM_QAM_ITU_A) ? 'A' : 'C');
|
|
|
state->m_OperationMode = oMode;
|
|
|
status = SetQAMStandard(state, oMode);
|
|
|
if (status < 0)
|
|
@@ -6183,7 +6186,10 @@ static int drxk_c_init(struct dvb_frontend *fe)
|
|
|
dprintk(1, "\n");
|
|
|
if (mutex_trylock(&state->ctlock) == 0)
|
|
|
return -EBUSY;
|
|
|
- SetOperationMode(state, OM_QAM_ITU_A);
|
|
|
+ if (state->m_itut_annex_c)
|
|
|
+ SetOperationMode(state, OM_QAM_ITU_C);
|
|
|
+ else
|
|
|
+ SetOperationMode(state, OM_QAM_ITU_A);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -6219,12 +6225,11 @@ static int drxk_set_parameters(struct dvb_frontend *fe,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- if (state->m_OperationMode == OM_QAM_ITU_A ||
|
|
|
- state->m_OperationMode == OM_QAM_ITU_C) {
|
|
|
+ if (fe->ops.info.type == FE_QAM) {
|
|
|
if (fe->dtv_property_cache.rolloff == ROLLOFF_13)
|
|
|
- state->m_OperationMode = OM_QAM_ITU_C;
|
|
|
+ state->m_itut_annex_c = true;
|
|
|
else
|
|
|
- state->m_OperationMode = OM_QAM_ITU_A;
|
|
|
+ state->m_itut_annex_c = false;
|
|
|
}
|
|
|
|
|
|
if (fe->ops.i2c_gate_ctrl)
|