Received: by 2002:a05:6520:4d:b0:139:a872:a4c9 with SMTP id i13csp2563627lkm; Mon, 20 Sep 2021 18:49:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJycnujWbFlnp++GKddyxpgFr3muMnZwFB6C3U5yt8IEO3JFonyyZL7sLlETrU+RtEQGe/2O X-Received: by 2002:a6b:5d19:: with SMTP id r25mr16526144iob.11.1632188840745; Mon, 20 Sep 2021 18:47:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632188840; cv=none; d=google.com; s=arc-20160816; b=IP033LwK7EQVEE7prZRRpAOmFWxYm6r/5G3Y3s7wp+MLfNapjvO77Oty8YEwmInLVE Ek/WJaffd203ocvmGTZmAH0tqbA9ndqFSWN956uCr2hvl11bZXcDSmulPDLnyAnpghL5 T+PfGG09qJ4MhbKWRwII2B1kF/fXQl52/vJKueOUSd7tnLwxwZIoAsYblqqCAvxQr22D hX7O4LWzNJgw1NjO6bSXgi0NIAzvtvSneJoGJOvXVsUrQCkYKE2cVMUWJti9scXVRGJo I5AtZq2l1taRgMYN08O5Y3pkbw/Ycw11gl+wualUi9aG/WUV0wgqUyvAnT7qRJYZxjoR qKYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ZY2DGT5ZUeQXCgsFbxVLfXPg3DaEnDZY7YrLLLR7VFs=; b=yJsszCNzrdKiyOdFpgXj3cBJrDRid1uDOsQjUP7d6WyOOyqU1zJQGc51QVLIc8uxB9 csrS+EyzTu3VflcNo/46bjRO0qrpzgU0wx80u6q/DLD5BFOw80aeE1k5XqceE+98sMnH keXmqQO1pRMVBfez0Kf3jrweydGZsLnPl4uUxgSPMJSSxFpffOV8nA1ZlZRdat0Zhaco o9IpZTNNnpPZACGm/Zt4FwPJ6SRLjNZgLbG0VT9YOSe+IwjA+TjcH89c1kujZf1XyZ5p QOQf5B3hRhAwg1H1xIVB488JNRQ4wCyIRZw7mYt6YDUKv34C+yGOofqWcv7v/HfCdj1A u/SQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=YGvz5BhN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e17si15813840iot.109.2021.09.20.18.47.09; Mon, 20 Sep 2021 18:47:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=YGvz5BhN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343993AbhITRXB (ORCPT + 99 others); Mon, 20 Sep 2021 13:23:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:46334 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347027AbhITRUv (ORCPT ); Mon, 20 Sep 2021 13:20:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 90AD06140F; Mon, 20 Sep 2021 17:00:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632157240; bh=R8SVc7jjCFfqYbEn86cu7/h+JZSJQokXW6RfvsCjOP8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YGvz5BhN+bFr9nm9qg7FTIK5gKjnT5+k4fu6HZNXFfyoIgP7fvN9lxoGMurR7K+z7 C5LVuZ6Cnl4aZHysevkF3bfykOFigeFpFXtTiiaNrDht3lgpF1X6I/8NIYbbBDhJdM pRZ2eVDXPWKX12vQpCI5Wn8mDDqot21X1tVv5fGg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hyun Kwon , Bharat Kumar Gogada , Michal Simek , Lorenzo Pieralisi Subject: [PATCH 4.14 118/217] PCI: xilinx-nwl: Enable the clock through CCF Date: Mon, 20 Sep 2021 18:42:19 +0200 Message-Id: <20210920163928.660419640@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210920163924.591371269@linuxfoundation.org> References: <20210920163924.591371269@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hyun Kwon commit de0a01f5296651d3a539f2d23d0db8f359483696 upstream. Enable PCIe reference clock. There is no remove function that's why this should be enough for simple operation. Normally this clock is enabled by default by firmware but there are usecases where this clock should be enabled by driver itself. It is also good that PCIe clock is recorded in a clock framework. Link: https://lore.kernel.org/r/ee6997a08fab582b1c6de05f8be184f3fe8d5357.1624618100.git.michal.simek@xilinx.com Fixes: ab597d35ef11 ("PCI: xilinx-nwl: Add support for Xilinx NWL PCIe Host Controller") Signed-off-by: Hyun Kwon Signed-off-by: Bharat Kumar Gogada Signed-off-by: Michal Simek Signed-off-by: Lorenzo Pieralisi Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/pci/host/pcie-xilinx-nwl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) --- a/drivers/pci/host/pcie-xilinx-nwl.c +++ b/drivers/pci/host/pcie-xilinx-nwl.c @@ -10,6 +10,7 @@ * (at your option) any later version. */ +#include #include #include #include @@ -171,6 +172,7 @@ struct nwl_pcie { u8 root_busno; struct nwl_msi msi; struct irq_domain *legacy_irq_domain; + struct clk *clk; raw_spinlock_t leg_mask_lock; }; @@ -852,6 +854,16 @@ static int nwl_pcie_probe(struct platfor return err; } + pcie->clk = devm_clk_get(dev, NULL); + if (IS_ERR(pcie->clk)) + return PTR_ERR(pcie->clk); + + err = clk_prepare_enable(pcie->clk); + if (err) { + dev_err(dev, "can't enable PCIe ref clock\n"); + return err; + } + err = nwl_pcie_bridge_init(pcie); if (err) { dev_err(dev, "HW Initialization failed\n");