• Caleb Connolly's avatar
    arm64: dts: qcom: sdm845-oneplus-common: guard rmtfs-mem · e60fd5ac
    Caleb Connolly authored
    The rmtfs_mem region is a weird one, downstream allocates it
    dynamically, and supports a "qcom,guard-memory" property which when set
    will reserve 4k above and below the rmtfs memory.
    
    A common from qcom 4.9 kernel msm_sharedmem driver:
    
    /*
     * If guard_memory is set, then the shared memory region
     * will be guarded by SZ_4K at the start and at the end.
     * This is needed to overcome the XPU limitation on few
     * MSM HW, so as to make this memory not contiguous with
     * other allocations that may possibly happen from other
     * clients in the system.
    */
    
    When the kernel tries to touch memory that is too close the
    rmtfs region it may cause an XPU violation. Such is the case on the
    OnePlus 6 where random crashes would occur usually after boot.
    
    Reserve 4k above and below the rmtfs_mem to avoid hitting these XPU
    Violations.
    
    This doesn't entirely solve the random crashes on the OnePlus 6/6T but
    it does seem to prevent the ones which happen shortly after modem
    bringup.
    
    Fixes: 288ef8a4 ("arm64: dts: sdm845: add oneplus6/6t devices")
    Signed-off-by: default avatarCaleb Connolly <caleb@connolly.tech>
    Link: https://lore.kernel.org/r/20210502014146.85642-4-caleb@connolly.techSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    e60fd5ac
sdm845-oneplus-common.dtsi 12.9 KB