All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Hao <hao.wu@intel.com>
To: Alan Tull <atull@kernel.org>
Cc: Moritz Fischer <mdf@kernel.org>,
	linux-fpga@vger.kernel.org,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-api@vger.kernel.org, "Kang, Luwei" <luwei.kang@intel.com>,
	"Zhang, Yi Z" <yi.z.zhang@intel.com>,
	Tim Whisonant <tim.whisonant@intel.com>,
	Enno Luebbers <enno.luebbers@intel.com>,
	Shiva Rao <shiva.rao@intel.com>,
	Christopher Rauer <christopher.rauer@intel.com>,
	Xiao Guangrong <guangrong.xiao@linux.intel.com>
Subject: Re: [PATCH v4 12/24] fpga: dfl: fme: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support
Date: Tue, 20 Mar 2018 14:46:59 +0800	[thread overview]
Message-ID: <20180320064659.GA31239@hao-dev> (raw)
In-Reply-To: <CANk1AXQ79CvNECJav6bvs+XZHSD=1ai=kg55W4zTYvSn7GRwKQ@mail.gmail.com>

On Mon, Mar 19, 2018 at 01:29:52PM -0500, Alan Tull wrote:
> On Tue, Feb 13, 2018 at 3:24 AM, Wu Hao <hao.wu@intel.com> wrote:
> 
> Hi Hao,
> 
> Looking at fpga-dfl.h again, there's a lot of things that start with
> FPGA_.  Don't you think this is too general?  There are other FPGA_
> things in the kernel.  Not just the things added by this patch, but
> the whole file.

Hi Alan

Thanks for the comments, I got your point here. FPGA_ things should be 
reserved for more generic things for FPGA. I will search and replace
the FPGA_xxx things used here and in other files.

> 
> > FPGA_GET_API_VERSION and FPGA_CHECK_EXTENSION ioctls are common ones which
> 
> Maybe DFL_FPGA_GET_API_VERSION?

Yes, DFL_FPGA_GET_API_VERSION looks good.

