mips: mt76x8: ddr_cal: Correct dqs_find_min/max implementations
authorStefan Roese <sr@denx.de>
Fri, 6 Mar 2020 14:14:05 +0000 (15:14 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Mon, 27 Apr 2020 18:30:13 +0000 (20:30 +0200)
commit04d21a93fa36e43f992ed224dc9615492c578ce2
tree763ff1c2e097c5a2bee2c17dd3f35c3e65ee2eed
parent112add362be04d085bd6b6a9d728242639404c21
mips: mt76x8: ddr_cal: Correct dqs_find_min/max implementations

The current implementations have some issues detecting the correct
values:

dqs_find_max() will return "last passing fieldval + 1" instead of
"last passing fieldval". Also it will return "maxval + 1" in the
case that all fieldvals are tested valid (without error).

dqs_find_min() will not test the "lowest" value because of using ">"
instead of ">=".

This patch now rewrites these functions to fix those issues. Also,
this patch uses the same approach of a for loop in both functions making
it easier to read and maintain.

Since the variables are integers now, we can use min()/max(), which
handles the wrap around case for fieldval=0: return (0 - 1).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Weijie Gao <weijie.gao@mediatek.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
arch/mips/mach-mtmips/ddr_cal.c