2015-06-29 12:47:13

by Eric Auger

[permalink] [raw]
Subject: Regression observed since "iommu: Propagate error in add_iommu_group" with arm-smmu

Hi Joerg, Will

I observe a regression since commit
19762d7095e6392b6ec56c363a6f29b2119488c2 (iommu: Propagate error in
add_iommu_group) with arm-smmu: I am not able to bind the vfio-platform
driver to one Calxeda Midway xgmac anymore. This latter is not assigned
any group.

Looks like the cause is, in iommu_bus_init, when doing
bus_for_each_dev(bus, NULL, &cb, add_iommu_group),
add_iommu_group fails for some devices which are not upstream to smmu
and enumerated before the xgmac. As a consequence bus_for_each_dev
returns without looking at the xgmac.

arm_smmu_add_platform_device currently returns -ENODEV when no smmu/no
master port for the device. Shouldn't we return 0 now?

Thank you in advance

Best Regards

Eric


19762d7095e6392b6ec56c363a6f29b2119488c2 is the first bad commit
commit 19762d7095e6392b6ec56c363a6f29b2119488c2
Author: Joerg Roedel <[email protected]>
Date: Thu May 28 18:41:26 2015 +0200

iommu: Propagate error in add_iommu_group

Make sure any errors reported from the IOMMU drivers get
progapated back to the IOMMU core.

Signed-off-by: Joerg Roedel <[email protected]>


2015-06-29 13:17:07

by Jörg Rödel

[permalink] [raw]
Subject: Re: Regression observed since "iommu: Propagate error in add_iommu_group" with arm-smmu

Hi Eric

On Mon, Jun 29, 2015 at 02:46:46PM +0200, Eric Auger wrote:
> Hi Joerg, Will
>
> I observe a regression since commit
> 19762d7095e6392b6ec56c363a6f29b2119488c2 (iommu: Propagate error in
> add_iommu_group) with arm-smmu: I am not able to bind the vfio-platform
> driver to one Calxeda Midway xgmac anymore. This latter is not assigned
> any group.
>
> Looks like the cause is, in iommu_bus_init, when doing
> bus_for_each_dev(bus, NULL, &cb, add_iommu_group),
> add_iommu_group fails for some devices which are not upstream to smmu
> and enumerated before the xgmac. As a consequence bus_for_each_dev
> returns without looking at the xgmac.
>
> arm_smmu_add_platform_device currently returns -ENODEV when no smmu/no
> master port for the device. Shouldn't we return 0 now?

I posted a patch today which fixes this by ignoring -ENODEV as a return
value in add_iommu_group. See here:

http://lists.linuxfoundation.org/pipermail/iommu/2015-June/013508.html

I'll send this fix upstream asap (means: tomorrow). It would be great if
you can test it too in your setup.


Joerg

2015-06-29 13:33:14

by Eric Auger

[permalink] [raw]
Subject: Re: Regression observed since "iommu: Propagate error in add_iommu_group" with arm-smmu

Hi Joerg,
On 06/29/2015 03:16 PM, Joerg Roedel wrote:
> Hi Eric
>
> On Mon, Jun 29, 2015 at 02:46:46PM +0200, Eric Auger wrote:
>> Hi Joerg, Will
>>
>> I observe a regression since commit
>> 19762d7095e6392b6ec56c363a6f29b2119488c2 (iommu: Propagate error in
>> add_iommu_group) with arm-smmu: I am not able to bind the vfio-platform
>> driver to one Calxeda Midway xgmac anymore. This latter is not assigned
>> any group.
>>
>> Looks like the cause is, in iommu_bus_init, when doing
>> bus_for_each_dev(bus, NULL, &cb, add_iommu_group),
>> add_iommu_group fails for some devices which are not upstream to smmu
>> and enumerated before the xgmac. As a consequence bus_for_each_dev
>> returns without looking at the xgmac.
>>
>> arm_smmu_add_platform_device currently returns -ENODEV when no smmu/no
>> master port for the device. Shouldn't we return 0 now?
>
> I posted a patch today which fixes this by ignoring -ENODEV as a return
> value in add_iommu_group. See here:
>
> http://lists.linuxfoundation.org/pipermail/iommu/2015-June/013508.html
>
> I'll send this fix upstream asap (means: tomorrow). It would be great if
> you can test it too in your setup.

Great. yes it works fine with my setup!
Tested-by: Eric Auger <[email protected]>

Thanks

Eric
>
>
> Joerg
>

2015-06-29 13:43:54

by Jörg Rödel

[permalink] [raw]
Subject: Re: Regression observed since "iommu: Propagate error in add_iommu_group" with arm-smmu

On Mon, Jun 29, 2015 at 03:32:48PM +0200, Eric Auger wrote:
> Great. yes it works fine with my setup!
> Tested-by: Eric Auger <[email protected]>

Thanks for testing! I'll just queued the patch.