On 08/11/2019 16:47, Will Deacon wrote:
On Fri, Nov 08, 2019 at 04:44:25PM +0000, John Garry wrote:
On 08/11/2019 16:17, John Garry wrote:
On 08/11/2019 15:16, Will Deacon wrote:
+MODULE_DEVICE_TABLE(of, arm_smmu_of_match);

Hi Will,

   static struct platform_driver arm_smmu_driver = {
       .driver    = {
           .name        = "arm-smmu-v3",
           .of_match_table    = of_match_ptr(arm_smmu_of_match),
-        .suppress_bind_attrs = true,

Does this mean that we can now manually unbind this driver from the SMMU
device?

Seems dangerous. Here's what happens for me:

root@ubuntu:/sys# cd ./bus/platform/drivers/arm-smmu-v3
ind @ubuntu:/sys/bus/platform/drivers/arm-smmu-v3# echo
arm-smmu-v3.0.auto > unbind
[   77.580351] hisi_sas_v2_hw HISI0162:01: CQE_AXI_W_ERR (0x800) found!
ho [   78.635473] platform arm-smmu-v3.0.auto: CMD_SYNC timeout at
0x00000146 [hwprod 0x00000146, hwcons 0x00000000]

       },
       .probe    = arm_smmu_device_probe,
+    .remove    = arm_smmu_device_remove,
       .shutdown = arm_smmu_device_shutdown,
   };
-builtin_platform_driver(arm_smmu_driver);
+module_platform_driver(arm_smmu_driver);
+

BTW, it now looks like it was your v1 series I was testing there, on your
branch iommu/module. It would be helpful to update for ease of testing.


Hi Will,

Yes, sorry about that. I'll update it now (although I'm not sure it will
help with this -- I was going to see what happens with other devices such
as the intel-iommu or storage controllers)

So I tried your v2 series for this - it has the same issue, as I anticipated.

It seems that some iommu drivers do call iommu_device_register(), so maybe a decent reference. Or simply stop the driver being unbound.

Cheers,
John

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to