SMMU driver and stall vs terminate mode

Stuart Yoder stuart.yoder at nxp.com
Mon Jun 20 08:28:18 PDT 2016


Robin/Will,

Right now the SMMU driver is hardcoded to configure 'stall' mode for
context faults:

      /* SCTLR */
      reg = SCTLR_CFCFG | SCTLR_CFIE | SCTLR_CFRE | SCTLR_M | SCTLR_EAE_SBOP;

We are running into an issue with a device where it seems behave sanely
when SCTLR_CFCFG=0 ...i.e. 'terminate' mode, but in stall mode seems to be
unaware that an access violation occurred.

Is there really some assumption that all devices that send transcactions
through the SMMU _must_ be able to handle stall mode?  I am trying to
find out from our hw designers what is going on at the signal level for
the device in question, but it seems to me that 'terminate' mode exists
for a reason and I wonder what your thoughts are about providing a
configuration option to allow configuration of terminate mode if a particular
SoC requires it.

Thanks,
Stuart



More information about the linux-arm-kernel mailing list