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

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

 



On 02/23/2016 09:03 PM, Andy Gross wrote:
> 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.

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.

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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux