Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1549211pxb; Thu, 16 Sep 2021 09:42:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrh0+Lc58A2qcSl8S3lnn1ORLz7MKz0s1L52Bdb72NrN3jSELyTgWEESlpwrPi8Axz1orm X-Received: by 2002:a05:6e02:1bc3:: with SMTP id x3mr4791882ilv.113.1631810533364; Thu, 16 Sep 2021 09:42:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631810533; cv=none; d=google.com; s=arc-20160816; b=AuqXWAfy/jeprijnum1uJaLzMNdr73o6xJ0O6BeRYeTjAvxqmZFvnDpD2hh5u8DRgC a/d6GK+5XDDVeHJ7e77u63VDlFPNpkVvPaDbpeDbLQPjIbCmtYkpen4b6pXp1dmPq2gK /0IbGE3B6TShK3ozkrzgYNObcnQgjWmPYdSSG9aM7YP9fK4P0vjBijtxvzJ50jGkwpxy XmVlE/m+3y807y2d9r0hliFqgo+9e7tW444i1JoFHprv9++CY7/bg7luLW5f24J+83is 4nHhnHW5i+Acw6AdS3cfoSJi7tB9vwPyBRVFrfWwKVEPRMn5PTUpXmyav3m/fGf5trQ5 4wrA== 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=Dtk21Ac2aAivFBXe7f/WWPP3r1xVYV7v5eClSHd931sjckr2SxslerdNSskk5lEgt6 PTh7LlO8T34idGFwuxbootTvUFqGBxJOsg+Oh0w5nCdGRu4ZwIB8leJgjZMtCdLWcVHs cfAI+zFi6Gh0GTXi1jHbDMXzvY20RUvjHYdQ4QMfLyiaB/jYrHK0aJ5qlnO1MTFx3jDe nX7wyB2qOmMRnsQQKgaALyrsML2DPzfhndqucjMm/zgDmOC/kA6FmuGFfA2T15RrrpnE sTGwFbCbQPg6vWSLkZRm29QX05Ox6iUoQEqOUcfKPBMBj2XMic52SqTSzwX7YGVdmkjX Ribw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=G7H1+yjL; 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 ay15si2964480iob.92.2021.09.16.09.42.01; Thu, 16 Sep 2021 09:42:13 -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=G7H1+yjL; 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 S244662AbhIPQj0 (ORCPT + 99 others); Thu, 16 Sep 2021 12:39:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:45378 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242114AbhIPQcD (ORCPT ); Thu, 16 Sep 2021 12:32:03 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7D1586187D; Thu, 16 Sep 2021 16:19:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631809190; bh=/ErntHcaJEsQ56aHKC6PQIMx9WCJFdbHYVtmhwh7Cw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=G7H1+yjL9rQ2b1LYBJk2m3kgjObAzp2PKWW9lc7XBW7gxI4OJh/3miGby7RYanlbp Z6RVIQY7WFDjF7abgh17RjGDwVWLpcJKZ9GjIqyNNCn9B+qCJuVbHV8zGJ2gNnXV2u 1u9fhwGUT6Hcfd/bmYFX30KYkchQ9JBsgKWQ4Eio= 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.13 063/380] PCI: xilinx-nwl: Enable the clock through CCF Date: Thu, 16 Sep 2021 17:57:00 +0200 Message-Id: <20210916155806.133735169@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210916155803.966362085@linuxfoundation.org> References: <20210916155803.966362085@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");