Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp69509imu; Mon, 10 Dec 2018 16:19:17 -0800 (PST) X-Google-Smtp-Source: AFSGD/UWV5oCk4P4kHffAb5jV4s6Gv+ry4aK025dMfO1VhTzbNv4iQplTheIuOs/Mr9M8obj67b/ X-Received: by 2002:a65:4784:: with SMTP id e4mr12435291pgs.12.1544487557764; Mon, 10 Dec 2018 16:19:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544487557; cv=none; d=google.com; s=arc-20160816; b=e3GIkfOilR7nE6uJcMFU8vQ0VHU2uHPHvtPBfIin8yxRlYcta0JpenQHOJ8yG6jdtF kBW449392HZnTkkNS0IOb3vfOvyjbE+18KxcY+ftHw0uTwnOwToWhwTYNUgjukHgwVk0 x3rBfRNpnIbV5930yRaQP1G4x/5Yioa6500+UslRXer8YBmkqhdW7/42934A7KPS+p+b R7LuNXC8KI2nAZT7a9WkSOjIxlOb3Ayzhs7x+8DFsbR7lVJSZgXyUgHg88Id1GreA4FN H1ST5cRK+nl/2bPFdGZ5fj+KNkl8C6qcCm3bAdI2ssAMXkkNMHh3Djqryz9A1BF/ddbh wlxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dmarc-filter :dkim-signature:dkim-signature; bh=SgzUUJhkElmHp6ClDnClAw7l+Qf6wzzqbQ9xTC+WZrE=; b=Vg40kXKXFZ7NYrQg9armivvwUovtVS3Td+c5MXSviEKG4FKHtFIu/rWXqoPkwoa0zb FMk7d9Xfqox3gucv5fpfGa9kdXswyw15+8BW+ZoovvGMkTzrf5Wifj7jaOiaBvptNrHj a8bZ4+gbe2Rmgr8PUgpCEVZLH9fluDCI4c/KXt9w/gXq9ZEp/ejyhYLcoB2oZYBL5zTp Lx+Lnd4a7KxEfuxZPp3Mh7O8qd04P0FpZtdrCw8yDHRwkYYmFcIWBF7UNbM1uCWW1IX/ 7oPHm+gJ3Otok811j5Nlvi5UZnoiTBwvIuOo1odajkqj99Z4i4+UfJ2eQRcZUkW37XhG 43IA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=idCAOlDx; dkim=pass header.i=@codeaurora.org header.s=default header.b=Jj708hPt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f21si10467283pgv.111.2018.12.10.16.19.02; Mon, 10 Dec 2018 16:19:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=idCAOlDx; dkim=pass header.i=@codeaurora.org header.s=default header.b=Jj708hPt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729943AbeLJXKU (ORCPT + 99 others); Mon, 10 Dec 2018 18:10:20 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:60334 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726841AbeLJXKT (ORCPT ); Mon, 10 Dec 2018 18:10:19 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 0A69660A31; Mon, 10 Dec 2018 23:10:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544483418; bh=SdPYZLXYF6sL/n21+1M7MyrkeG9wEAeLtNRis04uznE=; h=Subject:From:To:Cc:References:Date:In-Reply-To:From; b=idCAOlDxLzeWST2uRTEPastEXbNg/i/QlAtTWSNhdK8+i3StKyzthdxWM1rCPVRY+ Tw9SKZk1kpZyBIoTfNzk0wB4bdorMKsuoZ8yxq/RQn1pc3Ra1/G6q+9Tjoz9O6E/O2 XG6jGM6S8qj6FvsO5ykSxsnMtDWDPQ+MpvBBuri8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED autolearn=no autolearn_force=no version=3.4.0 Received: from [10.226.60.81] (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jhugo@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 03377605BD; Mon, 10 Dec 2018 23:10:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544483416; bh=SdPYZLXYF6sL/n21+1M7MyrkeG9wEAeLtNRis04uznE=; h=Subject:From:To:Cc:References:Date:In-Reply-To:From; b=Jj708hPtEhFiXMkEFc579aN3UgSVEf33kZo8IB1lZhJ2OcG+KNkYMpiqZDxwCbeoO tQhaf8d2vznPAVw8S/Yl+sY+xjFjq1oyUPHgNva3EFCVIPiwD5oKxkqkicE4UpfD8n l4gblgg8fVHFS7G9TZyhZlQN7WYRR5G1WrgxfRkQ= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 03377605BD Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=jhugo@codeaurora.org Subject: Re: [PATCH v2] clk: qcom: smd: Add support for MSM8998 rpm clocks From: Jeffrey Hugo To: Marc Gonzalez , Michael Turquette , Stephen Boyd Cc: Bjorn Andersson , linux-clk , MSM , LKML References: <1544134310-10227-1-git-send-email-jhugo@codeaurora.org> <84c0fd53-98e9-ac41-f1ca-68ad6d676e9a@free.fr> <8b3702e8-3779-db5c-1777-94a6d97c1080@codeaurora.org> Message-ID: <4cb40564-a542-d86e-6887-9e3dbfb0fe49@codeaurora.org> Date: Mon, 10 Dec 2018 16:10:15 -0700 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <8b3702e8-3779-db5c-1777-94a6d97c1080@codeaurora.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/7/2018 8:13 AM, Jeffrey Hugo wrote: > On 12/7/2018 7:23 AM, Marc Gonzalez wrote: >> On 06/12/2018 23:11, Jeffrey Hugo wrote: >> >>> Add rpm smd clocks, PMIC and bus clocks which are required on MSM8998 >>> for clients to vote on. >>> >>> Signed-off-by: Jeffrey Hugo >>> --- >>> v2 >>> -fix compatible ordering nits per Stephen >>> >>>   .../devicetree/bindings/clock/qcom,rpmcc.txt       |  1 + >>>   drivers/clk/qcom/clk-smd-rpm.c                     | 62 >>> ++++++++++++++++++++++ >>>   include/dt-bindings/clock/qcom,rpmcc.h             |  6 +++ >>>   3 files changed, 69 insertions(+) >> >> Hmmm, my board seems to dislike this patch... it locks up for a while, >> then reboots. >> >> [    6.957289] ufshcd-qcom 1da4000.ufshc: ufshcd_query_flag: Sending >> flag query for idn 1 failed, err = -11 >> [    6.961233] ufshcd-qcom 1da4000.ufshc: ufshcd_query_flag_retry: >> failed with error -11, retries 2 >> [    6.970782] ufshcd-qcom 1da4000.ufshc: ufshcd_query_flag_retry: >> query attribute, opcode 6, idn 1, failed with error -11 after 3 retires >> [    6.979576] ufshcd-qcom 1da4000.ufshc: ufshcd_complete_dev_init >> setting fDeviceInit flag failed with error -11 >> [   23.432798] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: >> [   23.432884] rcu:     7-...0: (1 GPs behind) >> idle=6a2/1/0x4000000000000000 softirq=92/93 fqs=2626 >> [   23.437927] rcu:     (detected by 0, t=5252 jiffies, g=-819, q=112) >> [   23.446425] Task dump for CPU 7: >> [   23.452567] swapper/0       R  running task        0     1      0 >> 0x0000002a >> [   23.455806] Call trace: >> [   23.462872]  __switch_to+0x94/0xe0 >> [   23.465009]  _regmap_write+0x58/0xb0 >> [   23.468452]  _regmap_update_bits+0xf0/0x110 >> [   23.472186]  regmap_update_bits_base+0x60/0x90 >> [   23.476110]  clk_disable_regmap+0x34/0x40 >> [   23.480614]  clk_branch_toggle+0x108/0x1b0 >> [   23.484681]  clk_branch2_disable+0x18/0x20 >> [   23.488692]  clk_disable_unused_subtree+0xc4/0xe0 >> [   23.492761]  clk_disable_unused+0x3c/0x130 >> [   23.497535]  do_one_initcall+0x5c/0x180 >> [   23.501557]  kernel_init_freeable+0x198/0x244 >> [   23.505276]  kernel_init+0x10/0x110 >> [   23.509768]  ret_from_fork+0x10/0x20 >> >> /*** REBOOT ***/ >> Format: Log Type - Time(microsec) - Message - Optional Info >> Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic >> >> I need to check the ufs_reset pin and phy init seq before I can >> investigate >> this issue, but I wanted to send a report ASAP. >> > > Hmm.  I run with clk_ignore_unused.  I'm guessing that something was > defined that should be used eventually, but isn't used now, and so its > getting turned off when it probably shouldn't be. > > I'll try to repro on my end. > I think I figured this out. The issue appears to be with the mmssnoc_axi_rpm_clk that this patch defines. Removing that, and I do not observe a crash. This clock will eventually be needed for the multimedia subsystem (camera and the like). Marc, it would be good if you could comment out this clock to verify my observations translate to your setup. The problem occurs when the rpm driver, during probe, sends the active settings to the rpm. This causes the rpm to try to access the mmss over the relevant config noc, and results in an unclocked bus error, which is a fatal error. clk_ignore_unused avoids this issue because it leaves on the config noc clock defined in gcc - gcc_mmss_noc_cfg_ahb_clk I can see 3 workarounds to this issue - 1. comment out mmssnoc_axi_rpm_clk with an explanation to why, and leave this problem to whomever needs the clock in the future 2. add the CLK_IGNORE_UNUSED flag to gcc_mmss_noc_cfg_ahb_clk so prevent it from being disabled (aka a selective version of clk_ignore_unused) 3. add a prepare_enable call to gcc_mmss_noc_cfg_ahb_clk in the gcc probe, so that there is always one active consumer of the clock (this is what downstream does) Stephen, do you have a preference, or an alternative suggestion? -- Jeffrey Hugo Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.