[PATCH/RFC 1/2] arm64: mm: Silently allow devices lacking IOMMU group
magnus.damm at gmail.com
Wed Jan 25 02:02:24 PST 2017
On Mon, Jan 23, 2017 at 9:34 PM, Robin Murphy <robin.murphy at arm.com> wrote:
> Hi Magnus,
> On 23/01/17 12:12, Magnus Damm wrote:
>> From: Magnus Damm <damm+renesas at opensource.se>
>> Consider failure of iommu_get_domain_for_dev() as non-critical and
>> get rid of the warning printout. This allows IOMMU properties to be
>> included in the DTB even though the kernel is configured with
>> CONFIG_IOMMU_API=n or in case a particular IOMMU driver refuses to
>> enable IOMMU support for a certain slave device and returns error
>> from the ->add_device() callback.
>> This is only a cosmetic change that removes console warning printouts.
> The warning is there for a reason - at this point, we *expected* the
> device to be using an IOMMU for DMA, so a failure is significant. Rather
> than masking genuine failures in other cases because your case
> deliberately breaks that expectation, simply change the expectation -
> i.e. rather than letting of_xlate() succeed then failing add_device()
> later, reject the of_xlate() call up-front such that the DMA layer never
> gets told about the IOMMU in the first place.
Thanks for pointing me in the right direction! I will try to handle
this in xlate() instead.
More information about the linux-arm-kernel