From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4843FA04DE;
	Fri, 23 Oct 2020 12:06:31 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id BA4F472DF;
	Fri, 23 Oct 2020 12:06:28 +0200 (CEST)
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by dpdk.org (Postfix) with ESMTP id 08D0C6A68
 for <dev@dpdk.org>; Fri, 23 Oct 2020 12:06:25 +0200 (CEST)
IronPort-SDR: 4DRIMeecjP6u5UdvwCaxjRmK6cePWPhZAPAsz3kdPiZGNueJafWCXUCOlBbv8nYw1Nc40z6s9n
 lJFpLj6VEs9w==
X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="154611766"
X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="154611766"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Oct 2020 03:06:20 -0700
IronPort-SDR: IUEOfRHmqHIMKIIUumgQC2dNjbNiQPt9Tmtsurf7dc1N2R+DmM7+X8f55VXI5sr7vcsfE6S2Xz
 UxJXp+h7s5qw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="523454724"
Received: from unknown (HELO sh_lab5_1.sh.intel.com) ([10.238.175.190])
 by fmsmga006.fm.intel.com with ESMTP; 23 Oct 2020 03:06:17 -0700
From: Tianfei zhang <tianfei.zhang@intel.com>
To: dev@dpdk.org ,
	rosen.xu@intel.com,
	qi.z.zhang@intel.com
Cc: Tianfei zhang <tianfei.zhang@intel.com>
Date: Fri, 23 Oct 2020 05:06:28 -0400
Message-Id: <1603443988-7797-1-git-send-email-tianfei.zhang@intel.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1600846213-18093-1-git-send-email-tianfei.zhang@intel.com>
References: <1600846213-18093-1-git-send-email-tianfei.zhang@intel.com>
Subject: [dpdk-dev] [PATCH v3 0/5] raw/ifpga/base: An improvement for
	multi-process
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

This patches set will improve the ifpga base driver reliability in
multi-process environment.

Main changes from v2:
- Fix typo in some commit log.

Main changes from v3:
- Split into 2 small patches, one is fix the pointer variable, other is
fix the return value.
- Free the driver's resource in rawdev close ops. 

Patch #1: Fix a bug for register and unregister interrupt
functions.
Patch #2: Fix the return value of unsupported interrupt type.
Patch #3: Fix the return value of ifpga_unregister_msix_irq(), because 
rte_intr_callback_unregister() can return positive as success.
Patch #4: Clean up the ifpga resource when close the application.
Patch #5: An improvement of the concurrent in multi-process operation.
A share memory mechanism and some new mutex will be used for multi-process
protection.


Wei Huang (5):
  raw/ifpga/base: fix interrupt handler instance usage
  raw/ifpga/base: handle unsupported interrupt type
  raw/ifpga/base: fix return of IRQ unregister properly
  raw/ifpga/base: free resources when destroying ifpga device
  raw/ifpga/base: enhance driver reliablity in multi-process

 drivers/raw/ifpga/base/ifpga_api.c            |  12 +
 drivers/raw/ifpga/base/ifpga_enumerate.c      |  16 ++
 drivers/raw/ifpga/base/ifpga_enumerate.h      |   1 +
 drivers/raw/ifpga/base/ifpga_fme.c            |  52 +++-
 drivers/raw/ifpga/base/meson.build            |  12 +
 drivers/raw/ifpga/base/opae_hw_api.c          | 250 ++++++++++++++++++
 drivers/raw/ifpga/base/opae_hw_api.h          |  27 +-
 drivers/raw/ifpga/base/opae_i2c.c             |   9 +-
 drivers/raw/ifpga/base/opae_i2c.h             |   1 +
 drivers/raw/ifpga/base/opae_intel_max10.c     | 152 ++++++-----
 drivers/raw/ifpga/base/opae_spi.c             |   4 +
 drivers/raw/ifpga/base/opae_spi.h             |   5 +
 drivers/raw/ifpga/base/opae_spi_transaction.c |  15 +-
 drivers/raw/ifpga/ifpga_rawdev.c              |  60 +++--
 14 files changed, 523 insertions(+), 93 deletions(-)

-- 
2.17.1