spi: sh-msiof: Avoid invalid clock generator parameters
commitc3ccf357c3d75bd2924e049b6a991f7c0c111068
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 5 Aug 2016 08:17:52 +0000 (5 10:17 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 5 Aug 2016 10:46:07 +0000 (5 11:46 +0100)
treeb445074c973c67ba990adb17b0810a3de9d00273
parentdec34e8b676e14d4df041e3335d6082b247b834e
spi: sh-msiof: Avoid invalid clock generator parameters

The conversion from a look-up table to a calculation for clock generator
parameters forgot to take into account that BRDV x 1/1 is valid only if
BRPS is x 1/1 or x 1/2, leading to undefined behavior (e.g. arbitrary
clock rates).

This limitation is documented for the MSIOF module in all supported
SH/R-Mobile and R-Car Gen2/Gen3 ARM SoCs.

Tested on r8a7791/koelsch and r8a7795/salvator-x.

Fixes: 65d5665bb260b034 ("spi: sh-msiof: Update calculation of frequency dividing")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-sh-msiof.c