Re: 3.15.4 runs *significantly* slower than 3.15.3 on iMX233 CPU

From: Geert Uytterhoeven
Date: Mon Jul 07 2014 - 16:37:27 EST


On Mon, Jul 7, 2014 at 9:55 PM, Manuel Reimer
<Manuel.Spam@xxxxxxxxxxxxxx> wrote:
> On 07/07/2014 09:42 PM, Guenter Roeck wrote:
>>>
>>> I tracked the problem down to the following patch:
>>>
>>>
>>> diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts
>>> b/arch/arm/boot/dts/imx23-olinuxino.dts
>>> index d107c4a..993da2e 100644
>>> --- a/arch/arm/boot/dts/imx23-olinuxino.dts
>>> +++ b/arch/arm/boot/dts/imx23-olinuxino.dts
>>> @@ -64,7 +64,14 @@
>>> compatible = "fsl,imx23-spi";
>>> pinctrl-names = "default";
>>> pinctrl-0 = <&spi2_pins_a>;
>>> + clock-frequency = <1000000>;
>>
>>
>> If I understand the code correctly, that means you reduce the access speed
>> for SPI flashes from 160 MHz down to 1 MHz.
>>
>> If so, and if your system loads anything from a SPI flash, I would not be
>> too
>> surprised that your system is now a bit on the slow side.
>
>
> The iMX233 has two separate SPI connections. The first one is used to
> connect to the SD card where the system boots from and the second one is the
> one I plan to use. The idea was to only set clock frequency for the SPI bus,
> I want to use to connect to external devices. The "SD SPI" has to run with
> "full speed". So where is the mistake...

drivers/spi/spi-mxs.c:mxs_spi_probe()

ret = of_property_read_u32(np, "clock-frequency",
&clk_freq);
if (ret)
clk_freq = clk_freq_default;

...

ret = clk_prepare_enable(ssp->clk);

Any chance the clocks are shared, so this changes the rate for the
shared clock, affecting both SPI connections?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/