Page MenuHomeFreeBSD

D26307.id76580.diff
No OneTemporary

D26307.id76580.diff

Index: sys/arm/allwinner/clkng/aw_clk_nm.c
===================================================================
--- sys/arm/allwinner/clkng/aw_clk_nm.c
+++ sys/arm/allwinner/clkng/aw_clk_nm.c
@@ -136,6 +136,12 @@
return (0);
}
+static inline uint64_t
+distance(uint64_t x, uint64_t y)
+{
+ return (x >= y ? x - y : y - x);
+}
+
static uint64_t
aw_clk_nm_find_best(struct aw_clk_nm_sc *sc, uint64_t fparent, uint64_t *fout,
uint32_t *factor_n, uint32_t *factor_m)
@@ -153,7 +159,7 @@
for (m = min_m; m <= max_m; ) {
for (n = min_n; n <= max_n; ) {
cur = fparent / n / m;
- if (abs(*fout - cur) < abs(*fout - best)) {
+ if (distance(*fout, cur) < distance(*fout, best)) {
best = cur;
*factor_n = n;
*factor_m = m;
@@ -196,7 +202,7 @@
clknode_get_freq(p_clk, &fparent);
cur = aw_clk_nm_find_best(sc, fparent, fout, &n, &m);
- if (abs((*fout - cur)) < abs((*fout - best))) {
+ if (distance(*fout, cur) < distance(*fout, best)) {
best = cur;
best_parent = p_idx;
best_n = n;

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 18, 8:40 PM (8 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25546024
Default Alt Text
D26307.id76580.diff (1 KB)

Event Timeline