[ resend with cc to spi-devel ... this patch was already seen there ]
On Monday 08 September 2008, David Brownell wrote:
> From: Peter Korsgaard <[EMAIL PROTECTED]>
>
> Commit a61f5345 (spi_mpc83xx clockrate fixes) broke clockrate
> calculation for low speeds. SPMODE_DIV16 should be set if the
> divider is higher than 64, not only if the divider gets clipped
> to 1024.
>
> Furthermore, the clipping check was off by a factor 16 as well.
>
> Signed-off-by: Peter Korsgaard <[EMAIL PROTECTED]>
> Signed-off-by: David Brownell <[EMAIL PROTECTED]>
> ---
> for 2.6.27 please ...
>
> drivers/spi/spi_mpc83xx.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> --- a/drivers/spi/spi_mpc83xx.c
> +++ b/drivers/spi/spi_mpc83xx.c
> @@ -267,16 +267,13 @@ int mpc83xx_spi_setup_transfer(struct sp
> cs->hw_mode |= SPMODE_LEN(bits_per_word);
>
> if ((mpc83xx_spi->spibrg / hz) > 64) {
> + cs->hw_mode |= SPMODE_DIV16;
> pm = mpc83xx_spi->spibrg / (hz * 64);
> if (pm > 16) {
> - cs->hw_mode |= SPMODE_DIV16;
> - pm /= 16;
> - if (pm > 16) {
> - dev_err(&spi->dev, "Requested speed is too "
> - "low: %d Hz. Will use %d Hz instead.\n",
> - hz, mpc83xx_spi->spibrg / 1024);
> - pm = 16;
> - }
> + dev_err(&spi->dev, "Requested speed is too "
> + "low: %d Hz. Will use %d Hz instead.\n",
> + hz, mpc83xx_spi->spibrg / 1024);
> + pm = 16;
> }
> } else
> pm = mpc83xx_spi->spibrg / (hz * 4);
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general