Re: Problem with the clock framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Matthias Klein | 2013-07-11 05:51:03 [+0000]:

> Hello,
Hi Mathias,

>disabled. I tried to use the linux clock framework
>with clk_get() and clk_enable() to enable these clocks. Basically it
>works, but a lot of transmissions get discontinuous:
>after the first 32 bit the SPI clock stops, with a low chip select
>line, and after some milliseconds the remaining bits are transmitted.

Is this -RT releated or do you see the same kind of problem without -RT?
If so you might want to try the arm/spi mailing list.

>It I use the following code to enable these clocks instead of
>clock_enable() everything works:
>
> volatile unsigned int *v_adr = 0;
> v_adr = ioremap_nocache(0x53FD4078, 4); // CCM Clock Gating Register
>4 (CCM_CCGR4)
> *v_adr |= 0xF << 18; // Enable CG9 + CG10
> iounmap(v_adr);
>
>For me it looks like that some type of power managment disables the
>ECSPI clock periodically.
>
>Is there a default behavior for power managment and these clocks, or
>does it depend on the board specific implementation ?

If the driver is using runtime_pm then it might "put" the device which
in turn might disable clocks. This often does not happen right away but
after a while to avoid frequent enable/disable of the device.

>Can you give me some tips for analyze the problem ?

Enable debugging under kernel hacking and maybe some locking / sleeping
while atomic message pop up.

>Best regards,
>
>Matthias

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux