All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Baptiste Reynal
	<b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>,
	Linux IOMMU
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	kvm-arm
	<kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org>,
	Alex Williamson
	<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: VirtualOpenSystems Technical Team
	<tech-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
Subject: Re: [PATCH v14 00/20] VFIO support for platform devices
Date: Tue, 10 Mar 2015 18:42:07 +0100	[thread overview]
Message-ID: <54FF2CEF.1050705@linaro.org> (raw)
In-Reply-To: <CAN9JPjH0MQ-f2Vp-Cpd4GZfBtvVjWZKh_WDKrZz40AK14_Awrw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi Baptiste,

Please add:
Reviewed-by: Eric Auger <eric.auger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> on the whole series
Tested-by: Eric Auger <eric.auger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> on the whole series except
AMBA specific patches.

I currently exercise the following functionalities on Calxeda Midway HW:
- MMIO read/write/mmap,
- automasked IRQ + mask/unmask (NONE flag),
- virqfd (unmask handler only).

Despite a new thorough review I failed in pointing out any new
interesting issues in this series.

just minor points below:

- PIO regions: currently read/write/mmap is not supported. I can't
figure out how much this is a problem at this point?
- nit: vfio_pci_intrs.c: may not need wait.h anymore after removal of
virqfd code. may be added in vfio.h
- nit: interrupt.h not needed at early stage in vfio_platform_private.h,
until irq introduction
- version of the driver: 0.10?

Since there is no real dependency on "[PATCH v4 0/6] vfio: type1:
support for ARM SMMUS with VFIO_IOMMU_TYPE1" I hope we can get this
upstreamed soon.

Best Regards

Eric


On 03/03/2015 11:06 AM, Baptiste Reynal wrote:
> Added Eric Auger for comments.
> 
> On Mon, Mar 2, 2015 at 5:59 PM, Baptiste Reynal
> <b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org
> <mailto:b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>> wrote:
> 
>     This patch series aims to implement VFIO support for platform
>     devices that
>     reside behind an IOMMU. Examples of such devices are devices behind
>     an ARM
>     SMMU, or behind a Samsung Exynos System MMU.
> 
>     The API used is based on the existing VFIO API that is also used
>     with PCI
>     devices. Only devices that include a basic set of IRQs and memory
>     regions are
>     targeted; devices with complex relationships with other devices on a
>     device
>     tree are not taken into account at this stage.
> 
>     This patch series may be applied on the following series/patches:
>      - [PATCH 1/1] iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition
>      - [PATCH v4 0/6] vfio: type1: support for ARM SMMUS with
>     VFIO_IOMMU_TYPE1
> 
>     A copy can be cloned from the branch vfio-platform-v14 at:
>     https://github.com/virtualopensystems/linux-kvm-arm.git
> 
>     This serie has been tested on a DMA PL330 with ARM FastModels.
> 
>     Changes since v13:
>      - Rebased on linux v4.0-rc1
>      - Re-added support for ARM AMBA devices
>      - Baptiste Reynal is the new maintainer of this serie
>     Changes since v12:
>      - Reorder chunks to be bisect-able
>     Changes since v11:
>      - Drop support for ARM AMBA devices
>      - vfio_platform_private.h is now self-contained
>      - Fix masked IRQ initialization
>     Changes since v10:
>      - Check if interrupt is already masked when setting a new trigger
>      - Fixed kasprintf with unchecked return value in VFIO AMBA driver
>     Changes since v9:
>      - Reworked the splitting of the patches that decouple virqfd from PCI
>      - Some styling issues and typos
>      - Removed superfluous includes
>      - AMBA devices are now named vfio-amba- suffixed by the AMBA device id
>      - Several other cleanups and fixes
>     Changes since v8:
>      - Separate irq handler for edge and level triggered interrupts
>      - Mutex based lock for VFIO fd open/release
>      - Fixed bug where the first region of a platform device wasn't exposed
>      - Read only regions can be MMAPed only read only
>      - Code cleanups
>     Changes since v7:
>      - Some initial placeholder functionality for PIO resources
>      - Cleaned up code for IRQ triggering, masking and unmasking
>      - Some functionality has been removed from this series and posted
>     separately:
>        - VFIO_IOMMU_TYPE1 support for ARM SMMUs
>        - IOMMU NOEXEC patches
>        - driver_override functionality for AMBA devices
>      - Several fixes
>     Changes since v6:
>      - Integrated support for AMBA devices
>      - Numerous cleanups and fixes
>     Changes since v5:
>      - Full eventfd support for IRQ masking and unmasking.
>      - Changed IOMMU_EXEC to IOMMU_NOEXEC, along with related flags in VFIO.
>      - Other fixes based on reviewer comments.
>     Changes since v4:
>      - Use static offsets for each region in the VFIO device fd
>      - Include patch in the series for the ARM SMMU to expose IOMMU_EXEC
>        availability via IOMMU_CAP_DMA_EXEC
>      - Rebased on VFIO multi domain support:
>        - IOMMU_EXEC is now available if at least one IOMMU in the container
>          supports it
>        - Expose IOMMU_EXEC if available via the capability
>     VFIO_IOMMU_PROT_EXEC
>      - Some bug fixes
>     Changes since v3:
>      - Use Kim Phillips' driver_probe_device()
>     Changes since v2:
>      - Fixed Read/Write and MMAP on device regions
>      - Removed dependency on Device Tree
>      - Interrupts support
>      - Interrupt masking/unmasking
>      - Automask level sensitive interrupts
>      - Introduced VFIO_DMA_MAP_FLAG_EXEC
>      - Code clean ups
> 
>     Antonios Motakis (20):
>       vfio/platform: initial skeleton of VFIO support for platform devices
>       vfio: platform: probe to devices on the platform bus
>       vfio: platform: add the VFIO PLATFORM module to Kconfig
>       vfio: amba: VFIO support for AMBA devices
>       vfio: amba: add the VFIO for AMBA devices module to Kconfig
>       vfio/platform: return info for bound device
>       vfio/platform: return info for device memory mapped IO regions
>       vfio/platform: read and write support for the device fd
>       vfio/platform: support MMAP of MMIO regions
>       vfio/platform: return IRQ info
>       vfio/platform: initial interrupts support code
>       vfio/platform: trigger an interrupt via eventfd
>       vfio/platform: support for level sensitive interrupts
>       vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and
>         export
>       vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit
>       vfio: add local lock for virqfd instead of depending on VFIO PCI
>       vfio: pass an opaque pointer on virqfd initialization
>       vfio: move eventfd support code for VFIO_PCI to a separate file
>       vfio: initialize the virqfd workqueue in VFIO generic code
>       vfio/platform: implement IRQ masking/unmasking via an eventfd
> 
>      drivers/vfio/Kconfig                          |   1 +
>      drivers/vfio/Makefile                         |   5 +-
>      drivers/vfio/pci/vfio_pci.c                   |   8 -
>      drivers/vfio/pci/vfio_pci_intrs.c             | 238 +-----------
>      drivers/vfio/pci/vfio_pci_private.h           |   3 -
>      drivers/vfio/platform/Kconfig                 |  19 +
>      drivers/vfio/platform/Makefile                |   8 +
>      drivers/vfio/platform/vfio_amba.c             | 115 ++++++
>      drivers/vfio/platform/vfio_platform.c         | 103 +++++
>      drivers/vfio/platform/vfio_platform_common.c  | 521
>     ++++++++++++++++++++++++++
>      drivers/vfio/platform/vfio_platform_irq.c     | 336 +++++++++++++++++
>      drivers/vfio/platform/vfio_platform_private.h |  85 +++++
>      drivers/vfio/vfio.c                           |   8 +
>      drivers/vfio/virqfd.c                         | 213 +++++++++++
>      include/linux/vfio.h                          |  27 ++
>      include/uapi/linux/vfio.h                     |   2 +
>      16 files changed, 1456 insertions(+), 236 deletions(-)
>      create mode 100644 drivers/vfio/platform/Kconfig
>      create mode 100644 drivers/vfio/platform/Makefile
>      create mode 100644 drivers/vfio/platform/vfio_amba.c
>      create mode 100644 drivers/vfio/platform/vfio_platform.c
>      create mode 100644 drivers/vfio/platform/vfio_platform_common.c
>      create mode 100644 drivers/vfio/platform/vfio_platform_irq.c
>      create mode 100644 drivers/vfio/platform/vfio_platform_private.h
>      create mode 100644 drivers/vfio/virqfd.c
> 
>     --
>     2.3.1
> 
> 

  parent reply	other threads:[~2015-03-10 17:42 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-02 16:59 [PATCH v14 00/20] VFIO support for platform devices Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 01/20] vfio/platform: initial skeleton of " Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 02/20] vfio: platform: probe to devices on the platform bus Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 03/20] vfio: platform: add the VFIO PLATFORM module to Kconfig Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 04/20] vfio: amba: VFIO support for AMBA devices Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 05/20] vfio: amba: add the VFIO for AMBA devices module to Kconfig Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 06/20] vfio/platform: return info for bound device Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 07/20] vfio/platform: return info for device memory mapped IO regions Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 08/20] vfio/platform: read and write support for the device fd Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 09/20] vfio/platform: support MMAP of MMIO regions Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 10/20] vfio/platform: return IRQ info Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 11/20] vfio/platform: initial interrupts support code Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 12/20] vfio/platform: trigger an interrupt via eventfd Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 13/20] vfio/platform: support for level sensitive interrupts Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 14/20] vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 15/20] vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 16/20] vfio: add local lock for virqfd instead of depending on VFIO PCI Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 17/20] vfio: pass an opaque pointer on virqfd initialization Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 18/20] vfio: move eventfd support code for VFIO_PCI to a separate file Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-02 16:59 ` [PATCH v14 19/20] vfio: initialize the virqfd workqueue in VFIO generic code Baptiste Reynal
