Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp348921pxm; Wed, 2 Mar 2022 17:02:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJz8BJpfHIaEkyHnkZwwWDTdmXTwRQA5rMR0idCk1TekNpPzhtFX2R1YgBfb7nRAd2uipgjd X-Received: by 2002:a62:ddcc:0:b0:4e1:c248:d4a7 with SMTP id w195-20020a62ddcc000000b004e1c248d4a7mr35558819pff.63.1646269373737; Wed, 02 Mar 2022 17:02:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646269373; cv=none; d=google.com; s=arc-20160816; b=n1SVPhRx6+mCX+cIuJu2JW7MZP9atMrUSCid0CElcxo2QFG87noODZy3rXAD5Tbpug k+F7NXkDmXIWoR9qZ4LwYKKSA9PScFe45L4VqoqrqgoYTwrtDA6CO2oIi1Yp4QSR4aud p6fc3+Z87xBqU1JJHDXkAn9+cLnvS5YnyIA3GFakEseAbQaW8G72gnMXJbvlRvzbiR/o hhIL+wuEa+YHdFPglH8zPIQfLKHJTWpJcneSuSS2/ym7fKcg5yp1ecHWil3LIDXwN/lv RaWjsDQRDo63C+rGHVmLe/cyn+HenCwSsER+KGihw7K5qfpDLoq72wI7mvlt8IMYIB/+ mgcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=N+/qzFSrBjYLHcYlk0u2hKIFfMLuLvhdofO6yQD3Krk=; b=BdtutvQE48ITiWUJ2cmbdteuN8HZ/ZDQmNYbHxsKLP4aMz1CW+T394/5T6IEWjrTJL q/7NoKp3t2877cu+GDth3kNhYRrY4f5hg5vrzjbNSYz6DH/4EYCxV6V0VSVC+6n3bk3v YIDf+mSmwwQ0QuVraUR8FmnrDWCBGicR9k5DYH2Q6MlH/CU0iE7XViyGdA0mnJhJTjDz zUvOOOTBO1a/RMcnRjatLA9CdOsElecilpkD9U5oO9aIrU2Hva/6B08SMgYr96oQ3En5 RMRzRammgBIRt6hNjBJXeHjhyDE+RAFTyjlKXaEDqy1QYaX8JsUS6+WyMm8z5kMcNhoi lCYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QD7UO8tw; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id s15-20020a056a0008cf00b004e1e38f1137si683568pfu.354.2022.03.02.17.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 17:02:53 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QD7UO8tw; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CAD602FFC6; Wed, 2 Mar 2022 16:33:47 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230417AbiCCAe3 (ORCPT + 99 others); Wed, 2 Mar 2022 19:34:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230400AbiCCAeZ (ORCPT ); Wed, 2 Mar 2022 19:34:25 -0500 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCF4D3206C; Wed, 2 Mar 2022 16:33:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646267616; x=1677803616; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=puhGGhdgKTMBV39T07x+pJAUC5Dwf4xYKce7ErjFuPA=; b=QD7UO8twvQ5Av5Y6oqRu53yYELIFlsNYUyKLc2genR+5ULPqNOAWfO6U 99z8OK9cRvUkmHvJIdh+Cs74T1Ef3OhOAddq9XOFFcC8Jc1+6lIfF4pYh 6rzARFw7H8auwcenaVjZCZOhTFcxYFIRiXgbNlIcWjFWRPfpCaxWx9WkZ BM05fs12Z++8zSBjSSedHlpDoOt0ddaH/S4rHHMuDJZ6y5Vu3Dt3gqKKf TPsRwV6r3f6PhiWDrrR8gIwjItkhgDWCaPEABQaM/Bs5AVdxYEUhzfhO6 YBdYYQkLYO9XI+jXbD3FA8gu5+cuRuvCA2iR0ujaBKVmVcHDxLfY+ObiC Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10274"; a="253468950" X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="253468950" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 16:33:32 -0800 X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="686309310" Received: from rhweight-wrk1.ra.intel.com ([137.102.106.40]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 16:33:31 -0800 From: matthew.gerlach@linux.intel.com To: hao.wu@intel.com, yilun.xu@intel.com, russell.h.weight@intel.com, basheer.ahmed.muddebihal@intel.com, trix@redhat.com, mdf@kernel.org, corbet@lwn.net, linux-fpga@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, dan.j.williams@intel.com, ashok.raj@intel.com, tianfei.zhang@intel.com Cc: Matthew Gerlach Subject: [PATCH v2 1/2] Documentation: fpga: dfl: add PCI Identification documentation Date: Wed, 2 Mar 2022 16:35:33 -0800 Message-Id: <20220303003534.3307971-2-matthew.gerlach@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220303003534.3307971-1-matthew.gerlach@linux.intel.com> References: <20220303003534.3307971-1-matthew.gerlach@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Matthew Gerlach Add documentation on identifying FPGA based PCI cards prompted by discussion on the linux-fpga@vger.kernel.org mailing list. Signed-off-by: Matthew Gerlach --- v2: Introduced in v2. --- Documentation/fpga/dfl.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Documentation/fpga/dfl.rst b/Documentation/fpga/dfl.rst index ef9eec71f6f3..5fb2ca8e76d7 100644 --- a/Documentation/fpga/dfl.rst +++ b/Documentation/fpga/dfl.rst @@ -502,6 +502,26 @@ Developer only needs to provide a sub feature driver with matched feature id. FME Partial Reconfiguration Sub Feature driver (see drivers/fpga/dfl-fme-pr.c) could be a reference. +PCI Device Identification +================================ +Since FPGA based PCI cards can be reconfigured to a perform a completely +new function at runtime, properly identifying such cards and binding the +correct driver can be challenging. In many use cases, deployed FPGA based +PCI cards are essentially static and the PCI Product ID and Vendor ID pair +is sufficient to identify the card. The DFL framework helps with the +dynamic case of deployed FPGA cards changing at run time by providing +more detailed information about card discoverable at runtime. + +At one level, the DFL on a PCI card describes the function of the card. +However, the same DFL could be instantiated on different physical cards. +Conversely, different DFLs could be instantiated on the same physical card. +Practical management of a cloud containing a heterogeneous set of such cards +requires a PCI level of card identification. While the PCI Product ID and +Vendor ID may be sufficient to bind the dfl-pci driver, it is expected +that FPGA PCI cards would advertise suitable Subsystem ID and Subsystem +Vendor ID values. PCI Vital Product Data (VPD) can also be used for +more granular information about the board. + Location of DFLs on a PCI Device ================================ The original method for finding a DFL on a PCI device assumed the start of the -- 2.25.1