Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp688657ybk; Fri, 15 May 2020 10:57:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2OZ20rSpPVeKUJuiD+OMyafLPyx72pi/O6CfR3orVEfb9sZ15vHRHliubp5DtBL/7E2di X-Received: by 2002:a05:6402:31b6:: with SMTP id dj22mr4208599edb.258.1589565454363; Fri, 15 May 2020 10:57:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589565454; cv=none; d=google.com; s=arc-20160816; b=JY5Resjag3w3utrIfC+RqFjewr8gGjNu/3nhC2LaI2xIZoWtX63toyWKNkGz/g6ZSo mjRI/+8LAA65nWSQqR81KOu9y9/6WyAqchMmT9cf87eAucqkfhs0+Opa4DT22AWz7GRm VRrgA77Qq2GRimWhJWPb1efMNTpFR47s7+Br/MUb5CfmMaaVDLpde7Ya2n5DlFtBhUAd ZLjICiryCDek8k+58Zet7a+bIAscMFGlXKlBfYaylBwQBhH2n77YnlYUwSWKe4SeSte1 EUcb+x8u8lfqcT7aagW8QMSYZD0jkl+1GG5YQek2RNKtM8G4KVDF8tkJKKb2gNCXhvaV V6rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=2PSgAeA0GuRDltwW1VB8JHV9zGKrNC7tJjb9SEzFGdQ=; b=EkuQNuAuOGXXyx+YpoCePG0SGZeVAhwx1mM/8/gKOZ4CKFvmEydc1+Si79XlxGhi8p GkPfHcN5YTtswVTHtGpPHO13TxnaD3tkJGVc5KmmqZKlOasnXaxERJYRCJ4sTFqzM1zx SYMqhUmjy5/L/ee5YRABLGuNKuPHJcC9Z18hQ5hyHnhJ/NFH3i3Yrh9uMAO+c1/eMbqz B3q/9/J/Ln8OCy2XndYs6zpoKwhDtAu1YhgoSfN1FFNZCmgo02atvLvvjMXC0c8nEJt7 6mg51NQxcpGy7nFxEd607CWpO00A9kkhfk4ZtSnLCSiPfFmdu3zonjvZzt1d+oKHmKnW cgPA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u1si1581360ejz.492.2020.05.15.10.57.08; Fri, 15 May 2020 10:57:34 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726295AbgEORzd (ORCPT + 99 others); Fri, 15 May 2020 13:55:33 -0400 Received: from mga07.intel.com ([134.134.136.100]:26829 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726170AbgEORzd (ORCPT ); Fri, 15 May 2020 13:55:33 -0400 IronPort-SDR: UIAnu/tCtLGImoaeSaH/xDDLuq6PRNd6cH37Ojq67LivAPTbGCH5ViLsFeT/Hf04Av5KxYpcLX 76ktuMZAz6gg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2020 10:55:32 -0700 IronPort-SDR: 9AkNMV+Z5iNMk5sGL13LOjuA8Bfj2b7u7jpkxwSw8qoxmYbxr9oI2Clt3PUW9VKkJf6+R/oAsI S+b3B64VNpYA== X-IronPort-AV: E=Sophos;i="5.73,396,1583222400"; d="scan'208";a="464804635" Received: from msethi-mobl1.amr.corp.intel.com (HELO arch-ashland-svkelley.intel.com) ([10.254.178.149]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2020 10:55:31 -0700 From: Sean V Kelley To: bhelgaas@google.com Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Sean V Kelley Subject: [RFC PATCH 0/2] PCI: Add basic Compute eXpress Link DVSEC decode Date: Fri, 15 May 2020 10:55:26 -0700 Message-Id: <20200515175528.980103-1-sean.v.kelley@linux.intel.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series implements basic Designated Vendor-Specific Extended Capabilities (DVSEC) decode for Compute eXpress Link devices, a new CPU interconnect building upon PCIe. As a basis for the CXL support it provides PCI init handling for detection, decode, and caching of CXL device capabilities. Moreover, it makes use of the DVSEC Vendor ID and DVSEC ID so as to identify a CXL capable device. (PCIe r5.0, sec 7.9.6.2) DocLink: https://www.computeexpresslink.org/ For your reference, a parallel series of patches have been submitted to enable lspci decode of CXL DVSEC and may be tracked. Link: https://lore.kernel.org/linux-pci/20200511174618.10589-1-sean.v.kelley@linux.intel.com/ This patch makes use of pending DVSEC related header additions and the first patch of that series is included here. It can be sorted out when the upstream merge is done. Link: https://lore.kernel.org/linux-pci/20200508021844.6911-2-david.e.box@linux.intel.com/ Sample dmesg output of a CXL Type 3 device (CXL.io, CXL.mem): [ 2.997177] pci 0000:6b:00.0: CXL: Cache- IO+ Mem+ Viral- HDMCount 1 [ 2.997188] pci 0000:6b:00.0: CXL: cap ctrl status ctrl2 status2 lock [ 2.997201] pci 0000:6b:00.0: CXL: 001e 0002 0000 0000 0000 0000 David E. Box (1): pci: Add Designated Vendor Specific Capability Sean V Kelley (1): PCI: Add basic Compute eXpress Link DVSEC decode drivers/pci/Kconfig | 9 ++++ drivers/pci/Makefile | 1 + drivers/pci/cxl.c | 89 +++++++++++++++++++++++++++++++++++ drivers/pci/pci.h | 7 +++ drivers/pci/probe.c | 1 + include/linux/pci.h | 1 + include/uapi/linux/pci_regs.h | 5 ++ 7 files changed, 113 insertions(+) create mode 100644 drivers/pci/cxl.c -- 2.26.2