From patchwork Tue Apr 17 00:28:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederick Lawler X-Patchwork-Id: 898994 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=fredlawl.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=fredlawl-com.20150623.gappssmtp.com header.i=@fredlawl-com.20150623.gappssmtp.com header.b="0bVtRWVm"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40Q5hz1HXxz9s19 for ; Tue, 17 Apr 2018 10:29:07 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751210AbeDQA27 (ORCPT ); Mon, 16 Apr 2018 20:28:59 -0400 Received: from mail-it0-f67.google.com ([209.85.214.67]:35012 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751157AbeDQA26 (ORCPT ); Mon, 16 Apr 2018 20:28:58 -0400 Received: by mail-it0-f67.google.com with SMTP id q85-v6so14002724itc.0 for ; Mon, 16 Apr 2018 17:28:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fredlawl-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZfSCCMaM9806WJqpnMzb6N7UbxwWk6gN/9P+yIkI3x8=; b=0bVtRWVmPVw2QrqPNa7h+vy67qQe6C5bATf9R6h18QJ+spSeYl/X2coayd5JpWDdcr Stu+Q9RFLlcfXv1vyorLEUNjIN8MBw4ONmlu2ZS/fGvBhgFfQnelxPHBZrf8o4GGe++q uaSzRbKd9vfs99BRMbyRr2YRw7hybV4WvYoPcoH4Ww6K3Ew3p6NCp5MmAbxaDDrRkwm3 Zw6OTTBNnVq3jyZ/qByfkNXzJZRjx+v5W1v8xHkedwsuRl7VsgS7NcuiTeAJ6rP0oKfu NF2VbR2PGf4mysFNL+ZC2R1Bz0R1558xr6EEuXWPTyLDcTyK1Xwv5Uxzm/fwX/WUbGo5 G5Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZfSCCMaM9806WJqpnMzb6N7UbxwWk6gN/9P+yIkI3x8=; b=dpp/kqPccpmdf22syHR7kq8nSTxqr1U3W1+iPI6j0Y+J1Y7QZ+JsQWMwRbqc+zhJMY ys2XEFUOBML8bDG+u3QQkumQNc/bLLsQP1pK65uyjGKzMGkNSpm+rCpHEL6gtxrQ4f0R XolYRRWJi2v6dV5GDIt5A2bRIhCJqD/JmMwPBdhagbFHTU/a5fYw9WZDhpXsP+wnxx5j wyJm90ZGRTC3QADaKig9s91A1nObDgc+raDKL70tWSf13DIwpMoVeI1bZMbxyTGR0qY1 SFYhxrrLTYMmleiEfkzKvAhyBuIBtmadHozs8rP5vYuUjNPJ4RWErN0f/kjjCNuSGE0u uEOQ== X-Gm-Message-State: ALQs6tDagaAfwGoRbHIulQrj5NMFYnzTyuIfC0DR0RBJjrTzqTVU+53h AflhCHLUh1yC4LkQLxYPBNhzMA== X-Google-Smtp-Source: AIpwx49f9VMikrENcl6/SHVfXO1mxId3Qxl33KQsWUBRHWkD+1Ap2QFsIx+HcSRb+eun38CMgMG3Ng== X-Received: by 2002:a24:af45:: with SMTP id l5-v6mr425714iti.31.1523924937772; Mon, 16 Apr 2018 17:28:57 -0700 (PDT) Received: from local.linuxcompiler (23-228-167-183.mci.googlefiber.net. [23.228.167.183]) by smtp.gmail.com with ESMTPSA id r98sm6369238ioe.25.2018.04.16.17.28.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Apr 2018 17:28:57 -0700 (PDT) From: Frederick Lawler To: bhelgaas@google.com, mike.marciniszyn@intel.com, dennis.dalessandro@intel.com, dledford@redhat.com, jgg@mellanox.com Cc: linux-pci@vger.kernel.org, linux-rdma@vger.kernel.org, Frederick Lawler Subject: [PATCH v3 1/2] PCI: Add PCI_EXP_LNKCTL2_TLS* macros Date: Mon, 16 Apr 2018 19:28:24 -0500 Message-Id: <20180417002825.2737-2-fred@fredlawl.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180417002825.2737-1-fred@fredlawl.com> References: <20180417002825.2737-1-fred@fredlawl.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org The Link Control 2 register is missing macros for Target Link Speeds. Add those in. Signed-off-by: Frederick Lawler --- include/uapi/linux/pci_regs.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 103ba797a8f3..18f9acacca95 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h @@ -655,6 +655,11 @@ #define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010 /* Supported Speed 16GT/s */ #define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100 /* Crosslink supported */ #define PCI_EXP_LNKCTL2 48 /* Link Control 2 */ +#define PCI_EXP_LNKCTL2_TLS 0x000f +#define PCI_EXP_LNKCTL2_TLS_2_5GB 0x0001 /* Supported Speed 2.5GT/s */ +#define PCI_EXP_LNKCTL2_TLS_5_0GB 0x0002 /* Supported Speed 5GT/s */ +#define PCI_EXP_LNKCTL2_TLS_8_0GB 0x0003 /* Supported Speed 8GT/s */ +#define PCI_EXP_LNKCTL2_TLS_16_0GB 0x0004 /* Supported Speed 16GT/s */ #define PCI_EXP_LNKSTA2 50 /* Link Status 2 */ #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 52 /* v2 endpoints with link end here */ #define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */ From patchwork Tue Apr 17 00:28:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederick Lawler X-Patchwork-Id: 898995 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=fredlawl.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=fredlawl-com.20150623.gappssmtp.com header.i=@fredlawl-com.20150623.gappssmtp.com header.b="dvRI26bW"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40Q5hz6tsRz9s0n for ; Tue, 17 Apr 2018 10:29:07 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751205AbeDQA3E (ORCPT ); Mon, 16 Apr 2018 20:29:04 -0400 Received: from mail-io0-f193.google.com ([209.85.223.193]:45498 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751200AbeDQA27 (ORCPT ); Mon, 16 Apr 2018 20:28:59 -0400 Received: by mail-io0-f193.google.com with SMTP id a7so4391613ioc.12 for ; Mon, 16 Apr 2018 17:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fredlawl-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JT+XKi28zwphqs3rWgj74R0tDUoRtI7t6RemyXjHyLc=; b=dvRI26bWCjcOPRMyMOFSj3fPgrGB8FAMEmtUP1KgdexmN6exTKkZdsDr34JLVgFNou nbKp6glv4887eVd668078VccF3xNsyL0XXUYosuDLODg2zoxehyTft/3dIZtZNRbtJS3 fXlJ6xHot5VpfKqis+da0ZoaWacTIgTixc0Y7p6Hjtq/dKYzCGZF+y5n2f3LoHywG1G2 cic/y2sDXlQgaYdzo9iDdPdWKqvYCRB1EORyHDtO28pgY9Uxa5JLSSgsDY0KNCDA/yL6 Vo4VOEYkKWIdT9QmpolWNNXB+Z5l1WCeiJEBcXOYWOwjs5XJtAv7TExuAg4yCSolPBpG zJ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JT+XKi28zwphqs3rWgj74R0tDUoRtI7t6RemyXjHyLc=; b=WJHnOaszPUwMiK0b0OWOCgUs11A9mPRh2Au0JXcvcRyspHf9YE0NmHp8/XgRhsUGg2 F3gSN7M/Ww/oD4DUsWA8XjAGRKVK3/A/147SW+C7Naz6AP+zHvrciTViIgdT45rRHRW6 d04uTcDlLswIc064iN30gTmwSykDyX+x6H7SWVxbz9Kl78EWdvcEmZlQQjI6A+CDLy8J bZoUQACxF4qjEYFtPiRqD/w6DC8QxUOuSEsC5l5vFoCfPq50cM2UFEJHZurIxIG2mRwA +HDwr6P+Kbls1nB699eeIxOn1a/+xco4TvgxzLu73iDEVGaAu5r31yxPQ12+slRDlWgn Vtdg== X-Gm-Message-State: ALQs6tCobmUJGeV0Dnz3B4Gy9npHel0kbPV0v32+5WM++FVNqmg2Q8KD qYNVFKeOjf0eyV+0UnSrI9BaCg== X-Google-Smtp-Source: AIpwx4/+ideUoyuYAo1pwSY8nkf9TBQyH7Uxm186jp45TwqQ/skRbTNT3IwQH032pH3MIJGvaF+Jyg== X-Received: by 10.107.88.6 with SMTP id m6mr7489622iob.167.1523924939222; Mon, 16 Apr 2018 17:28:59 -0700 (PDT) Received: from local.linuxcompiler (23-228-167-183.mci.googlefiber.net. [23.228.167.183]) by smtp.gmail.com with ESMTPSA id r98sm6369238ioe.25.2018.04.16.17.28.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Apr 2018 17:28:58 -0700 (PDT) From: Frederick Lawler To: bhelgaas@google.com, mike.marciniszyn@intel.com, dennis.dalessandro@intel.com, dledford@redhat.com, jgg@mellanox.com Cc: linux-pci@vger.kernel.org, linux-rdma@vger.kernel.org, Frederick Lawler Subject: [PATCH v3 2/2] IB/hfi1: Replace custom hfi1 macros with PCIe macros Date: Mon, 16 Apr 2018 19:28:25 -0500 Message-Id: <20180417002825.2737-3-fred@fredlawl.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180417002825.2737-1-fred@fredlawl.com> References: <20180417002825.2737-1-fred@fredlawl.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org IB/hfi1 contains custom macros for PCIe link configuration. Remove the custom macros in favor of the PCIe link macros. No functional change intended. Signed-off-by: Frederick Lawler Reviewed-by: Michael J. Ruhl --- V3: Use PCI_EXP_LNKCTL2_TLS* macros V2: s/LINK/LNK --- drivers/infiniband/hw/hfi1/pcie.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/drivers/infiniband/hw/hfi1/pcie.c b/drivers/infiniband/hw/hfi1/pcie.c index 83d66e862207..fe2a6d602856 100644 --- a/drivers/infiniband/hw/hfi1/pcie.c +++ b/drivers/infiniband/hw/hfi1/pcie.c @@ -56,11 +56,6 @@ #include "chip_registers.h" #include "aspm.h" -/* link speed vector for Gen3 speed - not in Linux headers */ -#define GEN1_SPEED_VECTOR 0x1 -#define GEN2_SPEED_VECTOR 0x2 -#define GEN3_SPEED_VECTOR 0x3 - /* * This file contains PCIe utility routines. */ @@ -265,7 +260,7 @@ static u32 extract_speed(u16 linkstat) case PCI_EXP_LNKSTA_CLS_5_0GB: speed = 5000; /* Gen 2, 5GHz */ break; - case GEN3_SPEED_VECTOR: + case PCI_EXP_LNKSTA_CLS_8_0GB: speed = 8000; /* Gen 3, 8GHz */ break; } @@ -320,7 +315,7 @@ int pcie_speeds(struct hfi1_devdata *dd) return ret; } - if ((linkcap & PCI_EXP_LNKCAP_SLS) != GEN3_SPEED_VECTOR) { + if ((linkcap & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_8_0GB) { dd_dev_info(dd, "This HFI is not Gen3 capable, max speed 0x%x, need 0x3\n", linkcap & PCI_EXP_LNKCAP_SLS); @@ -697,9 +692,6 @@ const struct pci_error_handlers hfi1_pci_err_handler = { /* gasket block secondary bus reset delay */ #define SBR_DELAY_US 200000 /* 200ms */ -/* mask for PCIe capability register lnkctl2 target link speed */ -#define LNKCTL2_TARGET_LINK_SPEED_MASK 0xf - static uint pcie_target = 3; module_param(pcie_target, uint, S_IRUGO); MODULE_PARM_DESC(pcie_target, "PCIe target speed (0 skip, 1-3 Gen1-3)"); @@ -1048,13 +1040,13 @@ int do_pcie_gen3_transition(struct hfi1_devdata *dd) return 0; if (pcie_target == 1) { /* target Gen1 */ - target_vector = GEN1_SPEED_VECTOR; + target_vector = PCI_EXP_LNKCTL2_TLS_2_5GB; target_speed = 2500; } else if (pcie_target == 2) { /* target Gen2 */ - target_vector = GEN2_SPEED_VECTOR; + target_vector = PCI_EXP_LNKCTL2_TLS_5_0GB; target_speed = 5000; } else if (pcie_target == 3) { /* target Gen3 */ - target_vector = GEN3_SPEED_VECTOR; + target_vector = PCI_EXP_LNKCTL2_TLS_8_0GB; target_speed = 8000; } else { /* off or invalid target - skip */ @@ -1293,8 +1285,8 @@ int do_pcie_gen3_transition(struct hfi1_devdata *dd) dd_dev_info(dd, "%s: ..old link control2: 0x%x\n", __func__, (u32)lnkctl2); /* only write to parent if target is not as high as ours */ - if ((lnkctl2 & LNKCTL2_TARGET_LINK_SPEED_MASK) < target_vector) { - lnkctl2 &= ~LNKCTL2_TARGET_LINK_SPEED_MASK; + if ((lnkctl2 & PCI_EXP_LNKCTL2_TLS) < target_vector) { + lnkctl2 &= ~PCI_EXP_LNKCTL2_TLS; lnkctl2 |= target_vector; dd_dev_info(dd, "%s: ..new link control2: 0x%x\n", __func__, (u32)lnkctl2); @@ -1319,7 +1311,7 @@ int do_pcie_gen3_transition(struct hfi1_devdata *dd) dd_dev_info(dd, "%s: ..old link control2: 0x%x\n", __func__, (u32)lnkctl2); - lnkctl2 &= ~LNKCTL2_TARGET_LINK_SPEED_MASK; + lnkctl2 &= ~PCI_EXP_LNKCTL2_TLS; lnkctl2 |= target_vector; dd_dev_info(dd, "%s: ..new link control2: 0x%x\n", __func__, (u32)lnkctl2);