layerscape: update linux 4.9 patches to LSDK-18.06
[openwrt/staging/mkresin.git] / target / linux / layerscape / patches-4.9 / 818-vfio-support-layerscape.patch
index 05806a98d01c4df887e668eacfaee608e52add6e..f2a65ffba5962d81f852a1e6b625f0fa60b9e1ee 100644 (file)
@@ -1,7 +1,7 @@
-From 954edeee88305fecefe3f681e67a298f06e27974 Mon Sep 17 00:00:00 2001
+From e6af99cc1d56322fc960d072af1a7e0e9285b90c Mon Sep 17 00:00:00 2001
 From: Yangbo Lu <yangbo.lu@nxp.com>
-Date: Wed, 17 Jan 2018 15:48:47 +0800
-Subject: [PATCH 30/30] vfio: support layerscape
+Date: Thu, 5 Jul 2018 17:39:43 +0800
+Subject: [PATCH 30/32] vfio: support layerscape
 
 This is an integrated patch for layerscape vfio support.
 
@@ -15,12 +15,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  drivers/vfio/Makefile                     |   1 +
  drivers/vfio/fsl-mc/Kconfig               |   9 +
  drivers/vfio/fsl-mc/Makefile              |   2 +
- drivers/vfio/fsl-mc/vfio_fsl_mc.c         | 753 ++++++++++++++++++++++++++++++
- drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c    | 199 ++++++++
- drivers/vfio/fsl-mc/vfio_fsl_mc_private.h |  55 +++
+ drivers/vfio/fsl-mc/vfio_fsl_mc.c         | 75++++++++++++++++++++++
+ drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c    | 199 ++++++
+ drivers/vfio/fsl-mc/vfio_fsl_mc_private.h |  55 ++
  drivers/vfio/vfio_iommu_type1.c           |  39 +-
  include/uapi/linux/vfio.h                 |   1 +
- 9 files changed, 1058 insertions(+), 2 deletions(-)
+ 9 files changed, 1057 insertions(+), 2 deletions(-)
  create mode 100644 drivers/vfio/fsl-mc/Kconfig
  create mode 100644 drivers/vfio/fsl-mc/Makefile
  create mode 100644 drivers/vfio/fsl-mc/vfio_fsl_mc.c
@@ -61,7 +61,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-$(CONFIG_VFIO_FSL_MC) += vfio_fsl_mc.o vfio_fsl_mc_intr.o
 --- /dev/null
 +++ b/drivers/vfio/fsl-mc/vfio_fsl_mc.c
-@@ -0,0 +1,753 @@
+@@ -0,0 +1,752 @@
 +/*
 + * Freescale Management Complex (MC) device passthrough using VFIO
 + *
@@ -83,10 +83,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#include <linux/vfio.h>
 +#include <linux/delay.h>
 +
-+#include "../../staging/fsl-mc/include/mc.h"
-+#include "../../staging/fsl-mc/include/mc-bus.h"
-+#include "../../staging/fsl-mc/include/mc-sys.h"
-+#include "../../staging/fsl-mc/bus/dprc-cmd.h"
++#include <linux/fsl/mc.h>
 +
 +#include "vfio_fsl_mc_private.h"
 +
@@ -353,8 +350,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      uint64_t data[8];
 +      int i;
 +
-+      /* Read ioctl supported only for DPRC device */
-+      if (strcmp(vdev->mc_dev->obj_desc.type, "dprc"))
++      /* Read ioctl supported only for DPRC and DPMCP device */
++      if (strcmp(vdev->mc_dev->obj_desc.type, "dprc") &&
++          strcmp(vdev->mc_dev->obj_desc.type, "dpmcp"))
 +              return -EINVAL;
 +
 +      if (index >= vdev->num_regions)
@@ -455,8 +453,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      uint64_t data[8];
 +      int ret;
 +
-+      /* Write ioctl supported only for DPRC device */
-+      if (strcmp(vdev->mc_dev->obj_desc.type, "dprc"))
++      /* Write ioctl supported only for DPRC and DPMCP device */
++      if (strcmp(vdev->mc_dev->obj_desc.type, "dprc") &&
++          strcmp(vdev->mc_dev->obj_desc.type, "dpmcp"))
 +              return -EINVAL;
 +
 +      if (index >= vdev->num_regions)
@@ -835,7 +834,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#include <linux/eventfd.h>
 +#include <linux/msi.h>
 +
-+#include "../../staging/fsl-mc/include/mc.h"
++#include "linux/fsl/mc.h"
 +#include "vfio_fsl_mc_private.h"
 +
 +static irqreturn_t vfio_fsl_mc_irq_handler(int irq_num, void *arg)