[PATCH v12 10/10] iommu/arm-smmu-v3: Add stall support for platform devices
wangzhou1 at hisilicon.com
Mon Feb 1 23:53:12 AEDT 2021
On 2021/2/1 19:14, Jean-Philippe Brucker wrote:
> Hi Zhou,
> On Mon, Feb 01, 2021 at 09:18:42AM +0800, Zhou Wang wrote:
>>> @@ -1033,8 +1076,7 @@ int arm_smmu_write_ctx_desc(struct arm_smmu_domain *smmu_domain, int ssid,
>>> FIELD_PREP(CTXDESC_CD_0_ASID, cd->asid) |
>>> - /* STALL_MODEL==0b10 && CD.S==0 is ILLEGAL */
>>> - if (smmu->features & ARM_SMMU_FEAT_STALL_FORCE)
>>> + if (smmu_domain->stall_enabled)
>> Could we add ssid checking here? like: if (smmu_domain->stall_enabled && ssid).
>> The reason is if not CD.S will also be set when ssid is 0, which is not needed.
> Some drivers may want to get stall events on SSID 0:
I did not notice this before. Yes, if we need to support IOPF in vfio, we
need enable stall events on SSID 0.
> Are you seeing an issue with stall events on ssid 0? Normally there
> shouldn't be any fault on this context, but if they happen and no handler
It happened that there is bug in the test code of HiSilicon HPRE crypto driver.
We used a wrong iova which triggered a SMMU event with stall bit :)
> is registered, the SMMU driver will just abort them and report them like a
> non-stall event.
It will report event 0x10 with stall bit.
More information about the Linux-accelerators