Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp609578ybi; Fri, 7 Jun 2019 13:36:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqyuXhf5t/rdGgwwRDdBu+t5PJOd/7S5UTw2kmQ4n+tT3ct8UKNJI9/DpOX+6a1vzieeo0zh X-Received: by 2002:a17:90a:cd04:: with SMTP id d4mr8096454pju.128.1559939790140; Fri, 07 Jun 2019 13:36:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559939790; cv=none; d=google.com; s=arc-20160816; b=dkaP9z87hIwMDTGeGQaKic0gBlAfBVHUjL2YJWnrDgyiB5Ym+LnCCsvSH1AibxR2CP yKsdCFwp3oSiScYAg1AoKWvLcOuOgrMJkvgiLUttxgzmJ2FsSVE5A22lF+gaBaeyPD+5 GqmK5bNbc+kcMyswu+KRVNCuq1jJUhjk4gjq9scuAnAdvVW3fjsZWFkC2xEl6/JxMbnj wluMlcgqBA2wXOjbKhAtFjAwBuL97XjSvOBIgGhINn+KC2NfnjwOOEDXQnPPvcjpc7RI kUbZI4ADMOuWowjDHbtsvvyJtfucf9Wr7tV3yPmuZgPn6bTbUIXompxv1oYDBJSozap0 6Tnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:user-agent:cc:subject :from:to:references:in-reply-to:content-transfer-encoding :mime-version:dkim-signature; bh=qAHbQ6jt8D8WK3hAs2LvqLnO2ifugYNKbbsokmAzVM8=; b=KrzLnFwosCg4lJXKrez9/SsZH4pKWaeEjIO8K/gkFyTF5E0Gq7LKYebfffmoYaCfNr 7LJI5c412qaKq9hSAh/B0dXP32sF9E/EOZgwc5TFNnLIjxYoJZOrFLrHH6XwD3r0a9K9 pHrrrV23NrjN5zOmw4Si+Yt2s+0Pt3uN37tqNUwpNPqytH0fahIbHAoIf/bec+T8C3Gb 6TSUxXjLIHj3vei/xk3rOQQQq9L6pJa6vY1z4fI0tRbj49gAGQnAIQz5h3zDp94CJP+1 +90CuwnZzswAXJEOIsMl619dyQ3kHJyAq7qREzNr5/Zea+uO4V2EaKW8pZO8jeOihM+I xVxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hneegnMS; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g10si3022931pgh.472.2019.06.07.13.36.13; Fri, 07 Jun 2019 13:36:30 -0700 (PDT) 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=@kernel.org header.s=default header.b=hneegnMS; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730399AbfFGUcq (ORCPT + 99 others); Fri, 7 Jun 2019 16:32:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:51592 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729153AbfFGUcp (ORCPT ); Fri, 7 Jun 2019 16:32:45 -0400 Received: from kernel.org (unknown [104.132.0.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3AEA320868; Fri, 7 Jun 2019 20:32:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559939565; bh=IsE2IJdsZGaqWCpPROwVGWVorxRm+qBuCo827eUtuB0=; h=In-Reply-To:References:To:From:Subject:Cc:Date:From; b=hneegnMS89LEdao5CDCVOSzNbCs86nZbzNWGOk53kG++1nRsVPho2HWUeA1zQ5Lk+ LyU3rWIRmPjXkWYoEp2qdzgGneu0qoTGoiigMID0uwz6fkBQdYWtq3xkq+p2kIcYwL +DDCz9YtU78YVgtuHdllkfl7tGLqJvbnmgIUjwRI= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: References: <20190528164616.38517-1-jeffrey.l.hugo@gmail.com> <20190528164803.38642-1-jeffrey.l.hugo@gmail.com> <20190606230050.2F33720645@mail.kernel.org> To: Jeffrey Hugo From: Stephen Boyd Subject: Re: [PATCH 2/3] clk: qcom: Add MSM8998 GPU Clock Controller (GPUCC) driver Cc: Michael Turquette , Andy Gross , David Brown , Bjorn Andersson , Rob Herring , Mark Rutland , Marc Gonzalez , Jordan Crouse , MSM , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, lkml User-Agent: alot/0.8.1 Date: Fri, 07 Jun 2019 13:32:44 -0700 Message-Id: <20190607203245.3AEA320868@mail.kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Jeffrey Hugo (2019-06-07 07:08:46) >=20 > As you well know, XO is the root clock for pretty much everything on > Qualcomm platforms. We are trying to do things "properly" on 8998. > We are planning on having rpmcc manage it (see my other series), and I don't have the rpmcc series in my queue. I think it needs a resend? > all the other components consume xo from there. Unfortunately we > cannot control the probe order, particularly when things are built as > modules, so its possible gpucc might be the first thing to probe. > Currently, the clock framework will allow that since everything in > gpucc will just be an orphan. However that doesn't prevent gpucc > consumers from grabbing their clocks, and we've seen that cause > issues. >=20 > As you've previously explained, you have a ton of work to do to > refactor things so that a clock will probe defer if its dependencies > are not present. We'd prefer that functionality, but are not really > willing to wait for it. Thus, we are implementing the same > functionality in the driver until the framework handles it for us, at > which point we'll gladly rip this out. Can you add more to the comment? Right now it doesn't explain the _why_ part that you describe in the first paragraph here. That's what I'm asking to be put here as a comment. Also, GCC is the one exporting the XO clk on this platform so I'm a little lost why we're talking about rpm here. I guess I'm left to do the ton of work myself and get to have clk providers like this be clk consumers so that probe ordering is correct and clks aren't exposed until the whole parent chain exists. This is taking a step backwards and causes me to be sad. >=20 > > > > > + if (IS_ERR(xo)) > > > + return PTR_ERR(xo); > > > + clk_put(xo); > > > + > > > + regmap =3D qcom_cc_map(pdev, &gpucc_msm8998_desc); > > > + if (IS_ERR(regmap)) > > > + return PTR_ERR(regmap); > > > + > > > + /* force periph logic on to acoid perf counter corruption */ > > > > avoid? >=20 > Yes. Do you want a v3 with this fixed? Yes, please resend without the binding patch that I've already applied.