drm: smmu: fix smmu map failure
In concurrency test, smmu map failure appears in a low possibility.
This is caused by virtual address conflict. Display driver calls
different smmu map APIs to do map with the same domain, while the
virtual address allocation happens separately, one in dmp-mapping.c,
and another one is in msm_gem_vam.c. This could not gurantee the
virtual addresses by different callers are different in the same
mmu domain, if they are the same, the virtual address will possibily
be mapped twice, hence conflict happens.
The change is to fix this:
1. Remove the map calling for early splash buffer from msm_smmu_map.
2. Introduce one new map API early_splash_map/unmap, dedicated for
memory mapping for early splash usercase.
CRs-Fixed: 2198827
Change-Id: I8e632f1971998a14c362b5bf0ae9a5522a5a1bff
Signed-off-by:
Guchun Chen <guchunc@codeaurora.org>
Loading
Please register or sign in to comment