* [PATCH] vfio: platform: use vfio_iommu_group_get/put @ 2016-05-09 10:01 Peng Fan 2016-05-09 15:32 ` Alex Williamson 0 siblings, 1 reply; 10+ messages in thread From: Peng Fan @ 2016-05-09 10:01 UTC (permalink / raw) To: alex.williamson, b.reynal; +Cc: kvm, linux-kernel, van.freenix Use vfio_iommu_group_get and vfio_iommu_group_put, but not iommu_group_get or iommu_group_put. Signed-off-by: Peng Fan <van.freenix@gmail.com> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> Cc: Alex Williamson <alex.williamson@redhat.com> --- drivers/vfio/platform/vfio_platform_common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c index e65b142..582885e 100644 --- a/drivers/vfio/platform/vfio_platform_common.c +++ b/drivers/vfio/platform/vfio_platform_common.c @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, vdev->device = dev; - group = iommu_group_get(dev); + group = vfio_iommu_group_get(dev); if (!group) { pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); return -EINVAL; @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); if (ret) { - iommu_group_put(group); + vfio_iommu_group_put(group); return ret; } @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) if (vdev) { vfio_platform_put_reset(vdev); - iommu_group_put(dev->iommu_group); + vfio_iommu_group_put(dev->iommu_group, dev); } return vdev; -- 2.6.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-09 10:01 [PATCH] vfio: platform: use vfio_iommu_group_get/put Peng Fan @ 2016-05-09 15:32 ` Alex Williamson 2016-05-10 7:40 ` Peng Fan 0 siblings, 1 reply; 10+ messages in thread From: Alex Williamson @ 2016-05-09 15:32 UTC (permalink / raw) To: Peng Fan; +Cc: b.reynal, kvm, linux-kernel On Mon, 9 May 2016 18:01:43 +0800 Peng Fan <van.freenix@gmail.com> wrote: > Use vfio_iommu_group_get and vfio_iommu_group_put, but not > iommu_group_get or iommu_group_put. I assume you're trying to duplicate the vfio_pci changes from commit 03a76b60f8ba to enable no-iommu mode. That would be really relevant information for the commit log. > > Signed-off-by: Peng Fan <van.freenix@gmail.com> > Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> > Cc: Alex Williamson <alex.williamson@redhat.com> > --- > drivers/vfio/platform/vfio_platform_common.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c > index e65b142..582885e 100644 > --- a/drivers/vfio/platform/vfio_platform_common.c > +++ b/drivers/vfio/platform/vfio_platform_common.c > @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > > vdev->device = dev; > > - group = iommu_group_get(dev); > + group = vfio_iommu_group_get(dev); > if (!group) { > pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); > return -EINVAL; > @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > > ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); > if (ret) { > - iommu_group_put(group); > + vfio_iommu_group_put(group); > return ret; > } > > @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) > > if (vdev) { > vfio_platform_put_reset(vdev); > - iommu_group_put(dev->iommu_group); > + vfio_iommu_group_put(dev->iommu_group, dev); > } > > return vdev; ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-09 15:32 ` Alex Williamson @ 2016-05-10 7:40 ` Peng Fan 2016-05-19 21:01 ` Alex Williamson 0 siblings, 1 reply; 10+ messages in thread From: Peng Fan @ 2016-05-10 7:40 UTC (permalink / raw) To: Alex Williamson; +Cc: b.reynal, kvm, linux-kernel Hi Alex, On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >On Mon, 9 May 2016 18:01:43 +0800 >Peng Fan <van.freenix@gmail.com> wrote: > >> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >> iommu_group_get or iommu_group_put. > >I assume you're trying to duplicate the vfio_pci changes from commit >03a76b60f8ba to enable no-iommu mode. That would be really relevant >information for the commit log. This is not to support non-iommu for vfio platform. I just think vfio_iommu_group_get/put is vfio core API and should be used by vfio-pci and vfio-platform. Thanks, Peng. > >> >> Signed-off-by: Peng Fan <van.freenix@gmail.com> >> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >> Cc: Alex Williamson <alex.williamson@redhat.com> >> --- >> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >> index e65b142..582885e 100644 >> --- a/drivers/vfio/platform/vfio_platform_common.c >> +++ b/drivers/vfio/platform/vfio_platform_common.c >> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >> >> vdev->device = dev; >> >> - group = iommu_group_get(dev); >> + group = vfio_iommu_group_get(dev); >> if (!group) { >> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >> return -EINVAL; >> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >> >> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >> if (ret) { >> - iommu_group_put(group); >> + vfio_iommu_group_put(group); >> return ret; >> } >> >> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >> >> if (vdev) { >> vfio_platform_put_reset(vdev); >> - iommu_group_put(dev->iommu_group); >> + vfio_iommu_group_put(dev->iommu_group, dev); >> } >> >> return vdev; > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-10 7:40 ` Peng Fan @ 2016-05-19 21:01 ` Alex Williamson 2016-05-20 7:58 ` Eric Auger 0 siblings, 1 reply; 10+ messages in thread From: Alex Williamson @ 2016-05-19 21:01 UTC (permalink / raw) To: Peng Fan; +Cc: b.reynal, kvm, linux-kernel, Eric Auger On Tue, 10 May 2016 15:40:28 +0800 Peng Fan <van.freenix@gmail.com> wrote: > Hi Alex, > > On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: > >On Mon, 9 May 2016 18:01:43 +0800 > >Peng Fan <van.freenix@gmail.com> wrote: > > > >> Use vfio_iommu_group_get and vfio_iommu_group_put, but not > >> iommu_group_get or iommu_group_put. > > > >I assume you're trying to duplicate the vfio_pci changes from commit > >03a76b60f8ba to enable no-iommu mode. That would be really relevant > >information for the commit log. > > This is not to support non-iommu for vfio platform. I just think > vfio_iommu_group_get/put is vfio core API and should be used by > vfio-pci and vfio-platform. Hi Peng, I suppose I would consider this an optional part of the internal vfio API, it's only real purpose it to provide the ability to create fake groups which are only used for no-iommu. It's perfectly legitimate to use iommu_group_get/put if there is no desire to enable no-iommu. Baptiste, Eric, do you have an opinion whether enabling no-iommu in vfio/platform is something we should do? Thanks, Alex > >> > >> Signed-off-by: Peng Fan <van.freenix@gmail.com> > >> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> > >> Cc: Alex Williamson <alex.williamson@redhat.com> > >> --- > >> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- > >> 1 file changed, 3 insertions(+), 3 deletions(-) > >> > >> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c > >> index e65b142..582885e 100644 > >> --- a/drivers/vfio/platform/vfio_platform_common.c > >> +++ b/drivers/vfio/platform/vfio_platform_common.c > >> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > >> > >> vdev->device = dev; > >> > >> - group = iommu_group_get(dev); > >> + group = vfio_iommu_group_get(dev); > >> if (!group) { > >> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); > >> return -EINVAL; > >> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > >> > >> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); > >> if (ret) { > >> - iommu_group_put(group); > >> + vfio_iommu_group_put(group); > >> return ret; > >> } > >> > >> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) > >> > >> if (vdev) { > >> vfio_platform_put_reset(vdev); > >> - iommu_group_put(dev->iommu_group); > >> + vfio_iommu_group_put(dev->iommu_group, dev); > >> } > >> > >> return vdev; > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-19 21:01 ` Alex Williamson @ 2016-05-20 7:58 ` Eric Auger 2016-05-20 8:20 ` Baptiste Reynal 0 siblings, 1 reply; 10+ messages in thread From: Eric Auger @ 2016-05-20 7:58 UTC (permalink / raw) To: Alex Williamson, Peng Fan; +Cc: b.reynal, kvm, linux-kernel Hi, On 05/19/2016 11:01 PM, Alex Williamson wrote: > On Tue, 10 May 2016 15:40:28 +0800 > Peng Fan <van.freenix@gmail.com> wrote: > >> Hi Alex, >> >> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >>> On Mon, 9 May 2016 18:01:43 +0800 >>> Peng Fan <van.freenix@gmail.com> wrote: >>> >>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >>>> iommu_group_get or iommu_group_put. >>> >>> I assume you're trying to duplicate the vfio_pci changes from commit >>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant >>> information for the commit log. >> >> This is not to support non-iommu for vfio platform. I just think >> vfio_iommu_group_get/put is vfio core API and should be used by >> vfio-pci and vfio-platform. > > Hi Peng, > > I suppose I would consider this an optional part of the internal vfio > API, it's only real purpose it to provide the ability to create fake > groups which are only used for no-iommu. It's perfectly legitimate to > use iommu_group_get/put if there is no desire to enable no-iommu. > Baptiste, Eric, do you have an opinion whether enabling no-iommu in > vfio/platform is something we should do? Thanks, I think it would make sense to introduce that no-iommu feature for vfio-platform because it allows potential users to get familiar with VFIO platform without having the proper HW. I also thought the primary purpose of this patch was to introduce that support. Best Regards Eric > > Alex > >>>> >>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> >>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >>>> Cc: Alex Williamson <alex.williamson@redhat.com> >>>> --- >>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >>>> index e65b142..582885e 100644 >>>> --- a/drivers/vfio/platform/vfio_platform_common.c >>>> +++ b/drivers/vfio/platform/vfio_platform_common.c >>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>> >>>> vdev->device = dev; >>>> >>>> - group = iommu_group_get(dev); >>>> + group = vfio_iommu_group_get(dev); >>>> if (!group) { >>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >>>> return -EINVAL; >>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>> >>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >>>> if (ret) { >>>> - iommu_group_put(group); >>>> + vfio_iommu_group_put(group); >>>> return ret; >>>> } >>>> >>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >>>> >>>> if (vdev) { >>>> vfio_platform_put_reset(vdev); >>>> - iommu_group_put(dev->iommu_group); >>>> + vfio_iommu_group_put(dev->iommu_group, dev); >>>> } >>>> >>>> return vdev; >>> > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-20 7:58 ` Eric Auger @ 2016-05-20 8:20 ` Baptiste Reynal 2016-05-20 8:36 ` Peng Fan 0 siblings, 1 reply; 10+ messages in thread From: Baptiste Reynal @ 2016-05-20 8:20 UTC (permalink / raw) To: Eric Auger; +Cc: Alex Williamson, Peng Fan, open list:VFIO DRIVER, open list Hi, On Fri, May 20, 2016 at 9:58 AM, Eric Auger <eric.auger@linaro.org> wrote: > > Hi, > On 05/19/2016 11:01 PM, Alex Williamson wrote: > > On Tue, 10 May 2016 15:40:28 +0800 > > Peng Fan <van.freenix@gmail.com> wrote: > > > >> Hi Alex, > >> > >> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: > >>> On Mon, 9 May 2016 18:01:43 +0800 > >>> Peng Fan <van.freenix@gmail.com> wrote: > >>> > >>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not > >>>> iommu_group_get or iommu_group_put. > >>> > >>> I assume you're trying to duplicate the vfio_pci changes from commit > >>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant > >>> information for the commit log. > >> > >> This is not to support non-iommu for vfio platform. I just think > >> vfio_iommu_group_get/put is vfio core API and should be used by > >> vfio-pci and vfio-platform. > > > > Hi Peng, > > > > I suppose I would consider this an optional part of the internal vfio > > API, it's only real purpose it to provide the ability to create fake > > groups which are only used for no-iommu. It's perfectly legitimate to > > use iommu_group_get/put if there is no desire to enable no-iommu. > > Baptiste, Eric, do you have an opinion whether enabling no-iommu in > > vfio/platform is something we should do? Thanks, > I think it would make sense to introduce that no-iommu feature for > vfio-platform because it allows potential users to get familiar with > VFIO platform without having the proper HW. I also thought the primary > purpose of this patch was to introduce that support. Since safety issues have already been addressed for the PCI patch series, I don't see any reason not to enable it. You might extend the commit message to remind those issues. Best regards, Baptiste > > Best Regards > > Eric > > > > Alex > > > >>>> > >>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> > >>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> > >>>> Cc: Alex Williamson <alex.williamson@redhat.com> > >>>> --- > >>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- > >>>> 1 file changed, 3 insertions(+), 3 deletions(-) > >>>> > >>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c > >>>> index e65b142..582885e 100644 > >>>> --- a/drivers/vfio/platform/vfio_platform_common.c > >>>> +++ b/drivers/vfio/platform/vfio_platform_common.c > >>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > >>>> > >>>> vdev->device = dev; > >>>> > >>>> - group = iommu_group_get(dev); > >>>> + group = vfio_iommu_group_get(dev); > >>>> if (!group) { > >>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); > >>>> return -EINVAL; > >>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, > >>>> > >>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); > >>>> if (ret) { > >>>> - iommu_group_put(group); > >>>> + vfio_iommu_group_put(group); > >>>> return ret; > >>>> } > >>>> > >>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) > >>>> > >>>> if (vdev) { > >>>> vfio_platform_put_reset(vdev); > >>>> - iommu_group_put(dev->iommu_group); > >>>> + vfio_iommu_group_put(dev->iommu_group, dev); > >>>> } > >>>> > >>>> return vdev; > >>> > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-20 8:20 ` Baptiste Reynal @ 2016-05-20 8:36 ` Peng Fan 2016-05-20 9:22 ` Eric Auger 0 siblings, 1 reply; 10+ messages in thread From: Peng Fan @ 2016-05-20 8:36 UTC (permalink / raw) To: Baptiste Reynal Cc: Eric Auger, Alex Williamson, open list:VFIO DRIVER, open list Hi, On Fri, May 20, 2016 at 10:20:32AM +0200, Baptiste Reynal wrote: >Hi, > >On Fri, May 20, 2016 at 9:58 AM, Eric Auger <eric.auger@linaro.org> wrote: >> >> Hi, >> On 05/19/2016 11:01 PM, Alex Williamson wrote: >> > On Tue, 10 May 2016 15:40:28 +0800 >> > Peng Fan <van.freenix@gmail.com> wrote: >> > >> >> Hi Alex, >> >> >> >> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >> >>> On Mon, 9 May 2016 18:01:43 +0800 >> >>> Peng Fan <van.freenix@gmail.com> wrote: >> >>> >> >>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >> >>>> iommu_group_get or iommu_group_put. >> >>> >> >>> I assume you're trying to duplicate the vfio_pci changes from commit >> >>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant >> >>> information for the commit log. >> >> >> >> This is not to support non-iommu for vfio platform. I just think >> >> vfio_iommu_group_get/put is vfio core API and should be used by >> >> vfio-pci and vfio-platform. >> > >> > Hi Peng, >> > >> > I suppose I would consider this an optional part of the internal vfio >> > API, it's only real purpose it to provide the ability to create fake >> > groups which are only used for no-iommu. It's perfectly legitimate to >> > use iommu_group_get/put if there is no desire to enable no-iommu. >> > Baptiste, Eric, do you have an opinion whether enabling no-iommu in >> > vfio/platform is something we should do? Thanks, >> I think it would make sense to introduce that no-iommu feature for >> vfio-platform because it allows potential users to get familiar with >> VFIO platform without having the proper HW. I also thought the primary >> purpose of this patch was to introduce that support. Yeah. Initially I would like to try vfio on my i.MX6/7 boards which does not have HW iommu. I am new to this, so just wrote this simple patch when I was reading the source code. > >Since safety issues have already been addressed for the PCI patch >series, I don't see any reason not to enable it. You might extend the >commit message to remind those issues. Eric, Baptiste, Is vfio-platform no-iommu on your TODO list? I am happy to help test. If not, I can try work on this if you could guide me -:) Thanks, Peng. > >Best regards, >Baptiste > >> >> Best Regards >> >> Eric >> > >> > Alex >> > >> >>>> >> >>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> >> >>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >> >>>> Cc: Alex Williamson <alex.williamson@redhat.com> >> >>>> --- >> >>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >> >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >> >>>> >> >>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >> >>>> index e65b142..582885e 100644 >> >>>> --- a/drivers/vfio/platform/vfio_platform_common.c >> >>>> +++ b/drivers/vfio/platform/vfio_platform_common.c >> >>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >> >>>> >> >>>> vdev->device = dev; >> >>>> >> >>>> - group = iommu_group_get(dev); >> >>>> + group = vfio_iommu_group_get(dev); >> >>>> if (!group) { >> >>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >> >>>> return -EINVAL; >> >>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >> >>>> >> >>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >> >>>> if (ret) { >> >>>> - iommu_group_put(group); >> >>>> + vfio_iommu_group_put(group); >> >>>> return ret; >> >>>> } >> >>>> >> >>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >> >>>> >> >>>> if (vdev) { >> >>>> vfio_platform_put_reset(vdev); >> >>>> - iommu_group_put(dev->iommu_group); >> >>>> + vfio_iommu_group_put(dev->iommu_group, dev); >> >>>> } >> >>>> >> >>>> return vdev; >> >>> >> > >> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-20 8:36 ` Peng Fan @ 2016-05-20 9:22 ` Eric Auger 2016-05-20 9:56 ` Peng Fan 0 siblings, 1 reply; 10+ messages in thread From: Eric Auger @ 2016-05-20 9:22 UTC (permalink / raw) To: Peng Fan, Baptiste Reynal Cc: Alex Williamson, open list:VFIO DRIVER, open list Hi Peng, On 05/20/2016 10:36 AM, Peng Fan wrote: > Hi, > > On Fri, May 20, 2016 at 10:20:32AM +0200, Baptiste Reynal wrote: >> Hi, >> >> On Fri, May 20, 2016 at 9:58 AM, Eric Auger <eric.auger@linaro.org> wrote: >>> >>> Hi, >>> On 05/19/2016 11:01 PM, Alex Williamson wrote: >>>> On Tue, 10 May 2016 15:40:28 +0800 >>>> Peng Fan <van.freenix@gmail.com> wrote: >>>> >>>>> Hi Alex, >>>>> >>>>> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >>>>>> On Mon, 9 May 2016 18:01:43 +0800 >>>>>> Peng Fan <van.freenix@gmail.com> wrote: >>>>>> >>>>>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >>>>>>> iommu_group_get or iommu_group_put. >>>>>> >>>>>> I assume you're trying to duplicate the vfio_pci changes from commit >>>>>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant >>>>>> information for the commit log. >>>>> >>>>> This is not to support non-iommu for vfio platform. I just think >>>>> vfio_iommu_group_get/put is vfio core API and should be used by >>>>> vfio-pci and vfio-platform. >>>> >>>> Hi Peng, >>>> >>>> I suppose I would consider this an optional part of the internal vfio >>>> API, it's only real purpose it to provide the ability to create fake >>>> groups which are only used for no-iommu. It's perfectly legitimate to >>>> use iommu_group_get/put if there is no desire to enable no-iommu. >>>> Baptiste, Eric, do you have an opinion whether enabling no-iommu in >>>> vfio/platform is something we should do? Thanks, >>> I think it would make sense to introduce that no-iommu feature for >>> vfio-platform because it allows potential users to get familiar with >>> VFIO platform without having the proper HW. I also thought the primary >>> purpose of this patch was to introduce that support. > > Yeah. Initially I would like to try vfio on my i.MX6/7 boards which does not > have HW iommu. I am new to this, so just wrote this simple patch when I was > reading the source code. > >> >> Since safety issues have already been addressed for the PCI patch >> series, I don't see any reason not to enable it. You might extend the >> commit message to remind those issues. > > Eric, Baptiste, > > Is vfio-platform no-iommu on your TODO list? I am happy to help test. > If not, I can try work on this if you could guide me -:) No it is not at the moment. shouldn't it work already with this very patch? I will be happy to bring support to you if needed. Best Regards Eric > > Thanks, > Peng. >> >> Best regards, >> Baptiste >> >>> >>> Best Regards >>> >>> Eric >>>> >>>> Alex >>>> >>>>>>> >>>>>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> >>>>>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >>>>>>> Cc: Alex Williamson <alex.williamson@redhat.com> >>>>>>> --- >>>>>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >>>>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>>>> >>>>>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >>>>>>> index e65b142..582885e 100644 >>>>>>> --- a/drivers/vfio/platform/vfio_platform_common.c >>>>>>> +++ b/drivers/vfio/platform/vfio_platform_common.c >>>>>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>> >>>>>>> vdev->device = dev; >>>>>>> >>>>>>> - group = iommu_group_get(dev); >>>>>>> + group = vfio_iommu_group_get(dev); >>>>>>> if (!group) { >>>>>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >>>>>>> return -EINVAL; >>>>>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>> >>>>>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >>>>>>> if (ret) { >>>>>>> - iommu_group_put(group); >>>>>>> + vfio_iommu_group_put(group); >>>>>>> return ret; >>>>>>> } >>>>>>> >>>>>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >>>>>>> >>>>>>> if (vdev) { >>>>>>> vfio_platform_put_reset(vdev); >>>>>>> - iommu_group_put(dev->iommu_group); >>>>>>> + vfio_iommu_group_put(dev->iommu_group, dev); >>>>>>> } >>>>>>> >>>>>>> return vdev; >>>>>> >>>> >>> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-20 9:22 ` Eric Auger @ 2016-05-20 9:56 ` Peng Fan 2016-05-20 16:19 ` Eric Auger 0 siblings, 1 reply; 10+ messages in thread From: Peng Fan @ 2016-05-20 9:56 UTC (permalink / raw) To: Eric Auger Cc: Baptiste Reynal, Alex Williamson, open list:VFIO DRIVER, open list Hi Eric, On Fri, May 20, 2016 at 11:22:13AM +0200, Eric Auger wrote: >Hi Peng, >On 05/20/2016 10:36 AM, Peng Fan wrote: >> Hi, >> >> On Fri, May 20, 2016 at 10:20:32AM +0200, Baptiste Reynal wrote: >>> Hi, >>> >>> On Fri, May 20, 2016 at 9:58 AM, Eric Auger <eric.auger@linaro.org> wrote: >>>> >>>> Hi, >>>> On 05/19/2016 11:01 PM, Alex Williamson wrote: >>>>> On Tue, 10 May 2016 15:40:28 +0800 >>>>> Peng Fan <van.freenix@gmail.com> wrote: >>>>> >>>>>> Hi Alex, >>>>>> >>>>>> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >>>>>>> On Mon, 9 May 2016 18:01:43 +0800 >>>>>>> Peng Fan <van.freenix@gmail.com> wrote: >>>>>>> >>>>>>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >>>>>>>> iommu_group_get or iommu_group_put. >>>>>>> >>>>>>> I assume you're trying to duplicate the vfio_pci changes from commit >>>>>>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant >>>>>>> information for the commit log. >>>>>> >>>>>> This is not to support non-iommu for vfio platform. I just think >>>>>> vfio_iommu_group_get/put is vfio core API and should be used by >>>>>> vfio-pci and vfio-platform. >>>>> >>>>> Hi Peng, >>>>> >>>>> I suppose I would consider this an optional part of the internal vfio >>>>> API, it's only real purpose it to provide the ability to create fake >>>>> groups which are only used for no-iommu. It's perfectly legitimate to >>>>> use iommu_group_get/put if there is no desire to enable no-iommu. >>>>> Baptiste, Eric, do you have an opinion whether enabling no-iommu in >>>>> vfio/platform is something we should do? Thanks, >>>> I think it would make sense to introduce that no-iommu feature for >>>> vfio-platform because it allows potential users to get familiar with >>>> VFIO platform without having the proper HW. I also thought the primary >>>> purpose of this patch was to introduce that support. >> >> Yeah. Initially I would like to try vfio on my i.MX6/7 boards which does not >> have HW iommu. I am new to this, so just wrote this simple patch when I was >> reading the source code. >> >>> >>> Since safety issues have already been addressed for the PCI patch >>> series, I don't see any reason not to enable it. You might extend the >>> commit message to remind those issues. >> >> Eric, Baptiste, >> >> Is vfio-platform no-iommu on your TODO list? I am happy to help test. >> If not, I can try work on this if you could guide me -:) >No it is not at the moment. shouldn't it work already with this very >patch? I will be happy to bring support to you if needed. This patch was code inspection work. Since it did not break vfio-platform iommu, I sent it out. I have not played well with userspace test code/step or qemu (: Is it ok for me to test vfio-platform no-iommu using a platform device withou DMA capability, such as simple UART? If it's ok, I'll follow the test code[1] to write my test code and do some test. Regards, Peng. [1] https://github.com/virtualopensystems/vfio-host-test/tree/master/src_test > >Best Regards > >Eric >> >> Thanks, >> Peng. >>> >>> Best regards, >>> Baptiste >>> >>>> >>>> Best Regards >>>> >>>> Eric >>>>> >>>>> Alex >>>>> >>>>>>>> >>>>>>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> >>>>>>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >>>>>>>> Cc: Alex Williamson <alex.williamson@redhat.com> >>>>>>>> --- >>>>>>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >>>>>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>>>>> >>>>>>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >>>>>>>> index e65b142..582885e 100644 >>>>>>>> --- a/drivers/vfio/platform/vfio_platform_common.c >>>>>>>> +++ b/drivers/vfio/platform/vfio_platform_common.c >>>>>>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>>> >>>>>>>> vdev->device = dev; >>>>>>>> >>>>>>>> - group = iommu_group_get(dev); >>>>>>>> + group = vfio_iommu_group_get(dev); >>>>>>>> if (!group) { >>>>>>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >>>>>>>> return -EINVAL; >>>>>>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>>> >>>>>>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >>>>>>>> if (ret) { >>>>>>>> - iommu_group_put(group); >>>>>>>> + vfio_iommu_group_put(group); >>>>>>>> return ret; >>>>>>>> } >>>>>>>> >>>>>>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >>>>>>>> >>>>>>>> if (vdev) { >>>>>>>> vfio_platform_put_reset(vdev); >>>>>>>> - iommu_group_put(dev->iommu_group); >>>>>>>> + vfio_iommu_group_put(dev->iommu_group, dev); >>>>>>>> } >>>>>>>> >>>>>>>> return vdev; >>>>>>> >>>>> >>>> > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put 2016-05-20 9:56 ` Peng Fan @ 2016-05-20 16:19 ` Eric Auger 0 siblings, 0 replies; 10+ messages in thread From: Eric Auger @ 2016-05-20 16:19 UTC (permalink / raw) To: Peng Fan Cc: Baptiste Reynal, Alex Williamson, open list:VFIO DRIVER, open list Hi Peng, On 05/20/2016 11:56 AM, Peng Fan wrote: > Hi Eric, > > On Fri, May 20, 2016 at 11:22:13AM +0200, Eric Auger wrote: >> Hi Peng, >> On 05/20/2016 10:36 AM, Peng Fan wrote: >>> Hi, >>> >>> On Fri, May 20, 2016 at 10:20:32AM +0200, Baptiste Reynal wrote: >>>> Hi, >>>> >>>> On Fri, May 20, 2016 at 9:58 AM, Eric Auger <eric.auger@linaro.org> wrote: >>>>> >>>>> Hi, >>>>> On 05/19/2016 11:01 PM, Alex Williamson wrote: >>>>>> On Tue, 10 May 2016 15:40:28 +0800 >>>>>> Peng Fan <van.freenix@gmail.com> wrote: >>>>>> >>>>>>> Hi Alex, >>>>>>> >>>>>>> On Mon, May 09, 2016 at 09:32:38AM -0600, Alex Williamson wrote: >>>>>>>> On Mon, 9 May 2016 18:01:43 +0800 >>>>>>>> Peng Fan <van.freenix@gmail.com> wrote: >>>>>>>> >>>>>>>>> Use vfio_iommu_group_get and vfio_iommu_group_put, but not >>>>>>>>> iommu_group_get or iommu_group_put. >>>>>>>> >>>>>>>> I assume you're trying to duplicate the vfio_pci changes from commit >>>>>>>> 03a76b60f8ba to enable no-iommu mode. That would be really relevant >>>>>>>> information for the commit log. >>>>>>> >>>>>>> This is not to support non-iommu for vfio platform. I just think >>>>>>> vfio_iommu_group_get/put is vfio core API and should be used by >>>>>>> vfio-pci and vfio-platform. >>>>>> >>>>>> Hi Peng, >>>>>> >>>>>> I suppose I would consider this an optional part of the internal vfio >>>>>> API, it's only real purpose it to provide the ability to create fake >>>>>> groups which are only used for no-iommu. It's perfectly legitimate to >>>>>> use iommu_group_get/put if there is no desire to enable no-iommu. >>>>>> Baptiste, Eric, do you have an opinion whether enabling no-iommu in >>>>>> vfio/platform is something we should do? Thanks, >>>>> I think it would make sense to introduce that no-iommu feature for >>>>> vfio-platform because it allows potential users to get familiar with >>>>> VFIO platform without having the proper HW. I also thought the primary >>>>> purpose of this patch was to introduce that support. >>> >>> Yeah. Initially I would like to try vfio on my i.MX6/7 boards which does not >>> have HW iommu. I am new to this, so just wrote this simple patch when I was >>> reading the source code. >>> >>>> >>>> Since safety issues have already been addressed for the PCI patch >>>> series, I don't see any reason not to enable it. You might extend the >>>> commit message to remind those issues. >>> >>> Eric, Baptiste, >>> >>> Is vfio-platform no-iommu on your TODO list? I am happy to help test. >>> If not, I can try work on this if you could guide me -:) >> No it is not at the moment. shouldn't it work already with this very >> patch? I will be happy to bring support to you if needed. > > This patch was code inspection work. Since it did not break vfio-platform > iommu, I sent it out. I have not played well with userspace test > code/step or qemu (: > > Is it ok for me to test vfio-platform no-iommu using a platform device > withou DMA capability, such as simple UART? My feeling is that it is a reasonable start. Best Regards Eric > > If it's ok, I'll follow the test code[1] to write my test code and do some test. > > Regards, > Peng. > > [1] https://github.com/virtualopensystems/vfio-host-test/tree/master/src_test > >> >> Best Regards >> >> Eric >>> >>> Thanks, >>> Peng. >>>> >>>> Best regards, >>>> Baptiste >>>> >>>>> >>>>> Best Regards >>>>> >>>>> Eric >>>>>> >>>>>> Alex >>>>>> >>>>>>>>> >>>>>>>>> Signed-off-by: Peng Fan <van.freenix@gmail.com> >>>>>>>>> Cc: Baptiste Reynal <b.reynal@virtualopensystems.com> >>>>>>>>> Cc: Alex Williamson <alex.williamson@redhat.com> >>>>>>>>> --- >>>>>>>>> drivers/vfio/platform/vfio_platform_common.c | 6 +++--- >>>>>>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>>>>>> >>>>>>>>> diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c >>>>>>>>> index e65b142..582885e 100644 >>>>>>>>> --- a/drivers/vfio/platform/vfio_platform_common.c >>>>>>>>> +++ b/drivers/vfio/platform/vfio_platform_common.c >>>>>>>>> @@ -561,7 +561,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>>>> >>>>>>>>> vdev->device = dev; >>>>>>>>> >>>>>>>>> - group = iommu_group_get(dev); >>>>>>>>> + group = vfio_iommu_group_get(dev); >>>>>>>>> if (!group) { >>>>>>>>> pr_err("VFIO: No IOMMU group for device %s\n", vdev->name); >>>>>>>>> return -EINVAL; >>>>>>>>> @@ -569,7 +569,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev, >>>>>>>>> >>>>>>>>> ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev); >>>>>>>>> if (ret) { >>>>>>>>> - iommu_group_put(group); >>>>>>>>> + vfio_iommu_group_put(group); >>>>>>>>> return ret; >>>>>>>>> } >>>>>>>>> >>>>>>>>> @@ -589,7 +589,7 @@ struct vfio_platform_device *vfio_platform_remove_common(struct device *dev) >>>>>>>>> >>>>>>>>> if (vdev) { >>>>>>>>> vfio_platform_put_reset(vdev); >>>>>>>>> - iommu_group_put(dev->iommu_group); >>>>>>>>> + vfio_iommu_group_put(dev->iommu_group, dev); >>>>>>>>> } >>>>>>>>> >>>>>>>>> return vdev; >>>>>>>> >>>>>> >>>>> >> ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-05-20 16:21 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-05-09 10:01 [PATCH] vfio: platform: use vfio_iommu_group_get/put Peng Fan 2016-05-09 15:32 ` Alex Williamson 2016-05-10 7:40 ` Peng Fan 2016-05-19 21:01 ` Alex Williamson 2016-05-20 7:58 ` Eric Auger 2016-05-20 8:20 ` Baptiste Reynal 2016-05-20 8:36 ` Peng Fan 2016-05-20 9:22 ` Eric Auger 2016-05-20 9:56 ` Peng Fan 2016-05-20 16:19 ` Eric Auger
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).