From patchwork Mon Jul 10 20:38:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlo Caione X-Patchwork-Id: 9833753 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 47B40602A0 for ; Mon, 10 Jul 2017 20:38:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2E51E26AE3 for ; Mon, 10 Jul 2017 20:38:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 22AB32853B; Mon, 10 Jul 2017 20:38:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6206026AE3 for ; Mon, 10 Jul 2017 20:38:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753497AbdGJUiL (ORCPT ); Mon, 10 Jul 2017 16:38:11 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:33793 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752158AbdGJUiK (ORCPT ); Mon, 10 Jul 2017 16:38:10 -0400 Received: by mail-wr0-f193.google.com with SMTP id k67so27347298wrc.1 for ; Mon, 10 Jul 2017 13:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=scG+f5TR5jkZIJ4WexjOgoppZysFUqUTnyAmB9oukLA=; b=tW7W5FBolVgN9Wesii63kvr3xNIX4f8YDPc1YlykCsAC5vzLbFnbU7pdySdOlPkiPv feGJeiBQgT1BriU9VYMsoHWbl9llMlnTFjU8C+x89d6FdVbtyRIHVocAWNa/M1WsrA39 T0VN2tog+1jj5KBn7H0ekvkBlgQUJl9lOaqO5+GtIrzkYjm3GRIjbhXo7uE3iZnYTOPG bHHBxLdGpt7+s42mMx4yw3ZmYOQMJWgcEkOR2G0tuqEeDdQRvBX1mgs5qDaITg79kraf i9EvZQB59v2TMS80TsN3c5Mp5DPQseFhGNvpEezS0KSDjbu4KkTuKsGfoX1GAHcPqFFv hFBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=scG+f5TR5jkZIJ4WexjOgoppZysFUqUTnyAmB9oukLA=; b=m/T6w+AtPMxsrL6vw3ywxkUBEYolikfRv5swWw7f6hYNKVIPDwENuNX8bNC6nKC9dm nySf5RWJnGB0ZMB1X8Roi5FlTpPvdtdFBkSNnckMszqDjSZ6QH4uXmP8vqO5QTqIoiZC dx/oR/7rM5OJT62X29Z/DAYB673x4H71THcFJGrYguti3lj2cf5DI1Nv9iJJICzzZqOS jLmt4xeNSHx1Xcyb9x39dyIAdryQ1byiVVwRSxTkZ5mIDFUZ7tEZgJuQXh/jiEMrLXtD zlez8iFMVn6zlC8p49of2qRUsNE+8IbO/28IjKgqx3P+e+zFtY8ylXs3lpnqflZSElgw HZ1Q== X-Gm-Message-State: AIVw111/XouNZL2ZgFTcpj7AARRkryv5P6a1zYiz2mLPB2wrNKBKzEi6 e9iSeSiGPRYa6Q== X-Received: by 10.223.128.80 with SMTP id 74mr9311688wrk.9.1499719089316; Mon, 10 Jul 2017 13:38:09 -0700 (PDT) Received: from mephisto.homenet.telecomitalia.it (host77-49-dynamic.2-87-r.retail.telecomitalia.it. [87.2.49.77]) by smtp.gmail.com with ESMTPSA id y100sm12673181wmh.7.2017.07.10.13.38.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Jul 2017 13:38:07 -0700 (PDT) From: Carlo Caione To: mturquette@baylibre.com, linux-clk@vger.kernel.org, dvhart@infradead.org, pierre-louis.bossart@linux.intel.com, sboyd@codeaurora.org, linux@endlessm.com, eballetbo@gmail.com, andriy.shevchenko@linux.intel.com Cc: Carlo Caione Subject: [PATCH] clk: x86: Do not gate clocks enabled by the firmware Date: Mon, 10 Jul 2017 22:38:01 +0200 Message-Id: <20170710203801.17496-1-carlo@caione.org> X-Mailer: git-send-email 2.13.2 Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Carlo Caione Read the enable register to determine if the clock is already in use by the firmware. In this case avoid gating the clock. Signed-off-by: Carlo Caione Tested-by: Enric Balletbo i Serra --- drivers/clk/x86/clk-pmc-atom.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/x86/clk-pmc-atom.c b/drivers/clk/x86/clk-pmc-atom.c index 2b60577703ef..46a8b6216fca 100644 --- a/drivers/clk/x86/clk-pmc-atom.c +++ b/drivers/clk/x86/clk-pmc-atom.c @@ -185,6 +185,9 @@ static struct clk_plt *plt_clk_register(struct platform_device *pdev, int id, pclk->reg = base + PMC_CLK_CTL_OFFSET + id * PMC_CLK_CTL_SIZE; spin_lock_init(&pclk->lock); + if (plt_clk_is_enabled(&pclk->hw)) + init.flags |= CLK_IGNORE_UNUSED; + ret = devm_clk_hw_register(&pdev->dev, &pclk->hw); if (ret) { pclk = ERR_PTR(ret);