Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp803750ybk; Fri, 15 May 2020 14:06:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz5YLyj2j6FNgj1af3/yr2L2WcSg/tCqMeyMBU2S93fjQOpUM5feRVhTSVvj7UI3FI7gzHp X-Received: by 2002:a17:906:e5a:: with SMTP id q26mr4526434eji.261.1589576802627; Fri, 15 May 2020 14:06:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589576802; cv=none; d=google.com; s=arc-20160816; b=DJBGVsjk3ISjbD86B0oEZmfTiLndGCqm1Gt7zx6+VgK5hSDz3yBAS9RksQlveQA2ym 6ruf0KbAsOc8UT3hYVFDviSfMZIbD4kfOGeW9TMLKvkV3vS41iyIb3I+gnq2QBK/6HO9 K2bT5bz+hF3ElPxklRGVwd5jenfIuRbftjPPMHv1VUWStO5Tij0fAGoSNPeOhxNDWwBC hB13WAAIWqL5EvHcIRh8v3/2t5LDbYIYmB6z66mJVN6rE7QI0fUn3M9GBau5G6sy88So GzN1WB0iAPyP5/Qinff25ZJRgvev8tHUvmsld+2ntG2gqxba545rzwXyo0kCx/IavwMD DxrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:message-id:subject:cc:to:from:date:dkim-signature; bh=rXA/ktPzdOu7bQkgq3BRxG6Al6M8UOglsvxOMnB1Yq4=; b=niGXplanku392yLRHP5VnhjbiKPLYkeRpNdzsg+LPgZUxNHDZSjRs1X8YCpdcxH4sq oDtkpqfQXwpsM9WBS/aoB2/nB/X2Mlla3TiqPEjQFoFPGWBY+fg9ydTheSvY61TgXfs1 oJZn2MH71My8Tk62+aMJ/0XNH5/4T0bQDB6IXb5XqiiRbyVhW24f/dB4lPlqT1Lifm0f vL9ORnKaso31mI2tBwLsQMDo/qJ5pLhGAoiZPXzbay6EGZ50EBTBxVAy1ehTeqXT+OyE gFvT07bxAbDnHNCqXRh9PC21/fnwFuTKu2t4IEkizIefYCQS0a0j4CujIEj0PlTAW64C J2Yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EDS4e5iA; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i13si2014624ejg.502.2020.05.15.14.06.19; Fri, 15 May 2020 14:06:42 -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; dkim=pass header.i=@kernel.org header.s=default header.b=EDS4e5iA; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726550AbgEOVEi (ORCPT + 99 others); Fri, 15 May 2020 17:04:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:49684 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726188AbgEOVEi (ORCPT ); Fri, 15 May 2020 17:04:38 -0400 Received: from localhost (mobile-166-175-190-200.mycingular.net [166.175.190.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4E7E92070A; Fri, 15 May 2020 21:04:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589576677; bh=8QOoNfGi8E4W2PgwtJTgUzAA6o5+YdXKdyQfXuEb9VU=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=EDS4e5iAKL42BGWOFtGltwCYnuMWIRkHFmfME+bvTJgnYJnSqKXHZjZQMWjBEYJ01 wWY2ZUGNdCmPyzuUatY2fYy53j7wzGS0wp2hMU+v0kMUafzI+8Ug9lDu3cFn9diVFd sRq0OrijnD/0JyLbp1QiJ9tYuNNhsb6eZXhCBAaQ= Date: Fri, 15 May 2020 16:04:35 -0500 From: Bjorn Helgaas To: Sean V Kelley Cc: bhelgaas@google.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Felipe Balbi Subject: Re: [RFC PATCH 2/2] PCI: Add basic Compute eXpress Link DVSEC decode Message-ID: <20200515210435.GA544190@bjorn-Precision-5520> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200515175528.980103-3-sean.v.kelley@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 15, 2020 at 10:55:28AM -0700, Sean V Kelley wrote: > Compute eXpress Link is a new CPU interconnect created with > workload accelerators in mind. The interconnect relies on PCIe Electrical > and Physical interconnect for communication. CXL devices enumerate to the > OS as an ACPI-described PCIe Root Complex Integrated Endpoint. > > This patch introduces the bare minimum support by simply looking for and > caching the DVSEC CXL Extended Capability. Currently, only CXL.io (which > is mandatory to be configured by BIOS) is enabled. In future, we will > also add support for CXL.cache and CXL.mem. This looks fine, but AFAICT, it doesn't *do* anything yet (except print a few things to dmesg). We don't normally merge code until it adds some new functionality. So just FYI that I'll wait until that new functionality comes along and then merge this as part of that series. But let me know if I'm missing something. > + dev_info(&dev->dev, "CXL: Cache%c IO%c Mem%c Viral%c HDMCount %d\n", > + (cap & PCI_CXL_CACHE) ? '+' : '-', > + (cap & PCI_CXL_IO) ? '+' : '-', > + (cap & PCI_CXL_MEM) ? '+' : '-', > + (cap & PCI_CXL_VIRAL) ? '+' : '-', > + PCI_CXL_HDM_COUNT(cap)); These could use pci_info() and FLAG(), as in pcie_init(). > + dev_info(&dev->dev, "CXL: cap ctrl status ctrl2 status2 lock\n"); > + dev_info(&dev->dev, "CXL: %04x %04x %04x %04x %04x %04x\n", > + cap, ctrl, status, ctrl2, status2, lock); > +} > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -315,6 +315,7 @@ struct pci_dev { > u16 aer_cap; /* AER capability offset */ > struct aer_stats *aer_stats; /* AER stats for this device */ > #endif > + u16 cxl_cap; /* CXL capability offset */ Wrap in #ifdef PCI_CXL.