[media] drxk: Fix the logic that selects between DVB-C annex A and C
authorMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 24 Jul 2011 12:11:36 +0000 (09:11 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 27 Jul 2011 20:56:04 +0000 (17:56 -0300)
Fix the DRX-K logic that selects between DVB-C annex A and C

Fix a typo where DVB-C annex type is set via setEnvParameters, but
the driver, uses, instead, setParamParameters[2].

While here, cleans up the code, fixing a bad identation at the fallback
code for other types of firmware, and put the multiple-line comments
into the Linux CodingStyle.

Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/drxk_hard.c

index 85332e83044752701e02599d42a32a6848e48f22..41b083820dae96ff726b1cca505ba7a8415bb85c 100644 (file)
@@ -5382,18 +5382,16 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz,
                  s32 tunerFreqOffset)
 {
        int status;
-       u8 parameterLen;
-       u16 setEnvParameters[5] = { 0, 0, 0, 0, 0 };
        u16 setParamParameters[4] = { 0, 0, 0, 0 };
        u16 cmdResult;
 
        dprintk(1, "\n");
        /*
-               STEP 1: reset demodulator
-               resets FEC DI and FEC RS
-               resets QAM block
-               resets SCU variables
-               */
+        * STEP 1: reset demodulator
+        *      resets FEC DI and FEC RS
+        *      resets QAM block
+        *      resets SCU variables
+        */
        status = write16(state, FEC_DI_COMM_EXEC__A, FEC_DI_COMM_EXEC_STOP);
        if (status < 0)
                goto error;
@@ -5405,23 +5403,14 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz,
                goto error;
 
        /*
-               STEP 2: configure demodulator
-               -set env
-               -set params; resets IQM,QAM,FEC HW; initializes some SCU variables
-               */
+        * STEP 2: configure demodulator
+        *      -set params; resets IQM,QAM,FEC HW; initializes some
+        *       SCU variables
+        */
        status = QAMSetSymbolrate(state);
        if (status < 0)
                goto error;
 
-       /* Env parameters */
-       setEnvParameters[2] = QAM_TOP_ANNEX_A;  /* Annex */
-       if (state->m_OperationMode == OM_QAM_ITU_C)
-               setEnvParameters[2] = QAM_TOP_ANNEX_C;  /* Annex */
-       setParamParameters[3] |= (QAM_MIRROR_AUTO_ON);
-       /* check for LOCKRANGE Extented */
-       /* setParamParameters[3] |= QAM_LOCKRANGE_NORMAL; */
-       parameterLen = 4;
-
        /* Set params */
        switch (state->param.u.qam.modulation) {
        case QAM_256:
@@ -5448,30 +5437,37 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz,
                goto error;
        setParamParameters[0] = state->m_Constellation; /* constellation     */
        setParamParameters[1] = DRXK_QAM_I12_J17;       /* interleave mode   */
+       if (state->m_OperationMode == OM_QAM_ITU_C)
+               setParamParameters[2] = QAM_TOP_ANNEX_C;
+       else
+               setParamParameters[2] = QAM_TOP_ANNEX_A;
+       setParamParameters[3] |= (QAM_MIRROR_AUTO_ON);
+       /* Env parameters */
+       /* check for LOCKRANGE Extented */
+       /* setParamParameters[3] |= QAM_LOCKRANGE_NORMAL; */
 
        status = scu_command(state, SCU_RAM_COMMAND_STANDARD_QAM | SCU_RAM_COMMAND_CMD_DEMOD_SET_PARAM, 4, setParamParameters, 1, &cmdResult);
        if (status < 0) {
                /* Fall-back to the simpler call */
-               setParamParameters[0] = QAM_TOP_ANNEX_A;
                if (state->m_OperationMode == OM_QAM_ITU_C)
-                       setEnvParameters[0] = QAM_TOP_ANNEX_C;  /* Annex */
+                       setParamParameters[0] = QAM_TOP_ANNEX_C;
                else
-                       setEnvParameters[0] = 0;
-
-               status = scu_command(state, SCU_RAM_COMMAND_STANDARD_QAM | SCU_RAM_COMMAND_CMD_DEMOD_SET_ENV, 1, setEnvParameters, 1, &cmdResult);
-       if (status < 0)
-               goto error;
+                       setParamParameters[0] = QAM_TOP_ANNEX_A;
+               status = scu_command(state, SCU_RAM_COMMAND_STANDARD_QAM | SCU_RAM_COMMAND_CMD_DEMOD_SET_ENV, 1, setParamParameters, 1, &cmdResult);
+               if (status < 0)
+                       goto error;
 
                setParamParameters[0] = state->m_Constellation; /* constellation     */
                setParamParameters[1] = DRXK_QAM_I12_J17;       /* interleave mode   */
-
                status = scu_command(state, SCU_RAM_COMMAND_STANDARD_QAM | SCU_RAM_COMMAND_CMD_DEMOD_SET_PARAM, 2, setParamParameters, 1, &cmdResult);
        }
        if (status < 0)
                goto error;
 
-       /* STEP 3: enable the system in a mode where the ADC provides valid signal
-               setup constellation independent registers */
+       /*
+        * STEP 3: enable the system in a mode where the ADC provides valid
+        * signal setup constellation independent registers
+        */
 #if 0
        status = SetFrequency(channel, tunerFreqOffset));
        if (status < 0)