diff options
author | Laurentiu Tudor <laurentiu.tudor@nxp.com> | 2019-10-01 16:22:48 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2021-02-15 14:01:56 +0000 |
commit | f60a08429a40b8fd12d886b5eb742d0254170b54 (patch) | |
tree | c67fdba5f940de5de127319056544bbb49d98602 /drivers/scsi/sr_vendor.c | |
parent | cefd1e9c2018929bbd2dcccdf09a8f020ec1a091 (diff) |
bus: fsl-mc: make mc work with smmu disable bypass on
Since this commit [1] booting kernel on MC based chips started to
fail because this firmware starts before the kernel and as soon as
SMMU is probed it starts to trigger contiguous faults.
This is a workaround that allows MC firmware to run with SMMU
in disable bypass mode. It consists of the following steps:
1. pause the firmware at early boot to get a chance to setup SMMU
2. request direct mapping for MC device
3. resume the firmware
The workaround relies on the fact that no state is lost when
pausing / resuming firmware, as per the docs.
With this patch, platforms with MC firmware can now boot without
having to change the default config to set:
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=n
[1] 954a03be033 ("iommu/arm-smmu: Break insecure users by disabling bypass by default")
Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Diffstat (limited to 'drivers/scsi/sr_vendor.c')
0 files changed, 0 insertions, 0 deletions