msm: mdss: increase SMMU mapping range for all context banks
Currently, due to the optimizations made in SMMU with the use of lazy map/unmap, mapped address would be totally released only when the buffer is freed and not during the last unmap. So, if app buffers ends up holding 1G memory due to any reason, it would result in mapping issues in driver as SMMU still holds reference for all the 1G buffers though it was unmapped from MDP perspective. Increase the SMMU mapping range to avoid such cases. Change-Id: I6c28e0fe752fba3f4674b6b5ba454fce5b6e7665 Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This commit is contained in:
parent
ab26d09879
commit
65320067b4
1 changed files with 6 additions and 4 deletions
|
@ -36,6 +36,8 @@
|
|||
#include "mdss_smmu.h"
|
||||
#include "mdss_debug.h"
|
||||
|
||||
#define SZ_4G 0xF0000000
|
||||
|
||||
static DEFINE_MUTEX(mdp_iommu_lock);
|
||||
|
||||
void mdss_iommu_lock(void)
|
||||
|
@ -536,13 +538,13 @@ int mdss_smmu_init(struct mdss_data_type *mdata, struct device *dev)
|
|||
}
|
||||
|
||||
static struct mdss_smmu_domain mdss_mdp_unsec = {
|
||||
"mdp_0", MDSS_IOMMU_DOMAIN_UNSECURE, SZ_128K, (SZ_1G - SZ_128K)};
|
||||
"mdp_0", MDSS_IOMMU_DOMAIN_UNSECURE, SZ_128K, (SZ_4G - SZ_128K)};
|
||||
static struct mdss_smmu_domain mdss_rot_unsec = {
|
||||
NULL, MDSS_IOMMU_DOMAIN_ROT_UNSECURE, SZ_128K, (SZ_1G - SZ_128K)};
|
||||
NULL, MDSS_IOMMU_DOMAIN_ROT_UNSECURE, SZ_128K, (SZ_4G - SZ_128K)};
|
||||
static struct mdss_smmu_domain mdss_mdp_sec = {
|
||||
"mdp_1", MDSS_IOMMU_DOMAIN_SECURE, SZ_1G, SZ_2G};
|
||||
"mdp_1", MDSS_IOMMU_DOMAIN_SECURE, SZ_128K, (SZ_4G - SZ_128K)};
|
||||
static struct mdss_smmu_domain mdss_rot_sec = {
|
||||
NULL, MDSS_IOMMU_DOMAIN_ROT_SECURE, SZ_1G, SZ_2G};
|
||||
NULL, MDSS_IOMMU_DOMAIN_ROT_SECURE, SZ_128K, (SZ_4G - SZ_128K)};
|
||||
|
||||
static const struct of_device_id mdss_smmu_dt_match[] = {
|
||||
{ .compatible = "qcom,smmu_mdp_unsec", .data = &mdss_mdp_unsec},
|
||||
|
|
Loading…
Add table
Reference in a new issue