Re: [PATCH] arm64: dts: msm8916: Move smem below hwlock
From: Andy Gross
Date: Tue Feb 23 2016 - 14:04:08 EST
On Tue, Feb 23, 2016 at 08:47:56PM +0200, Georgi Djakov wrote:
> On 23.02.16 Ð. 19:29, Srinivas Kandagatla wrote:
> >
> >
> > On 23/02/16 17:21, Georgi Djakov wrote:
> >> 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.
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).
Regards,
Andy