Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1899640pxb; Thu, 16 Sep 2021 19:33:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzBxaSEbShfO3sRjBVB9eTgkk8Jfx00rtns6RC8Z2afd5dOvPTwP+jJT01idLBYaEx5FV/W X-Received: by 2002:a5d:84d2:: with SMTP id z18mr4992814ior.52.1631846011417; Thu, 16 Sep 2021 19:33:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631846011; cv=none; d=google.com; s=arc-20160816; b=Ob4qgrloe/q50A/wcCf3R7lyB9WrgMgTtFXohcVBEAvQ1sUFda3tTiWW3I0jVqmmx6 w0dlVO0zGw2bHxG2Rgni0SNPC27LwnpTAvn9Zj8WvhmUFIJ5p6QO+B59AJTaPfRp9YsK Ura0CDKNnM1DXgw8kVr70A7IkSGb/lIktFctWamkZ+kVHaFy4GDagSFu0qiDQAZPgnF+ jjDE/6LtaDwdQql8xz0MiTHhUILyqg6nytHejAOSnWDA+NVoCw4sbgi6tSw/CadXtJyO ofDAVqHejdCpYbb4AuObK1f1zBj3jmhwfC6pkh8Z7QhFqFLOzbYRBAOvN99vz42FxVrZ v3QA== 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=xM3NS1qu2nbFrBB522uA5SSidC90e211gIbNXaYeZwE=; b=PZqmZ4EV7xUv8g72Lm2J+5r8X+4StB/Ze5q3FbL60ZhTMP87HSxjp7Tmyfj0grpa4c mWmcDKkZ/izokoZY/6XR1D4rEJzvncx/HhpZIETPPTNrkvvVBl2WqFn06dqb41PG9yVH gos4Uc8AM1b0hxd82yaEhWxBHe+ErUNEjgeapuaiyqeBTDtwXWXmqJckhy/P5z9E9Bgp MrvOcAhvJ5I2c2zpRNcTK2AIzpic++1ul0sDKuaMULMHoZQDmCwECphZUPPGRYmzJ3tb Zr0SPtaOakgr++FwUhVZOyuq6qGWppO1ZO9bnh7ufrGgbiy53WTFirExEwyaPoLIknmm SIrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wlpRyOBO; 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 q2si4140624jac.2.2021.09.16.19.33.12; Thu, 16 Sep 2021 19:33:31 -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=wlpRyOBO; 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 S242838AbhIPRRP (ORCPT + 99 others); Thu, 16 Sep 2021 13:17:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:35946 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350462AbhIPRJy (ORCPT ); Thu, 16 Sep 2021 13:09:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9BB0461B4C; Thu, 16 Sep 2021 16:37:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631810236; bh=/ErntHcaJEsQ56aHKC6PQIMx9WCJFdbHYVtmhwh7Cw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wlpRyOBOcFDmuijRW2WwL8y0YfMPWO9qjrvYFJAOrvLBr1RlvpHaCEEWl7XcGHbbo yJSZUTyV1K7czEJJObJAk2g0grhhaQHHoXjAcTlOfPlrrTsBgpvpSTp8cMXeVTL9xD TrTWqX313gsVh0eZo9ndg10aigzs2eWvFe47eUic= 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 5.14 067/432] PCI: xilinx-nwl: Enable the clock through CCF Date: Thu, 16 Sep 2021 17:56:56 +0200 Message-Id: <20210916155813.056249801@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210916155810.813340753@linuxfoundation.org> References: <20210916155810.813340753@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/controller/pcie-xilinx-nwl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) --- a/drivers/pci/controller/pcie-xilinx-nwl.c +++ b/drivers/pci/controller/pcie-xilinx-nwl.c @@ -6,6 +6,7 @@ * (C) Copyright 2014 - 2015, Xilinx, Inc. */ +#include #include #include #include @@ -169,6 +170,7 @@ struct nwl_pcie { u8 last_busno; struct nwl_msi msi; struct irq_domain *legacy_irq_domain; + struct clk *clk; raw_spinlock_t leg_mask_lock; }; @@ -823,6 +825,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");