Thread (9 messages) 9 messages, 5 authors, 2016-02-24

Re: [PATCH] arm64: dts: msm8916: Move smem below hwlock

From: Georgi Djakov <hidden>
Date: 2016-02-24 10:31:56
Also in: linux-arm-msm, lkml

On 02/23/2016 09:03 PM, Andy Gross wrote:
On Tue, Feb 23, 2016 at 08:47:56PM +0200, Georgi Djakov wrote:
quoted
On 23.02.16 г. 19:29, Srinivas Kandagatla wrote:
quoted

On 23/02/16 17:21, Georgi Djakov wrote:
quoted
When the SMEM is probed it defers as it depends on the hardware lock, which
is not available yet. But the SMD bus and RPM regulators and clocks depend
on SMEM and they defer too. The problem with this is that the order of
registering the devices is not optimal and also we may end with messed
up serial console as the RPM clocks are not registered yet..
I noticed the same issue but was wondering why would we end up with messed up serial console?

Could you add more details on why serial console is messed up?

I thought, serial driver has nothing to do with the rpm clocks directly!
If we don't have the rpm clocks registered, the uart clock is an orphan
and when clk_get_rate() is called on orphan clocks it returns 0 as rate.
In our case the msm_serial driver calls clk_get_rate() and gets 0 rate
as the parent rpm clock has not registered yet. The result is that the
baudrate is set incorrectly.
This isn't a probe defer issue w/ the SMEM and hwspinlock.  That works properly.
Ok, agree.
This is an issue with the msm_serial either not probe deferring to wait for the
rpm clocks or not handling the case of the clk framework giving us a 'bogus'
clock.  Can we queue off the clk_get_rate being 0 to probe defer for the rpm
clocks? (although that is hacky).
The proper solution would be to handle this in the clock framework.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help