> 
> > need to be supported by all feature devices drivers including FME and AFU.
> > Userspace application can use these ioctl interfaces to get the API info
> > and check if specific extension is supported or not in current driver.
> >
> > This patch implements above 2 ioctls in FPGA Management Engine (FME)
> > driver.
> >
> > Signed-off-by: Tim Whisonant <tim.whisonant@intel.com>
> > Signed-off-by: Enno Luebbers <enno.luebbers@intel.com>
> > Signed-off-by: Shiva Rao <shiva.rao@intel.com>
> > Signed-off-by: Christopher Rauer <christopher.rauer@intel.com>
> > Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
> > Signed-off-by: Wu Hao <hao.wu@intel.com>
> > Acked-by: Alan Tull <atull@kernel.org>
> > Acked-by: Moritz Fischer <mdf@kernel.org>
> > ---
> > v2: switched to GPLv2 license.
> > v3: rename intel-fpga.h to fpga-dfl.h and rebased.
> > v4: fix SPDX license issue.
> >     add Acked-by from Alan and Moritz.
> > ---
> >  Documentation/ioctl/ioctl-number.txt |  1 +
> >  drivers/fpga/dfl-fme-main.c          | 12 +++++++++
> >  include/uapi/linux/fpga-dfl.h        | 48 ++++++++++++++++++++++++++++++++++++
> >  3 files changed, 61 insertions(+)
> >  create mode 100644 include/uapi/linux/fpga-dfl.h
> >
> > diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt
> > index 6501389..f1e7baa 100644
> > --- a/Documentation/ioctl/ioctl-number.txt
> > +++ b/Documentation/ioctl/ioctl-number.txt
> > @@ -324,6 +324,7 @@ Code  Seq#(hex)     Include File            Comments
> >  0xB3   00      linux/mmc/ioctl.h
> >  0xB4   00-0F   linux/gpio.h            <mailto:linux-gpio@vger.kernel.org>
> >  0xB5   00-0F   uapi/linux/rpmsg.h      <mailto:linux-remoteproc@vger.kernel.org>
> > +0xB6   all     linux/fpga-dfl.h
> >  0xC0   00-0F   linux/usb/iowarrior.h
> >  0xCA   00-0F   uapi/misc/cxl.h
> >  0xCA   10-2F   uapi/misc/ocxl.h
> > diff --git a/drivers/fpga/dfl-fme-main.c b/drivers/fpga/dfl-fme-main.c
> > index 056ae24..1a9929c 100644
> > --- a/drivers/fpga/dfl-fme-main.c
> > +++ b/drivers/fpga/dfl-fme-main.c
> > @@ -16,6 +16,7 @@
> >
> >  #include <linux/kernel.h>
> >  #include <linux/module.h>
> > +#include <linux/fpga-dfl.h>
> >
> >  #include "dfl.h"
> >
> > @@ -114,6 +115,13 @@ static struct feature_driver fme_feature_drvs[] = {
> >         },
> >  };
> >
> > +static long fme_ioctl_check_extension(struct feature_platform_data *pdata,
> > +                                     unsigned long arg)
> > +{
> > +       /* No extension support for now */
> > +       return 0;
> > +}
> > +
> >  static int fme_open(struct inode *inode, struct file *filp)
> >  {
> >         struct platform_device *fdev = fpga_inode_to_feature_dev(inode);
> > @@ -154,6 +162,10 @@ static long fme_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> >         dev_dbg(&pdev->dev, "%s cmd 0x%x\n", __func__, cmd);
> >
> >         switch (cmd) {
> > +       case FPGA_GET_API_VERSION:
> > +               return FPGA_API_VERSION;
> > +       case FPGA_CHECK_EXTENSION:
> > +               return fme_ioctl_check_extension(pdata, arg);
> >         default:
> >                 /*
> >                  * Let sub-feature's ioctl function to handle the cmd
> > diff --git a/include/uapi/linux/fpga-dfl.h b/include/uapi/linux/fpga-dfl.h
> > new file mode 100644
> > index 0000000..9321ee9
> > --- /dev/null
> > +++ b/include/uapi/linux/fpga-dfl.h
> > @@ -0,0 +1,48 @@
> > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> > +/*
> > + * Header File for FPGA DFL User API
> > + *
> > + * Copyright (C) 2017 Intel Corporation, Inc.
> > + *
> > + * Authors:
> > + *   Kang Luwei <luwei.kang@intel.com>
> > + *   Zhang Yi <yi.z.zhang@intel.com>
> > + *   Wu Hao <hao.wu@intel.com>
> > + *   Xiao Guangrong <guangrong.xiao@linux.intel.com>
> > + */
> > +
> > +#ifndef _UAPI_LINUX_FPGA_DFL_H
> > +#define _UAPI_LINUX_FPGA_DFL_H
> > +
> > +#define FPGA_API_VERSION 0
> 
> There will be other FPGA API's.  Maybe DFL_FPGA_... or FME_FPGA_...

I will pick DFL_FPGA_... here and below places. :)

> 
> > +
> > +/*
> > + * The IOCTL interface for DFL based FPGA is designed for extensibility by
> > + * embedding the structure length (argsz) and flags into structures passed
> > + * between kernel and userspace. This design referenced the VFIO IOCTL
> > + * interface (include/uapi/linux/vfio.h).
> > + */
> > +
> > +#define FPGA_MAGIC 0xB6
> 
> Same here.
> 
> > +
> > +#define FPGA_BASE 0
> 
> And here.
> 
> > +
> > +/**
> > + * FPGA_GET_API_VERSION - _IO(FPGA_MAGIC, FPGA_BASE + 0)
> > + *
> > + * Report the version of the driver API.
> > + * Return: Driver API Version.
> > + */
> > +
> > +#define FPGA_GET_API_VERSION   _IO(FPGA_MAGIC, FPGA_BASE + 0)
> > +
> > +/**
> > + * FPGA_CHECK_EXTENSION - _IO(FPGA_MAGIC, FPGA_BASE + 1)
> > + *
> > + * Check whether an extension is supported.
> > + * Return: 0 if not supported, otherwise the extension is supported.
> > + */
> > +
> > +#define FPGA_CHECK_EXTENSION   _IO(FPGA_MAGIC, FPGA_BASE + 1)
> 
> Basically all the FPGA_* stuff here is specific to this particular DFL
> FPGA API and should have a better name.

Will update them in the next version, thanks again for the comments.

Hao

> 
> Alan
> 
> > +
> > +#endif /* _UAPI_LINUX_FPGA_DFL_H */
> > --
> > 2.7.4
> >

  reply	other threads:[~2018-03-20  6:46 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-13  9:24 [PATCH v4 00/24] FPGA Device Feature List (DFL) Device Drivers Wu Hao
2018-02-13  9:24 ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 01/24] docs: fpga: add a document for FPGA Device Feature List (DFL) Framework Overview Wu Hao
2018-02-26 22:48   ` Alan Tull
2018-02-27  2:12     ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 02/24] fpga: mgr: add region_id to fpga_image_info Wu Hao
2018-02-13  9:24 ` [PATCH v4 03/24] fpga: mgr: add status for fpga-manager Wu Hao
2018-02-14 15:55   ` Alan Tull
2018-02-15  9:42     ` Wu, Hao
2018-02-14 20:55   ` Moritz Fischer
2018-02-13  9:24 ` [PATCH v4 04/24] fpga: add device feature list support Wu Hao
2018-03-21 23:54   ` Alan Tull
2018-03-22  4:40     ` Wu Hao
2018-03-22 21:31   ` Alan Tull
2018-03-23  4:33     ` Wu Hao
2018-03-26 17:21       ` Alan Tull
2018-03-27  2:35         ` Wu Hao
2018-03-29 21:57           ` Alan Tull
2018-04-02  4:22             ` Wu Hao
2018-04-02 19:06               ` Alan Tull
2018-04-03  1:36                 ` Wu Hao
2018-04-04 20:06                   ` Alan Tull
2018-04-06 11:01                     ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 05/24] fpga: dfl: add chardev support for feature devices Wu Hao
2018-02-13  9:24 ` [PATCH v4 06/24] fpga: dfl: adds fpga_cdev_find_port Wu Hao
     [not found]   ` <1518513893-4719-7-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-14 16:24     ` Alan Tull
2018-02-14 16:24       ` Alan Tull
     [not found]       ` <CANk1AXQgeeQm_ncn+17nrjr+YTCKvpc=PVZEsaZVOjRb3aHTQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15  9:46         ` Wu, Hao
2018-02-15  9:46           ` Wu, Hao
2018-02-14 20:55     ` Moritz Fischer
2018-02-14 20:55       ` Moritz Fischer
2018-02-13  9:24 ` [PATCH v4 07/24] fpga: dfl: add feature device infrastructure Wu Hao
     [not found]   ` <1518513893-4719-8-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-14 21:03     ` Moritz Fischer
2018-02-14 21:03       ` Moritz Fischer
     [not found]       ` <20180214210319.GC25618-KFgJe6S/L2nknyRNNOXSQ2IaLvZF3x2V0E9HWUfgJXw@public.gmane.org>
2018-02-14 21:13         ` Alan Tull
2018-02-14 21:13           ` Alan Tull
     [not found]           ` <CANk1AXRksJum6s5yB5727136DBLHs4UPW7xaLn_dT5qMEfqm9A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-15 10:05             ` Wu, Hao
2018-02-15 10:05               ` Wu, Hao
     [not found]               ` <BE8371DA886269458E0220A16DC1F8277E154EC0-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2018-02-15 19:49                 ` Moritz Fischer
2018-02-15 19:49                   ` Moritz Fischer
     [not found]                   ` <20180215194901.GA4382-KFgJe6S/L2nknyRNNOXSQ2IaLvZF3x2V0E9HWUfgJXw@public.gmane.org>
2018-02-18  2:15                     ` Wu, Hao
2018-02-18  2:15                       ` Wu, Hao
2018-02-13  9:24 ` [PATCH v4 10/24] fpga: dfl: add FPGA Management Engine driver basic framework Wu Hao
2018-04-05 18:35   ` Alan Tull
2018-04-06 11:04     ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 11/24] fpga: dfl: fme: add header sub feature support Wu Hao
     [not found]   ` <1518513893-4719-12-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-14 16:36     ` Alan Tull
