From patchwork Mon Jan 22 20:12:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sinan Kaya X-Patchwork-Id: 10179141 X-Patchwork-Delegate: bhelgaas@google.com 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 5235060390 for ; Mon, 22 Jan 2018 20:12:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4124B20174 for ; Mon, 22 Jan 2018 20:12:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3F669284D4; Mon, 22 Jan 2018 20:12:18 +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.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,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 1D26520174 for ; Mon, 22 Jan 2018 20:12:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751215AbeAVUMP (ORCPT ); Mon, 22 Jan 2018 15:12:15 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:58428 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751211AbeAVUMO (ORCPT ); Mon, 22 Jan 2018 15:12:14 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id AD5AC600E6; Mon, 22 Jan 2018 20:12:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516651933; bh=svwoARHCwTpOlkGaRmzJRr3N+zNfchHVhw+uCdDyjT8=; h=From:To:Cc:Subject:Date:From; b=pC6GaAvPazVclyklMnNFO5gBSvB+ni42lv/BReMiVlH0Y6MOEsjW68krTk8P68zTK JYiHfWSq6LxVJg9Wj4unVuzRcweRRGjm8teSMTlqm8ZC+UNcxcbZS97IGAoJsIvHwU 3Y3XRC48scOzUfU7DPaubKtDAn1g/616gNfb7V28= Received: from drakthul.qualcomm.com (global_nat1_iad_fw.qualcomm.com [129.46.232.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: okaya@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 9E0D7600E6; Mon, 22 Jan 2018 20:12:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516651932; bh=svwoARHCwTpOlkGaRmzJRr3N+zNfchHVhw+uCdDyjT8=; h=From:To:Cc:Subject:Date:From; b=Y2DnCXnT/zK7TeLLPnetEUTtM1hsP0X6dOcbbBkxvE/WOIbnPBCftoAGzXR6PW6v2 O6nbhbNdAYfO0RwcU7hiTz844L0vPJuvMdptKS+r4BbwTHOpNpebugSP1v6Lcl8hCG e8HuBZ4nR2gxZmRJ3BKAFXuWnRDvDgWOI/TgBNBA= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9E0D7600E6 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=okaya@codeaurora.org From: Sinan Kaya To: linux-pci@vger.kernel.org, timur@codeaurora.org Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sinan Kaya , Bjorn Helgaas , Rajat Jain , Vidya Sagar , Yinghai Lu , Ard Biesheuvel , Kees Cook , Greg Kroah-Hartman , linux-kernel@vger.kernel.org (open list) Subject: [PATCH V2] PCI/ASPM: Suppress common clock mode setting failure Date: Mon, 22 Jan 2018 15:12:01 -0500 Message-Id: <1516651924-21820-1-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Code is emitting warnings when it tries to set the common clock mode for ASPM and ASPM is already configured to common clock mode by the UEFI BIOS. Let's bail out silently in such a case. pci 0004:00:00.0: ASPM: Could not configure common clock Signed-off-by: Sinan Kaya --- drivers/pci/pcie/aspm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 9783e10..913b90d 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -240,6 +240,24 @@ static void pcie_aspm_configure_common_clock(struct pcie_link_state *link) if (!(reg16 & PCI_EXP_LNKSTA_SLC)) same_clock = 0; + /* Port might be already in common clock mode */ + pcie_capability_read_word(parent, PCI_EXP_LNKCTL, ®16); + if (same_clock && (reg16 & PCI_EXP_LNKCTL_CCC)) { + bool consistent = true; + + list_for_each_entry(child, &linkbus->devices, bus_list) { + pcie_capability_read_word(child, PCI_EXP_LNKCTL, + ®16); + if (!(reg16 & PCI_EXP_LNKCTL_CCC)) { + consistent = false; + break; + } + } + if (consistent) + return; + dev_warn(&parent->dev, "ASPM: current common clock configuration is broken, reconfiguring\n"); + } + /* Configure downstream component, all functions */ list_for_each_entry(child, &linkbus->devices, bus_list) { pcie_capability_read_word(child, PCI_EXP_LNKCTL, ®16);