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);