Jean-Philippe Brucker
8dd8f005bd
iommu/arm-smmu-v3: Invalidate ATC when detaching a device
...
We make the invalid assumption in arm_smmu_detach_dev() that the ATC is
clear after calling pci_disable_ats(). For one thing, only enabling the
PCIe ATS capability constitutes an implicit invalidation event, so the
comment was wrong. More importantly, the ATS capability isn't necessarily
disabled by pci_disable_ats() in a PF, if the associated VFs have ATS
enabled. Explicitly invalidate all ATC entries in arm_smmu_detach_dev().
The endpoint cannot form new ATC entries because STE.EATS is clear.
Fixes: 9ce27afc08 ("iommu/arm-smmu-v3: Add support for PCI ATS")
Reported-by: Manoj Kumar <Manoj.Kumar3@arm.com >
Reported-by: Robin Murphy <Robin.Murphy@arm.com >
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com >
Acked-by: Will Deacon <will@kernel.org >
Signed-off-by: Joerg Roedel <jroedel@suse.de >
2019-07-04 10:03:27 +02:00
..
2019-05-24 17:36:47 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 10:35:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:41 -07:00
2019-06-20 15:06:24 +02:00
2019-06-13 17:34:56 -10:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:06 +02:00
2019-06-21 09:58:42 -07:00
2019-05-21 11:28:39 +02:00
2019-06-19 17:11:22 +02:00
2019-06-28 08:50:09 +08:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:35 -07:00
2019-06-17 22:28:29 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 17:34:56 -10:00
2019-05-24 17:27:11 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:07 +02:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:29:53 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:35 -07:00
2019-06-29 19:32:09 +08:00
2019-05-24 17:36:45 +02:00
2019-06-08 12:52:42 -07:00
2019-06-19 17:09:11 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-21 11:03:33 -07:00
2019-06-28 08:39:18 +08:00
2019-06-05 17:37:07 +02:00
2019-06-05 17:37:05 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:06 +02:00
2019-06-21 10:20:19 -07:00
2019-06-18 16:27:24 -04:00
2019-06-21 09:58:42 -07:00
2019-05-21 10:50:46 +02:00
2019-07-04 10:03:27 +02:00
2019-06-05 17:37:17 +02:00
2019-06-29 19:36:53 +08:00
2019-05-31 08:34:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:14 +02:00
2019-06-19 17:09:08 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:17 +02:00
2019-06-28 08:48:21 +08:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-25 03:41:03 +08:00
2019-06-21 10:18:16 -07:00
2019-06-21 09:58:42 -07:00
2019-06-24 21:23:55 +08:00
2019-06-26 13:26:08 -07:00
2019-06-05 17:37:15 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-06-13 17:34:56 -10:00
2019-06-07 14:04:28 -06:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:16 +02:00
2019-06-19 17:09:55 +02:00
2019-06-08 12:52:42 -07:00
2019-06-19 17:09:55 +02:00
2019-06-26 23:51:56 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-29 16:51:10 +08:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:25:19 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:04 +02:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:39 -07:00
2019-05-30 11:26:39 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:37 -07:00
2019-06-07 23:21:39 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 15:52:28 +02:00
2019-05-24 17:36:45 +02:00
2019-06-29 16:59:45 +08:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-04-25 22:23:06 +02:00
2019-05-21 10:50:46 +02:00
2019-06-21 09:58:42 -07:00
2019-06-10 18:07:39 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-06-17 22:59:28 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:36:37 +02:00
2019-06-19 17:09:55 +02:00
2019-06-14 14:25:43 +03:00
2019-05-24 17:08:18 +02:00
2019-06-19 17:09:55 +02:00
2019-06-20 11:56:35 +02:00
2019-06-19 17:09:07 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:52 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-05-27 11:08:22 -04:00
2019-05-21 10:50:46 +02:00
2019-05-24 17:39:00 +02:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-04-25 21:33:37 +02:00
2019-04-25 21:33:37 +02:00