Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp13973977pxu; Mon, 4 Jan 2021 09:22:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJxGCqtaoezfvQpawvfNWq/C47pQu+ndD/cr1AJ7A7OBzfNTxgPET3xHan0MdWuTAzFYFDgR X-Received: by 2002:a50:f392:: with SMTP id g18mr18662870edm.306.1609780959645; Mon, 04 Jan 2021 09:22:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609780959; cv=none; d=google.com; s=arc-20160816; b=dBkcpJbeFW74alNrR7CNhDXdqBreYg2U5CCvgIW9QT968xu51CLlo4m75bTzNnlhb8 YaQmdAvFDer5QYigsWp1eJbtGu1V/1jx0yfOvuM9hgdi4FsLErCnIwXtZoH4g9Gbyxk4 1nZpdoUX0FTs4mlEp/9F2VwVOEkKLoHd03d2W2wrXK7ZD93ls6Yb1RmUrVFPmonldYvD W5pfkDIheNT3JKkE4oAEWB45sJ/LR4WkVBvsVgXTX8okKrrv3hlzXeiHxALV5ZJ36lIL 10Et/dd8HwQDRo/h1zUmM9NO5GiLVdocRgGz9rFhS7y3ydj98DVvepIbyyxXfvhsevby +QZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:ironport-sdr:ironport-sdr; bh=MticdrNn3t3E9q+wcQJCxNsitLJBfjyWJAwfoAe3AGo=; b=0g0dVPsl4C+tOWtGDtiDgwddZ0Gd9KdXp1IeJyDA6oPzY5yciPPj7m9GvRuYlaDbIA YoSYbYurnkHz6swq/QKTYZUrcH2Zn0k5nWjDYJbHeisnjIreXIeX3B3CZnW3htbZszle Uv9J6YCex1GleKQlm0/54FXRZNWqPWq1I3pKOppUsbWA3FEa2mpvGqlAoQBUKWqIvJns SrBX2y6wxti2aVzTpES0jS4SN5ETT+HGO5vVJr+QAzoXiD/AY0+JGkyCjV5N103Ekakc b3kJdvX/prNVRkVgGDFs7DI4USFk82XgizF3jdWG1jXIoFzDtBy/+QF5hjYjs+AZ1VYI yY1Q== 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 h22si22827068ejl.73.2021.01.04.09.22.16; Mon, 04 Jan 2021 09:22:39 -0800 (PST) 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 S1727121AbhADRUJ (ORCPT + 99 others); Mon, 4 Jan 2021 12:20:09 -0500 Received: from mga04.intel.com ([192.55.52.120]:15532 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726664AbhADRUI (ORCPT ); Mon, 4 Jan 2021 12:20:08 -0500 IronPort-SDR: QJnv9YlHPQCxa7QJjv4ACP5cRrzYJ+kXX0pj3j/vMJVPt7vWsaGMJt1PCq4yAShH0++Z0zk4gr 1tG7pI5UZUOw== X-IronPort-AV: E=McAfee;i="6000,8403,9854"; a="174404779" X-IronPort-AV: E=Sophos;i="5.78,474,1599548400"; d="scan'208";a="174404779" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2021 09:19:28 -0800 IronPort-SDR: y/A9Sk543anZLT1cUUWEcLx1DezZg5ViK0aQ4HXtuGxmuGwmUo2vm6VLVPW63KQfbNrOj2eV/n aUlvmklYO0Kw== X-IronPort-AV: E=Sophos;i="5.78,474,1599548400"; d="scan'208";a="462012498" Received: from rhweight-mobl2.amr.corp.intel.com (HELO [10.0.2.4]) ([10.212.151.18]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2021 09:19:27 -0800 Subject: Re: [PATCH v5 2/2] Documentation: fpga: dfl: Add description for DFL UIO support To: Xu Yilun , mdf@kernel.org, linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, trix@redhat.com, lgoncalv@redhat.com, hao.wu@intel.com References: <1609557182-20787-1-git-send-email-yilun.xu@intel.com> <1609557182-20787-3-git-send-email-yilun.xu@intel.com> From: Russ Weight Message-ID: <0f5c3f7c-f367-086f-cd43-d8b23f9a833e@intel.com> Date: Mon, 4 Jan 2021 09:19:24 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <1609557182-20787-3-git-send-email-yilun.xu@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/1/21 7:13 PM, Xu Yilun wrote: > This patch adds description for UIO support for dfl devices on DFL > bus. > > Signed-off-by: Xu Yilun > --- > v2: no doc in v1, add it for v2. > v3: some documentation fixes. > v4: documentation change since the driver matching is changed. > v5: no change. > --- > Documentation/fpga/dfl.rst | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/Documentation/fpga/dfl.rst b/Documentation/fpga/dfl.rst > index 0404fe6..b8497f3 100644 > --- a/Documentation/fpga/dfl.rst > +++ b/Documentation/fpga/dfl.rst > @@ -7,6 +7,7 @@ Authors: > - Enno Luebbers > - Xiao Guangrong > - Wu Hao > +- Xu Yilun > > The Device Feature List (DFL) FPGA framework (and drivers according to > this framework) hides the very details of low layer hardwares and provides > @@ -502,6 +503,29 @@ FME Partial Reconfiguration Sub Feature driver (see drivers/fpga/dfl-fme-pr.c) > could be a reference. > > > +UIO support for DFL devices > +=========================== > +The purpose of an FPGA is to be reprogrammed with newly developed hardware > +components. New hardware can instantiate a new private feature in the DFL, and > +then get a DFL device in their system. In some cases users may need a userspace > +driver for the DFL device: > + > +* Users may need to run some diagnostic test for their hardwares. > +* Users may prototype the kernel driver in user space. > +* Some hardware is designed for specific purposes and does not fit into one of > + the standard kernel subsystems. > + > +This requires the direct access to the MMIO space and interrupt handling in This may be better stated as: "This requires direct access to MMIO space and interrupt handling from userspace." - Russ > +userspace. The dfl-uio-pdev module exposes the UIO device interfaces for this > +purpose. It adds the uio_pdrv_genirq platform device with the resources of > +the DFL feature, and lets the generic UIO platform device driver provide UIO > +support to userspace. > + > +FPGA_DFL_UIO_PDEV should be selected to enable the dfl-uio-pdev module driver. > +To support a new DFL feature been directly accessed via UIO, its feature id > +should be added to the driver's id_table. > + > + > Open discussion > =============== > FME driver exports one ioctl (DFL_FPGA_FME_PORT_PR) for partial reconfiguration