Hi Olivier !

 in your commit 28fafca78797b ("[media] DiB0090: misc improvements")

 with commit message:
      This patch adds several performance improvements and prepares the
      usage of firmware-based devices.

 it seems you changed the logic of an if/else in dib0090_tune() in a way
 that I do not understand:

-                 lo6 |= (1 << 2) | 2;
-         else
-                 lo6 |= (1 << 2) | 1;
+                 lo6 |= (1 << 2) | 2;    //SigmaDelta and Dither
+         else {
+                 if (state->identity.in_soc)
+                         lo6 |= (1 << 2) | 2;    //SigmaDelta and Dither
+                 else
+                         lo6 |= (1 << 2) | 2;    //SigmaDelta and Dither
+         }

 resulting in the current code-base of:

       if (Rest > 0) {
               if (state->config->analog_output)
                       lo6 |= (1 << 2) | 2;
               else {
                       if (state->identity.in_soc)
                               lo6 |= (1 << 2) | 2;
                       else
                               lo6 |= (1 << 2) | 2;
               }
               Den = 255;
       }

 The problem now is that the if and the else(if/else) are
 all the same and thus the conditions have no effect. Further
 the origninal code actually had different if/else - so I 
 wonder if this is a cut&past bug here ?

 With no knowlege of the device providing a patch makes
 no sense as it would just be guessing - in any case this looks 
 wrong (or atleast should have a comment if it actually is correct)

 What am I missing ?

thx!
hofrat


Reply via email to