From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224RmzceQfIbmZeSHJf7fg4BZ0U5OnjHy/vXZkyN98SDVINDYh3qunzCAY9sK3u9Vy1MMPq9 ARC-Seal: i=1; a=rsa-sha256; t=1516651934; cv=none; d=google.com; s=arc-20160816; b=HM2MNOhepGLl3m32PX8sj+mXXHKte8OC/lGL4EkDrgAZ7CGyCtz9z2cc6UMuDlEpjX oDL0pLxXyvsow2LlAg+k/oCZZ+WBWT/dJbn15sEEBUn/r/Xsua7D9FHXns1NuWUgqF19 h1Gt9dkleYoacxE8oxHYhmVzqUvaY6PAdPQ3lntDpmrzN5CfL38sssD4+KVU7O4PHDgo wY/0Iw0hP7a2daH/3GuTemsx3xxU8nEfP5R/luCzbW0ul7Mx7fXIT6v/3ffGHDZAaUfy fp04JvXO5FVIKP03lSIiDGKKp4gY+j7iawpAPJNc+rbc5KXDsRJIZjz6f4qWFSot597N 6idg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:dmarc-filter:dkim-signature :dkim-signature:arc-authentication-results; bh=09fyiFvesRTH76hedUDtrD6m14D3SccdY4J71VxWkeg=; b=b3U+R14mWYkP+cSUDpcwpZF8JkGmab8X5dgLt78khl+d0Sa7JhVGXA1W3bfe2vz7+k kW1sDKhv7F6xh+VyncHN2wcCCPCcFbfJCgJloiVv/YMevdc0mh9tR3j2mgUyIwN9F66w mxaIEl0BRcVRL2HrzCucLk4HI4ZSreB/BQTtBG/skzrdT06lXkogbqb6hpFOvOPkyGgQ KqfZcMxhFv+QEYFXTo6QjPbocgFt4hZK474Rhig+v0b75jpHKM/+GAN+bCGUIBv1I+jQ 1V9LpcnsC+x/ysqAs7f8staM+D3C82L6Djhr/IafzCxc3DmM1SbLAYR/Yt9s9PFuK1q9 CrVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=pC6GaAvP; dkim=pass header.i=@codeaurora.org header.s=default header.b=Y2DnCXnT; spf=pass (google.com: domain of okaya@codeaurora.org designates 198.145.29.96 as permitted sender) smtp.mailfrom=okaya@codeaurora.org Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=pC6GaAvP; dkim=pass header.i=@codeaurora.org header.s=default header.b=Y2DnCXnT; spf=pass (google.com: domain of okaya@codeaurora.org designates 198.145.29.96 as permitted sender) smtp.mailfrom=okaya@codeaurora.org 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590324818171191002?= X-GMAIL-MSGID: =?utf-8?q?1590324818171191002?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 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); -- 1.9.1