linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wu Hao <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Alan Tull <atull-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Moritz Fischer <mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-fpga-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Kang,
	Luwei" <luwei.kang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Zhang,
	Yi Z" <yi.z.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v3 03/21] fpga: mgr: add status for fpga-manager
Date: Wed, 13 Dec 2017 12:48:08 +0800	[thread overview]
Message-ID: <20171213044808.GA26748@hao-dev> (raw)
In-Reply-To: <CANk1AXTGdskD9rT5wty1pFeBQ9jK5BhRZFCVbkY3iG9EeEXOvQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Tue, Dec 12, 2017 at 12:18:06PM -0600, Alan Tull wrote:
> On Mon, Nov 27, 2017 at 12:42 AM, Wu Hao <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> > This patch adds status to fpga-manager data structure, to allow
> > driver to store full/partial reconfiguration errors and other
> > status information, and adds one status callback to fpga_manager_ops
> > to allow fpga_manager to collect latest status when failures are
> > detected.
> >
> > The following sysfs file is created:
> > * /sys/class/fpga_manager/<fpga>/status
> >   Return status of fpga manager, including reconfiguration errors.
> >
> > Signed-off-by: Wu Hao <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > ----
> > v3: add one line description for status
> >     add status callback function to fpga_manager_ops
> >     update fpga-mgr status if any failure or during initialization
> >     s/INCOMPATIBLE_BS_ERR/INCOMPATIBLE_IMAGE_ERR/
> > ---
> >  Documentation/ABI/testing/sysfs-class-fpga-manager | 10 ++++++++
> >  drivers/fpga/fpga-mgr.c                            | 28 ++++++++++++++++++++++
> >  include/linux/fpga/fpga-mgr.h                      | 17 +++++++++++++
> >  3 files changed, 55 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-class-fpga-manager b/Documentation/ABI/testing/sysfs-class-fpga-manager
> > index 23056c5..01db14d 100644
> > --- a/Documentation/ABI/testing/sysfs-class-fpga-manager
> > +++ b/Documentation/ABI/testing/sysfs-class-fpga-manager
> > @@ -35,3 +35,13 @@ Description: Read fpga manager state as a string.
> >                 * write complete        = Doing post programming steps
> >                 * write complete error  = Error while doing post programming
> >                 * operating             = FPGA is programmed and operating
> > +
> > +What:          /sys/class/fpga_manager/<fpga>/status
> > +Date:          November 2017
> > +KernelVersion: 4.15
> > +Contact:       Wu Hao <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > +Description:   Read fpga manager status as a string.
> > +               If FPGA programming operation fails, it could be due to crc
> > +               error or incompatible bitstream image. The intent of this
> > +               interface is to provide more detailed information for FPGA
> > +               programming errors to userspace.
> 
> Hi Hao,
> 
> Please also add a list of status strings that can be given, such as
> "reconfig operation error"  I understand that this list may grow
> somewhat in the future.

Sure, will add it in the next version.

Thanks
Hao

