From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A7CBCA9EA0 for ; Mon, 28 Oct 2019 09:23:37 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 240A021850 for ; Mon, 28 Oct 2019 09:23:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sBvjJBtE"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="Vm39gxsG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 240A021850 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:To:Subject:From: References:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=NQf5qoC/90UPc9905fYVxOoXXKZlH6oLoswLjqMluwk=; b=sBvjJBtEy3WS5v 0lP+WJ63cPfWkz592FvlXw2GuJe495CacjJa7kO3FBusJLH1g8cRiqFBCHomTMG9pN0kqy6sNb5bJ wNWZcS1040LyWNNh0qSLNu9s7Q8r0zxi4RODFQgZvgryrzhv5va85KL1f0Y0WyvZ1mTVnFWkKusXk eqVQQJVraw3q83Svls+4W0c4hmStks+y5ApH7sd8hlRvoWYNBcLZKrlDLqeSj/Dc1fJuVgXrf0+r5 DKZNSwpAI5y0p/VLb3oWj3KJo4xk5pP256gzeWd75BlOfLEZAakQ26fRIESKpWjy0U/qGz2xOWyLD B2eNhoSxkTqz6yLuE3kA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iP1FL-0006fT-3s; Mon, 28 Oct 2019 09:23:31 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iP1FI-0006eq-3C for linux-arm-kernel@lists.infradead.org; Mon, 28 Oct 2019 09:23:29 +0000 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 939C82184C; Mon, 28 Oct 2019 09:23:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572254607; bh=7vFP1rbJdmftvAdq7vGmkHKL0iF53uaF4eRXOlzf+wc=; h=In-Reply-To:References:Cc:From:Subject:To:Date:From; b=Vm39gxsGQSc0ZolbI/+HJzBWCVlLo+C5AijJxqcd/kROaCT1ffDNYwu6Spsl0bwkf c9+lySfEjCuFG3tvkXD3bl/De7YpF3ngkVFpK6GZ6UJsUggkSCTS7qzCGhfVIXPt7j qu/FIqkwHfOzJG+jBubs+SquX+xa0Emyhp6UAJqU= MIME-Version: 1.0 In-Reply-To: <20191018154201.1276638-35-arnd@arndb.de> References: <20191018154052.1276506-1-arnd@arndb.de> <20191018154201.1276638-35-arnd@arndb.de> From: Stephen Boyd Subject: Re: [PATCH 35/46] cpufreq: pxa3: move clk register access to clk driver To: Arnd Bergmann , Daniel Mack , Haojian Zhuang , Robert Jarzmik User-Agent: alot/0.8.1 Date: Mon, 28 Oct 2019 02:23:26 -0700 Message-Id: <20191028092327.939C82184C@mail.kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191028_022328_158179_66E81ED3 X-CRM114-Status: GOOD ( 14.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Arnd Bergmann , linux-pm@vger.kernel.org, Viresh Kumar , Michael Turquette , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Linus Walleij , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Quoting Arnd Bergmann (2019-10-18 08:41:50) > The driver needs some low-level register access for setting > the core and bus frequencies. These registers are owned > by the clk driver, so move the low-level access into that > driver with a slightly higher-level interface and avoid > any machine header file dependencies. > > Cc: Michael Turquette > Cc: Stephen Boyd > Cc: "Rafael J. Wysocki" > Cc: Viresh Kumar > Cc: linux-clk@vger.kernel.org > Cc: linux-pm@vger.kernel.org > Signed-off-by: Arnd Bergmann > diff --git a/drivers/clk/pxa/clk-pxa3xx.c b/drivers/clk/pxa/clk-pxa3xx.c > index 027b78183565..60a0db4f3790 100644 > --- a/drivers/clk/pxa/clk-pxa3xx.c > +++ b/drivers/clk/pxa/clk-pxa3xx.c > @@ -16,6 +16,7 @@ > #include > #include > #include > +#include > #include > > #include > @@ -79,6 +80,21 @@ unsigned int pxa3xx_get_clk_frequency_khz(int info) > return (unsigned int)clks[0] / KHz; > } > > +void pxa3xx_clk_update_accr(u32 disable, u32 enable, u32 xclkcfg, u32 mask) > +{ > + u32 accr = ACCR; > + > + accr &= ~disable; > + accr |= enable; > + > + ACCR = accr; > + if (xclkcfg) > + __asm__("mcr p14, 0, %0, c6, c0, 0\n" : : "r"(xclkcfg)); It's just a coprocessor instruction though? I don't see what this has to do with clks that we model in the kernel? Why can't it just be put in the cpufreq driver that calls it? > + > + while ((ACSR & mask) != (accr & mask)) > + cpu_relax(); > +} > + > static unsigned long clk_pxa3xx_ac97_get_rate(struct clk_hw *hw, > unsigned long parent_rate) > { _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel