asiliantfb: fix test of unsigned in asiliant_calc_dclk2()
Ftarget, Fret, n and m are unsigned so the tests did not work. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Andres Salomon <dilinger@debian.org> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6e3e37a5a7
commit
0d3580d40c
|
@ -140,7 +140,7 @@ static void asiliant_calc_dclk2(u32 *ppixclock, u8 *dclk2_m, u8 *dclk2_n, u8 *dc
|
|||
|
||||
/* 3 <= m <= 257 */
|
||||
if (m >= 3 && m <= 257) {
|
||||
unsigned new_error = ((Ftarget * n) - (Fref * m)) >= 0 ?
|
||||
unsigned new_error = Ftarget * n >= Fref * m ?
|
||||
((Ftarget * n) - (Fref * m)) : ((Fref * m) - (Ftarget * n));
|
||||
if (new_error < best_error) {
|
||||
best_n = n;
|
||||
|
@ -152,7 +152,7 @@ static void asiliant_calc_dclk2(u32 *ppixclock, u8 *dclk2_m, u8 *dclk2_n, u8 *dc
|
|||
else if (m <= 1028) {
|
||||
/* remember there are still only 8-bits of precision in m, so
|
||||
* avoid over-optimistic error calculations */
|
||||
unsigned new_error = ((Ftarget * n) - (Fref * (m & ~3))) >= 0 ?
|
||||
unsigned new_error = Ftarget * n >= Fref * (m & ~3) ?
|
||||
((Ftarget * n) - (Fref * (m & ~3))) : ((Fref * (m & ~3)) - (Ftarget * n));
|
||||
if (new_error < best_error) {
|
||||
best_n = n;
|
||||
|
|
Loading…
Reference in a new issue