From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755919AbcBXKb4 (ORCPT ); Wed, 24 Feb 2016 05:31:56 -0500 Received: from mail-wm0-f50.google.com ([74.125.82.50]:36219 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753487AbcBXKbv (ORCPT ); Wed, 24 Feb 2016 05:31:51 -0500 Subject: Re: [PATCH] arm64: dts: msm8916: Move smem below hwlock To: Andy Gross References: <1456248071-30547-1-git-send-email-georgi.djakov@linaro.org> <56CC970B.4080602@linaro.org> <56CCA95C.9070207@linaro.org> <20160223190356.GA17346@hector.attlocal.net> Cc: Srinivas Kandagatla , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org, mark.rutland@arm.com From: Georgi Djakov Message-ID: <56CD8694.1070009@linaro.org> Date: Wed, 24 Feb 2016 12:31:48 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20160223190356.GA17346@hector.attlocal.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.