Received: by 10.223.185.116 with SMTP id b49csp3531343wrg; Tue, 13 Feb 2018 03:56:22 -0800 (PST) X-Google-Smtp-Source: AH8x227lyuvpW9y/FRvChh3NIJFpHtwCbgCXs3thf52bmzqKUNbxkt2MZhrWZTahN+EA4Khr1p64 X-Received: by 2002:a17:902:8342:: with SMTP id z2-v6mr453453pln.163.1518522982596; Tue, 13 Feb 2018 03:56:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518522982; cv=none; d=google.com; s=arc-20160816; b=mqG3BAw9ycUrBP8aOdUGCjt4+z8Mcz5akIClz3i0n1BnCET85IYtKW4+uJIkf0vF5T AtGtwGNGNjdbNry4ji0FWQjBF1fGaRRvB8zR/t7k0ihegBWKFTNAeXDvu1BlQymoTMzC Vmo+fnyPaskwU/OYBrrIahYKOE25iSWgZUlPRRlcTw9zwIoR8y/6xtZtDOWlaOhrJKXH 4nhJ80dNRTPEcGea8WqqquCPrLyRzZYRQz6XXKVvlld7GgZSkO2tLKVRk/G4Db80JUK9 GnVwPtL8UzxRNhLsljpr89OgUVYU4S1r/jGW9DDF2ygkf2ut3XzCcW2uF5U9O8lkQWaN wAYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:arc-authentication-results; bh=zDgSAfh80bQJduIxXl6cT3rQ/FlTKEMRyTcTgCwVL18=; b=XN0D2Bl5eMPlvboAdPNyDeNNGcE/yUiZSvAqJTR+nCMFZ0+DNvNpi71Moc1oNVALfH egWFcEmcSgUngUJ4ZPf1by+NxZ4zKUnO0wstjO5auqPz3w7PfJ9LIG1VVqmMi0Yq3VCQ D1J5NH05GwhI43DkY39BRx2PfDQDxVzhMpYL/Io6HJ1n/uHQDg1UbudXQURaPuX4p7Tm ry/XkyqYxJseq7L/e8AdPW8F4cIBBOZHg6dA1TaZYctq3mApDwPgJICizmxXfEBc7Kk+ iVmW5xr9eXAEIo2qi0roD2Ahh2qIuVKClAlonncTOJE4JfhJMQsnzmwdudTqbEhDf5Z3 6TwA== ARC-Authentication-Results: i=1; mx.google.com; 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 133si204304pfy.347.2018.02.13.03.56.07; Tue, 13 Feb 2018 03:56:22 -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; 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 S934840AbeBMLz1 (ORCPT + 99 others); Tue, 13 Feb 2018 06:55:27 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:50427 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934231AbeBMLzZ (ORCPT ); Tue, 13 Feb 2018 06:55:25 -0500 Received: by mail-wm0-f65.google.com with SMTP id f71so15509561wmf.0; Tue, 13 Feb 2018 03:55:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=zDgSAfh80bQJduIxXl6cT3rQ/FlTKEMRyTcTgCwVL18=; b=UnDPi1ZqQ4SX4NdFu9ba2kpdy/1OLwNrXT9A9nNYXG7SLk72CZ+jwH4rfXeyxTNg41 2bg4aPTkqr15fk7RgOIglY1aLgZkkWp1tRcsBjtUshNnao5R50BIeSUuR2+D5DtRyhmP d0jC4LXDEFqs7GZsyyKlFJIMwM81xhZSwT9jyEdFhYzElBJsD8hApiAU4CsIdIQ072rh fr0QKUXZJvqWwQIatFqJ1TpK6TsK89j9oPYwPT8bbBtMrdQqGJ8kKgFBNuivi+tRICiV zdr2Z7TX8261kB2MgIDawqx9ASmjzEXMpVWtdy1iDLhsbhSjuSU/Iy2HbTu/XUFO0qoI 1l+A== X-Gm-Message-State: APf1xPDeCxzKOzys5f1hZciOuWGPT2Gp/xnB1qCLAgiaYksPqv8ap40i Ds/8yWV2HEoeMYfeSweVdKu46Md/ X-Received: by 10.80.135.156 with SMTP id a28mr1810071eda.51.1518522924263; Tue, 13 Feb 2018 03:55:24 -0800 (PST) Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com. [74.125.82.53]) by smtp.gmail.com with ESMTPSA id a14sm1780640edn.93.2018.02.13.03.55.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 03:55:24 -0800 (PST) Received: by mail-wm0-f53.google.com with SMTP id f3so15570726wmc.1; Tue, 13 Feb 2018 03:55:23 -0800 (PST) X-Received: by 10.28.158.208 with SMTP id h199mr1082677wme.17.1518522923293; Tue, 13 Feb 2018 03:55:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.208.197 with HTTP; Tue, 13 Feb 2018 03:55:02 -0800 (PST) In-Reply-To: <9f7123d1-a14b-c51a-d7a8-63c58a3f83dd@gmail.com> References: <9f7123d1-a14b-c51a-d7a8-63c58a3f83dd@gmail.com> From: Chen-Yu Tsai Date: Tue, 13 Feb 2018 19:55:02 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: BUG: A31s Not booting anymore To: Philipp Rossak Cc: linux-sunxi , Maxime Ripard , linux-kernel , linux-arm-kernel , linux-clk Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 13, 2018 at 7:32 PM, Philipp Rossak wrote: > > > On 13.02.2018 03:59, Chen-Yu Tsai wrote: >> >> On Tue, Feb 13, 2018 at 9:25 AM, Philipp Rossak wrote: >>> >>> >>> >>> On 12.02.2018 19:21, Philipp Rossak wrote: >>>> >>>> >>>> Hey, >>>> >>>> When I try to boot my A31s (Bananapi M2) u-boot is showing only Starting >>>> kernel ... . After enabling the earlyprintk I could capture this log: >>>> [1]. >>>> >>>> After reverting those 5 commits from Chen-Yu I was able to boot again: >>>> >>>> >>>> clk: sunxi-ng: Support fixed post-dividers on NM style clocks >>>> 7d333ef1cc1b8c8951f3a2c41f6406e2295d8be9 >>>> >>>> clk: sunxi-ng: sun8i: a83t: Add /2 fixed post divider to audio PLL >>>> 10e6eb4f2c5b35ae71c9bc0db83d74238719b453 >>>> >>>> clk: sunxi-ng: sun8i: a83t: Use sigma-delta modulation for audio PLL >>>> e952ca3c6b2ffdfbf9618e4bd3e9aad1ff3f5eb4 >>>> >>>> clk: sunxi-ng: Support fixed post-dividers on MP style clocks >>>> 946797aa3f08e2f6f5992f3ec2be44791e9b9260 >>>> >>>> clk: sunxi-ng: sun50i: a64: Add 2x fixed post-divider to MMC module >>>> clocks >>>> 83fe3be4d1974f5f50c5e2039a1609f4960e8579 >>>> >>>> >>>> I allready tried to fix it with making them save against zero: >>>> >>>> if (cmp->common.features & CCU_FEATURE_FIXED_POSTDIV && \ >>>> cmp->fixed_post_div with) >>>> rate *= cmp->fixed_post_div; >>>> >>>> But that didn't help. >>>> >>>> Any ideas? >>>> >>>> Regards, >>>> Philipp >>>> >>>> [1]: https://pastebin.com/64Fzzqvg >>> >>> >>> >>> It took me some time, but I have now a few more infos: >>> >>> Right now the code breaks at this point here [1], with this clock [2]. >>> If we have a look now at the clock config [3], we see here a table which >>> is >>> an u8 array and also a fixed_predivs struct. >> >> >> The u8 array is for mapping the parents from the index in the parents >> array to the actual register value you listed below. >> >> How are you figuring out which clock is triggering this? Because that >> is not even the right type of clock. The backtrace you posted shows >> the error occurring in a DIV or M type clock, not the MP type you >> are pointing to. >> >> Could you add some noisy printk calls to the sunxi_ccu_probe() >> function in drivers/clk/sunxi-ng/ccu_common.c so it's much clearer >> which clock is failing? > > > Thats what I basically did to find out which clock is failing. This here are > the changes I'm doing [1] and thats the dirty log [2]. It fails at clock NR > 155 which is this one [3] mentioned before. > >> >> >>> >>> If we have a look at the function call where it breaks [4], shouldn't the >>> table be a clk_div_table struct instead of an u8? >> >> >> The table argument is an option. Did you go through how the sunxi-ng >> driver >> calls this function? As mentioned above, you are looking at the wrong >> thing. >> >> Thanks >> ChenYu > > > I followed the failing call to this function (through the clock driver). As > you can see I added an additional printk statement to see where it fails. I found the problem... wrong ops for the clock type. Likely a copy-paste error on my part. I'll send a patch later. Sorry for being so harsh on you. ChenYu > Regards, > Philipp > >> >>> >>> The a31s is the only board where we have this combination of a >>> fixed_predivs >>> and a table. >>> >>> Philipp >>> >>> >>> Related Clock source register A31s: >>> >>> 0000: OSC24MHz/750=32KHz >>> 0001: LOSC >>> 0010: OSC24MHz >>> 0011: / >>> 0100: / >>> 0101: / >>> 0110: / >>> 0111: / >>> 1000: / >>> 1001: / >>> 1010: / >>> 1011: AXICLK/4 >>> 1100: / >>> 1101: AHB1CLK/4 >>> 1110: / >>> 1111: / >>> >>> >>> [1]: >>> >>> http://lxr.bootlin.com/linux/v4.16-rc1/source/drivers/clk/clk-divider.c#L89 >>> >>> [2]: >>> >>> http://lxr.bootlin.com/linux/v4.16-rc1/source/drivers/clk/sunxi-ng/ccu-sun6i-a31.c#L1137 >>> >>> [3]: >>> >>> http://lxr.bootlin.com/linux/v4.16-rc1/source/drivers/clk/sunxi-ng/ccu-sun6i-a31.c#L749 >>> >>> [4]: >>> >>> http://lxr.bootlin.com/linux/v4.16-rc1/source/drivers/clk/clk-divider.c#L93 >>> > > [1]: https://pastebin.com/tvDunAWq > [2]: https://pastebin.com/SBn2VQLu > [3]: > http://lxr.bootlin.com/linux/v4.16-rc1/source/include/dt-bindings/clock/sun6i-a31-ccu.h#L187