> 
> Alan
> 
> > diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
> > index 1fd5494..8b583ba 100644
> > --- a/drivers/fpga/fpga-mgr.c
> > +++ b/drivers/fpga/fpga-mgr.c
> > @@ -88,6 +88,7 @@ static int fpga_mgr_write_init_buf(struct fpga_manager *mgr,
> >         if (ret) {
> >                 dev_err(&mgr->dev, "Error preparing FPGA for writing\n");
> >                 mgr->state = FPGA_MGR_STATE_WRITE_INIT_ERR;
> > +               fpga_mgr_update_status(mgr);
> >                 return ret;
> >         }
> >
> > @@ -148,6 +149,7 @@ static int fpga_mgr_write_complete(struct fpga_manager *mgr,
> >         if (ret) {
> >                 dev_err(&mgr->dev, "Error after writing image data to FPGA\n");
> >                 mgr->state = FPGA_MGR_STATE_WRITE_COMPLETE_ERR;
> > +               fpga_mgr_update_status(mgr);
> >                 return ret;
> >         }
> >         mgr->state = FPGA_MGR_STATE_OPERATING;
> > @@ -225,6 +227,7 @@ static int fpga_mgr_buf_load_mapped(struct fpga_manager *mgr,
> >         if (ret) {
> >                 dev_err(&mgr->dev, "Error while writing image data to FPGA\n");
> >                 mgr->state = FPGA_MGR_STATE_WRITE_ERR;
> > +               fpga_mgr_update_status(mgr);
> >                 return ret;
> >         }
> >
> > @@ -397,12 +400,36 @@ static ssize_t state_show(struct device *dev,
> >         return sprintf(buf, "%s\n", state_str[mgr->state]);
> >  }
> >
> > +static ssize_t status_show(struct device *dev,
> > +                          struct device_attribute *attr, char *buf)
> > +{
> > +       struct fpga_manager *mgr = to_fpga_manager(dev);
> > +       int len = 0;
> > +
> > +       if (mgr->status & FPGA_MGR_STATUS_OPERATION_ERR)
> > +               len += sprintf(buf + len, "reconfig operation error\n");
> > +       if (mgr->status & FPGA_MGR_STATUS_CRC_ERR)
> > +               len += sprintf(buf + len, "reconfig CRC error\n");
> > +       if (mgr->status & FPGA_MGR_STATUS_INCOMPATIBLE_IMAGE_ERR)
> > +               len += sprintf(buf + len, "reconfig incompatible image\n");
> > +       if (mgr->status & FPGA_MGR_STATUS_IP_PROTOCOL_ERR)
> > +               len += sprintf(buf + len, "reconfig IP protocol error\n");
> > +       if (mgr->status & FPGA_MGR_STATUS_FIFO_OVERFLOW_ERR)
> > +               len += sprintf(buf + len, "reconfig fifo overflow error\n");
> > +       if (mgr->status & FPGA_MGR_STATUS_SECURE_LOAD_ERR)
> > +               len += sprintf(buf + len, "reconfig secure load error\n");
> > +
> > +       return len;
> > +}

  parent reply	other threads:[~2017-12-13  4:48 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27  6:42 [PATCH v3 00/21] Intel FPGA Device Drivers Wu Hao
     [not found] ` <1511764948-20972-1-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-11-27  6:42   ` [PATCH v3 01/21] docs: fpga: add a document for Intel FPGA driver overview Wu Hao
2017-12-04 19:55     ` Alan Tull
2017-12-05  3:57       ` Wu Hao
2017-12-06 10:04       ` David Laight
     [not found]     ` <1511764948-20972-2-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-12-20 22:31       ` Alan Tull
     [not found]         ` <CANk1AXTLBWXGUozXJdKRThJwLiHJ==B--DkkE+YRjveA2YvifQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-21  6:02           ` Wu Hao
2017-11-27  6:42   ` [PATCH v3 04/21] fpga: add device feature list support Wu Hao
     [not found]     ` <1511764948-20972-5-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-11-29  6:07       ` Moritz Fischer
2017-11-30  5:59         ` Wu Hao
2017-12-20 22:29     ` Alan Tull
2017-12-21  0:58       ` Alan Tull
     [not found]         ` <CANk1AXR76T4x=BNcW=ukmcb45GadRPPcrtBDJEjxutCSHuNQNQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-21  7:22           ` Wu Hao
2017-12-22  8:45             ` Wu Hao
2018-01-31 23:22               ` Alan Tull
2017-11-27 21:26   ` [PATCH v3 00/21] Intel FPGA Device Drivers Alan Tull
2017-11-27  6:42 ` [PATCH v3 02/21] fpga: mgr: add region_id to fpga_image_info Wu Hao
     [not found]   ` <1511764948-20972-3-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-11-29  6:11     ` Moritz Fischer
2017-12-04 20:26       ` Alan Tull
     [not found]         ` <CANk1AXTbrD3w=VEzXqTRfebgTYSRNGANthwN_PLVz8WWtxb7CA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-05  3:36           ` Wu Hao
2018-01-31 15:35             ` Alan Tull
2018-02-01  5:05               ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 03/21] fpga: mgr: add status for fpga-manager Wu Hao
     [not found]   ` <1511764948-20972-4-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-12-04 20:55     ` Alan Tull
     [not found]       ` <CANk1AXSPQb3=bwaRQsysuiM5NiS6KpKRazP-WNLuus-C=UP6pg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-05  4:08         ` Wu Hao
2017-12-12 18:18   ` Alan Tull
     [not found]     ` <CANk1AXTGdskD9rT5wty1pFeBQ9jK5BhRZFCVbkY3iG9EeEXOvQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-13  4:48       ` Wu Hao [this message]
2017-11-27  6:42 ` [PATCH v3 05/21] fpga: dfl: add chardev support for feature devices Wu Hao
2017-11-27  6:42 ` [PATCH v3 06/21] fpga: dfl: adds fpga_cdev_find_port Wu Hao
2018-02-05 22:08   ` Alan Tull
2018-02-06  2:37     ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 07/21] fpga: dfl: add feature device infrastructure Wu Hao
2017-11-27  6:42 ` [PATCH v3 08/21] fpga: add Intel FPGA DFL PCIe device Wu Hao
2017-11-27 10:28   ` David Laight
     [not found]     ` <f5ae8e5edf88420e89cfbe754407b92e-1XygrNkDbNvwg4NCKwmqgw@public.gmane.org>
2017-11-28  3:15       ` Wu Hao
2017-12-04 19:46         ` Alan Tull
     [not found]           ` <CANk1AXRBEcz5_j+v0oTAXfH10hrPbHGabdR8Pqt07exYxYgfCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-05  3:33             ` Wu Hao
2017-12-05 17:00               ` Alan Tull
2017-12-06  5:30                 ` Wu Hao
2017-12-06  9:44                   ` David Laight
     [not found]                     ` <e73f5bc9bfc54efcb7b7c43c66379452-1XygrNkDbNvwg4NCKwmqgw@public.gmane.org>
2017-12-06 15:29                       ` Alan Tull
2017-12-06 16:28                         ` David Laight
2017-12-06 22:39                           ` Alan Tull
2018-02-01 21:59                   ` Alan Tull
2018-02-13  9:36                     ` Wu Hao
2017-12-06  9:34               ` David Laight
     [not found]                 ` <391be54799604c1fb3d7b80c7ad6d111-1XygrNkDbNvwg4NCKwmqgw@public.gmane.org>
2017-12-07  3:47                   ` Wu Hao
2017-12-06  9:31             ` David Laight
2017-11-27  6:42 ` [PATCH v3 09/21] fpga: intel-dfl-pci: add enumeration for feature devices Wu Hao
     [not found]   ` <1511764948-20972-10-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-12-07 21:41     ` Alan Tull
     [not found]       ` <CANk1AXQ3+Y6De1i6i0YacUxS+vBzhEfRX_jJ_wQKJOCWmYetxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-08  9:25         ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 10/21] fpga: dfl: add FPGA Management Engine driver basic framework Wu Hao
2017-11-27  6:42 ` [PATCH v3 11/21] fpga: dfl: fme: add header sub feature support Wu Hao
     [not found]   ` <1511764948-20972-12-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-12 16:51     ` Alan Tull
     [not found]       ` <CANk1AXR2Q4M4c1TOQhR2J_Mz5MjwZWbR0JUXCR5jFVL_kZtcag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13  3:44         ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 12/21] fpga: dfl: fme: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao
     [not found]   ` <1511764948-20972-13-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-31 15:31     ` Alan Tull
2018-02-01  5:11       ` Wu Hao
2018-02-01 15:11         ` Moritz Fischer
2017-11-27  6:42 ` [PATCH v3 13/21] fpga: dfl: fme: add partial reconfiguration sub feature support Wu Hao
2017-11-27  6:42 ` [PATCH v3 14/21] fpga: dfl: add fpga manager platform driver for FME Wu Hao
     [not found]   ` <1511764948-20972-15-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-01 22:00     ` Alan Tull
2018-02-02  9:42       ` Wu Hao
2018-02-03  0:26         ` Luebbers, Enno
2018-02-03 10:41           ` Moritz Fischer
     [not found]             ` <20180203104124.luniynyrr6iwxozd-jTBNv906mVBPs60s1yRl3w@public.gmane.org>
2018-02-04 10:05               ` Wu Hao
2018-02-05 17:21                 ` Alan Tull
     [not found]                   ` <CANk1AXRxkUqPqknzb+-apvjZM6MFRom9fscHPmMc8MTYSLpooA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-06  2:17                     ` Wu Hao
2018-02-06  4:25                       ` Alan Tull
     [not found]                         ` <CANk1AXTYtLu_cnKG75FjBRCf5FAoHFj6saNRncYPjQpJoXd1eg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-06  5:23                           ` Wu Hao
2018-02-06  6:44                           ` Moritz Fischer
     [not found]           ` <20180203002626.GA51125-8lsKh0Wp6ypIVPrYeAqNvTMJUdESFZ8XQQ4Iyu8u01E@public.gmane.org>
2018-02-04  9:37             ` Wu Hao
2018-02-05 18:36               ` Luebbers, Enno
     [not found]                 ` <20180205183644.GA52136-8lsKh0Wp6yrYELzPhwCr0YT4S9po1h25@public.gmane.org>
2018-02-06  1:47                   ` Wu Hao
2018-02-06  4:25                     ` Alan Tull
     [not found]                       ` <CANk1AXRe85Ns1_cUPdn02yS9Gc6i5cYYhko7snvjfzxQSzUzNA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-06  6:47                         ` Wu Hao
2018-02-06 18:53                           ` Alan Tull
2018-02-07  4:52                             ` Wu Hao
2018-02-07 22:37                               ` Alan Tull
2017-11-27  6:42 ` [PATCH v3 15/21] fpga: dfl: add fpga bridge " Wu Hao
     [not found]   ` <1511764948-20972-16-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-31 15:16     ` Alan Tull
2018-02-01  5:15       ` Wu Hao
2018-02-01 15:11         ` Moritz Fischer
2017-11-27  6:42 ` [PATCH v3 16/21] fpga: dfl: add fpga region " Wu Hao
2018-01-31 20:46   ` Alan Tull
2018-02-01  5:23     ` Wu Hao
2018-02-01 15:13       ` Moritz Fischer
2017-11-27  6:42 ` [PATCH v3 17/21] fpga: dfl: add FPGA Accelerated Function Unit driver basic framework Wu Hao
2017-11-27  6:42 ` [PATCH v3 18/21] fpga: dfl: afu: add header sub feature support Wu Hao
     [not found]   ` <1511764948-20972-19-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-02-12 17:43     ` Alan Tull
     [not found]       ` <CANk1AXT0s1W99cRvWmT80nB+Buivt9xmjziDAz6pyxY-EJF2Fw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-13  3:33         ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 19/21] fpga: dfl: afu: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao
     [not found]   ` <1511764948-20972-20-git-send-email-hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-31 14:52     ` Alan Tull
2018-02-01  5:16       ` Wu Hao
2018-02-01 15:13         ` Moritz Fischer
     [not found]           ` <20180201151309.q3jjx42y6ldcrhc6-y7F9n2Zoz0NnbPI/LkqVKXLzTDPwzsqGqZgBStWHTEI@public.gmane.org>
2018-02-02  9:08             ` Wu Hao
2017-11-27  6:42 ` [PATCH v3 20/21] fpga: dfl: afu: add user afu sub feature support Wu Hao
2017-11-27  6:42 ` [PATCH v3 21/21] 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=20171213044808.GA26748@hao-dev \
    --to=hao.wu-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=atull-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fpga-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=luwei.kang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=mdf-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=yi.z.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).