|
@@ -24,6 +24,7 @@
|
|
#include <linux/module.h>
|
|
#include <linux/module.h>
|
|
#include <linux/string.h>
|
|
#include <linux/string.h>
|
|
#include <linux/videodev2.h>
|
|
#include <linux/videodev2.h>
|
|
|
|
+#include <linux/gcd.h>
|
|
|
|
|
|
#include "mt2063.h"
|
|
#include "mt2063.h"
|
|
|
|
|
|
@@ -664,27 +665,6 @@ static u32 MT2063_ChooseFirstIF(struct MT2063_AvoidSpursData_t *pAS_Info)
|
|
return f_Center + (bestDiff * f_Step);
|
|
return f_Center + (bestDiff * f_Step);
|
|
}
|
|
}
|
|
|
|
|
|
-/**
|
|
|
|
- * gcd() - Uses Euclid's algorithm
|
|
|
|
- *
|
|
|
|
- * @u, @v: Unsigned values whose GCD is desired.
|
|
|
|
- *
|
|
|
|
- * Returns THE greatest common divisor of u and v, if either value is 0,
|
|
|
|
- * the other value is returned as the result.
|
|
|
|
- */
|
|
|
|
-static u32 MT2063_gcd(u32 u, u32 v)
|
|
|
|
-{
|
|
|
|
- u32 r;
|
|
|
|
-
|
|
|
|
- while (v != 0) {
|
|
|
|
- r = u % v;
|
|
|
|
- u = v;
|
|
|
|
- v = r;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return u;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* IsSpurInBand() - Checks to see if a spur will be present within the IF's
|
|
* IsSpurInBand() - Checks to see if a spur will be present within the IF's
|
|
* bandwidth. (fIFOut +/- fIFBW, -fIFOut +/- fIFBW)
|
|
* bandwidth. (fIFOut +/- fIFBW, -fIFOut +/- fIFBW)
|
|
@@ -731,12 +711,12 @@ static u32 IsSpurInBand(struct MT2063_AvoidSpursData_t *pAS_Info,
|
|
** of f_LO1, f_LO2 and the edge value. Use the larger of this
|
|
** of f_LO1, f_LO2 and the edge value. Use the larger of this
|
|
** gcd-based scale factor or f_Scale.
|
|
** gcd-based scale factor or f_Scale.
|
|
*/
|
|
*/
|
|
- lo_gcd = MT2063_gcd(f_LO1, f_LO2);
|
|
|
|
- gd_Scale = max((u32) MT2063_gcd(lo_gcd, d), f_Scale);
|
|
|
|
|
|
+ lo_gcd = gcd(f_LO1, f_LO2);
|
|
|
|
+ gd_Scale = max((u32) gcd(lo_gcd, d), f_Scale);
|
|
hgds = gd_Scale / 2;
|
|
hgds = gd_Scale / 2;
|
|
- gc_Scale = max((u32) MT2063_gcd(lo_gcd, c), f_Scale);
|
|
|
|
|
|
+ gc_Scale = max((u32) gcd(lo_gcd, c), f_Scale);
|
|
hgcs = gc_Scale / 2;
|
|
hgcs = gc_Scale / 2;
|
|
- gf_Scale = max((u32) MT2063_gcd(lo_gcd, f), f_Scale);
|
|
|
|
|
|
+ gf_Scale = max((u32) gcd(lo_gcd, f), f_Scale);
|
|
hgfs = gf_Scale / 2;
|
|
hgfs = gf_Scale / 2;
|
|
|
|
|
|
n0 = DIV_ROUND_UP(f_LO2 - d, f_LO1 - f_LO2);
|
|
n0 = DIV_ROUND_UP(f_LO2 - d, f_LO1 - f_LO2);
|