All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@linaro.org>
To: Peng Fan <van.freenix@gmail.com>
Cc: Baptiste Reynal <b.reynal@virtualopensystems.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	"open list:VFIO DRIVER" <kvm@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] vfio: platform: use vfio_iommu_group_get/put
Date: Fri, 20 May 2016 18:19:58 +0200	[thread overview]
Message-ID: <573F392E.3010108@linaro.org> (raw)
In-Reply-To: <20160520095658.GD23014@linux-7smt.suse>

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;
>>>>>>>>
>>>>>>
>>>>>
>>

      reply	other threads:[~2016-05-20 16:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

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=573F392E.3010108@linaro.org \
    --to=eric.auger@linaro.org \
    --cc=alex.williamson@redhat.com \
    --cc=b.reynal@virtualopensystems.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=van.freenix@gmail.com \
    /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.