[QUESTION] Is the ARM SMMU v3 implementation designed to always ignore SSID when SSID_VALID == 0?

Joonwon Kang
2026-04-28T07:39:09Z

Hi team,

According to the ARM SMMU v3 spec, I believe that SSID should always be
ignored when SSID_VALID == 0 and the current ARM SMMU v3 module
implementation in the kernel seems to comply with this without exception.
For example, when handling an event from SMMU, the implementation checks
SSID_VALID(SSV) first and ignores SSID accordingly. If there is any
exception to this rule, I believe it is a bug.

Is it true for all the current and future cases? In other words, is it
**mandatory** that the ARM SMMU v3 implementation ignores SSID when
SSID_VALID == 0? or there might be some cases where the implementation
needs to refer to SSID even when SSID_VALID == 0?

Asking this question since our HW may not be able to clear SSID when
SSID_VALID == 0 and so there might be some garbage value in SSID at some
point of time(the HW will have a correct SSID when SSID_VALID == 1,
though). If the ARM SMMU v3 implementation is to refer to that garbage
value for any reason, the result would be devastating.

Thanks,
Joonwon Kang