2015-03-02 16:59   ` Baptiste Reynal
2015-03-17 22:29   ` Alex Williamson
2015-03-17 23:04     ` Alex Williamson
2015-03-18 13:39       ` Baptiste Reynal
2015-03-18 13:39         ` Baptiste Reynal
2015-03-02 17:00 ` [PATCH v14 20/20] vfio/platform: implement IRQ masking/unmasking via an eventfd Baptiste Reynal
2015-03-02 17:00   ` Baptiste Reynal
     [not found] ` <1425315600-29761-1-git-send-email-b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
2015-03-03 10:06   ` [PATCH v14 00/20] VFIO support for platform devices Baptiste Reynal
     [not found]     ` <CAN9JPjH0MQ-f2Vp-Cpd4GZfBtvVjWZKh_WDKrZz40AK14_Awrw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-10 17:42       ` Eric Auger [this message]
     [not found]         ` <54FF2CEF.1050705-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-10 18:04           ` Alex Williamson
     [not found]             ` <1426010680.25026.77.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-11  8:40               ` Eric Auger
     [not found]                 ` <54FFFF96.4010200-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-11 10:08                   ` Baptiste Reynal
2015-03-11 15:52                     ` Eric Auger
     [not found]                       ` <550064C9.9050408-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-11 17:14                         ` Baptiste Reynal
     [not found]                     ` <CAN9JPjFpcu7NkgoCmMGZTw191g79mmtsbqzmj6z8s_bTMNKMPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-11 15:54                       ` Alex Williamson
2015-03-16 21:59       ` Alex Williamson

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=54FF2CEF.1050705@linaro.org \
    --to=eric.auger-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org \
    --cc=tech-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@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 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.