All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: iommu@lists.linux-foundation.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Joerg Roedel <jroedel@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] iommu/of: Use device_iommu_mapped()
Date: Thu, 6 Dec 2018 17:42:16 +0000	[thread overview]
Message-ID: <42cb32df-5358-f00d-12f5-eb3135ec680a@arm.com> (raw)
In-Reply-To: <20181206153512.GG16835@8bytes.org>

On 06/12/2018 15:35, Joerg Roedel wrote:
> Hi Robin,
> 
> On Wed, Dec 05, 2018 at 05:17:54PM +0000, Robin Murphy wrote:
>> FWIW, this check (and its ACPI equivalent in patch #3) is specifically
>> asking "has .add_device() already been called?", rather than the more
>> general "is this device managed by an IOMMU?" (to which the exact answer at
>> this point is "yes, provided we return successfully from here").
>>
>> I have no objection to the change as-is - especially if that usage is within
>> the intended scope of this API - I just wanted to call it out in case you're
>> also planning to introduce something else which would be even more
>> appropriate for that.
> 
> Yes, the purpose of the device_iommu_mapped() functions is to check
> whether the device has been initialized by the IOMMU driver that handles
> it, if any.
> 
> So it answers the question: Can I use the device in an IOMMU-API call?

OK, another way to consider the usage here would be "is the device ready 
to use in IOMMU API calls (or do I need to call add_device to finish 
setting it up)?", so it does in fact seem like a perfect fit, great!

> And it is more readable than the dev->iommu_group checks everywhere :)

For sure - although I am now wondering whether "mapped" is perhaps a 
little ambiguous in the naming, since the answer to "can I use the API" 
is yes even when the device may currently be attached to an 
identity/passthrough domain or blocked completely, neither of which 
involve any "mapping". Maybe simply "device_has_iommu()" would convey 
the intent better?

Robin.

  reply	other threads:[~2018-12-06 17:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 17:24 [PATCH 0/5] Introduce device_iommu_maped() function Joerg Roedel
2018-12-04 17:24 ` Joerg Roedel
2018-12-04 17:25 ` [PATCH 1/5] driver core: Introduce device_iommu_mapped() function Joerg Roedel
2018-12-06 12:55   ` Greg Kroah-Hartman
2018-12-06 15:39     ` Joerg Roedel
2018-12-04 17:25 ` [PATCH 2/5] iommu/of: Use device_iommu_mapped() Joerg Roedel
2018-12-05 17:17   ` Robin Murphy
2018-12-06 15:35     ` Joerg Roedel
2018-12-06 17:42       ` Robin Murphy [this message]
2018-12-07  9:31         ` Joerg Roedel
2018-12-04 17:25 ` [PATCH 3/5] ACPI/IORT: " Joerg Roedel
2018-12-04 17:25   ` Joerg Roedel
2018-12-04 17:25 ` [PATCH 4/5] powerpc/iommu: " Joerg Roedel
2018-12-04 17:25 ` [PATCH 5/5] xhci: " Joerg Roedel
2018-12-05 17:17 ` [PATCH 0/5] Introduce device_iommu_maped() function Robin Murphy
2018-12-06 15:36   ` Joerg Roedel

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=42cb32df-5358-f00d-12f5-eb3135ec680a@arm.com \
    --to=robin.murphy@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=linux-kernel@vger.kernel.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.