2018-02-14 16:36       ` Alan Tull
2018-02-13  9:24 ` [PATCH v4 12/24] fpga: dfl: fme: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao
2018-03-19 18:29   ` Alan Tull
2018-03-20  6:46     ` Wu Hao [this message]
2018-02-13  9:24 ` [PATCH v4 13/24] fpga: region: add compat_id support Wu Hao
2018-02-28 22:55   ` Alan Tull
2018-03-01  6:17     ` Wu Hao
2018-03-05 19:42       ` Alan Tull
2018-03-06  0:56         ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 14/24] fpga: dfl: fme: add partial reconfiguration sub feature support Wu Hao
2018-03-05 22:46   ` Alan Tull
2018-03-06  2:08     ` Wu Hao
2018-03-06 18:29       ` Alan Tull
2018-03-07  4:39         ` Wu Hao
2018-03-11 20:09     ` matthew.gerlach
2018-03-12  4:29       ` Wu Hao
2018-03-12 18:53         ` Alan Tull
2018-03-12 21:36         ` matthew.gerlach
2018-03-13  1:07           ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 15/24] fpga: dfl-fme-pr: add compat_id support for dfl-fme-region platform device Wu Hao
2018-02-28 23:06   ` Alan Tull
2018-03-01  5:49     ` Wu Hao
2018-03-01 15:59       ` Alan Tull
2018-03-01 15:55         ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 16/24] fpga: dfl: add fpga manager platform driver for FME Wu Hao
2018-03-20 20:32   ` Alan Tull
2018-03-21  2:50     ` Wu Hao
2018-03-21 16:55       ` Moritz Fischer
2018-03-22  6:07         ` Wu Hao
2018-04-05 18:45           ` Alan Tull
2018-04-06 11:11             ` Wu Hao
     [not found] ` <1518513893-4719-1-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-13  9:24   ` [PATCH v4 08/24] fpga: add FPGA DFL PCIe device driver Wu Hao
2018-02-13  9:24     ` Wu Hao
2018-03-13 16:05     ` Alan Tull
2018-03-15 18:49     ` Moritz Fischer
2018-03-15 18:49       ` Moritz Fischer
2018-03-16  4:29       ` Wu Hao
2018-02-13  9:24   ` [PATCH v4 09/24] fpga: dfl-pci: add enumeration for feature devices Wu Hao
2018-02-13  9:24     ` Wu Hao
2018-03-13 18:30     ` Alan Tull
2018-03-14  5:21       ` Wu Hao
2018-03-14 14:48         ` Alan Tull
2018-02-13  9:24   ` [PATCH v4 17/24] fpga: dfl: add fpga bridge platform driver for FME Wu Hao
2018-02-13  9:24     ` Wu Hao
2018-02-13  9:24   ` [PATCH v4 19/24] fpga: dfl-fme-region: add compat_id support Wu Hao
2018-02-13  9:24     ` Wu Hao
2018-02-13  9:24   ` [PATCH v4 21/24] fpga: dfl: afu: add header sub feature support Wu Hao
2018-02-13  9:24     ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 18/24] fpga: dfl: add fpga region platform driver for FME Wu Hao
2018-02-13  9:24 ` [PATCH v4 20/24] fpga: dfl: add FPGA Accelerated Function Unit driver basic framework Wu Hao
2018-03-19 18:40   ` Alan Tull
2018-04-05 18:26   ` Alan Tull
2018-04-06 11:05     ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 22/24] fpga: dfl: afu: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao
2018-02-13  9:24 ` [PATCH v4 23/24] fpga: dfl: afu: add user afu sub feature support Wu Hao
2018-03-19 20:10   ` Alan Tull
2018-03-20  7:10     ` Wu Hao
2018-03-20 18:17       ` Alan Tull
2018-03-21  3:00         ` Wu Hao
2018-03-21 23:50       ` Alan Tull
2018-03-22  4:41         ` Wu Hao
2018-02-13  9:24 ` [PATCH v4 24/24] fpga: dfl: afu: add FPGA_PORT_DMA_MAP/UNMAP ioctls support Wu Hao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180320064659.GA31239@hao-dev \
    --to=hao.wu@intel.com \
    --cc=atull@kernel.org \
    --cc=christopher.rauer@intel.com \
    --cc=enno.luebbers@intel.com \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luwei.kang@intel.com \
    --cc=mdf@kernel.org \
    --cc=shiva.rao@intel.com \
    --cc=tim.whisonant@intel.com \
    --cc=yi.z.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.