mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
Merge "msm: camera: smmu: Remove extra shared mem map" into camera-kernel.lnx.4.0
This commit is contained in:
commit
6c0556bd8a
1 changed files with 11 additions and 5 deletions
|
|
@ -1956,7 +1956,7 @@ static int cam_smmu_map_buffer_validate(struct dma_buf *buf,
|
|||
} else {
|
||||
CAM_ERR(CAM_SMMU, "Error: Wrong region id passed");
|
||||
rc = -EINVAL;
|
||||
goto err_unmap_sg;
|
||||
goto err_detach;
|
||||
}
|
||||
|
||||
CAM_DBG(CAM_SMMU,
|
||||
|
|
@ -2012,6 +2012,10 @@ static int cam_smmu_map_buffer_validate(struct dma_buf *buf,
|
|||
idx, buf, (void *)iommu_cb_set.cb_info[idx].dev,
|
||||
(void *)*paddr_ptr, (unsigned int)*len_ptr);
|
||||
|
||||
/* Unmap the mapping in dma region as this is not used anyway */
|
||||
if (region_id == CAM_SMMU_REGION_SHARED)
|
||||
dma_buf_unmap_attachment(attach, table, dma_dir);
|
||||
|
||||
return 0;
|
||||
|
||||
err_alloc:
|
||||
|
|
@ -2158,14 +2162,16 @@ static int cam_smmu_unmap_buf_and_remove_from_list(
|
|||
iommu_cb_set.cb_info[idx].shared_mapping_size -=
|
||||
mapping_info->len;
|
||||
} else if (mapping_info->region_id == CAM_SMMU_REGION_IO) {
|
||||
if (mapping_info->is_internal)
|
||||
mapping_info->attach->dma_map_attrs |=
|
||||
DMA_ATTR_SKIP_CPU_SYNC;
|
||||
|
||||
dma_buf_unmap_attachment(mapping_info->attach,
|
||||
mapping_info->table, mapping_info->dir);
|
||||
iommu_cb_set.cb_info[idx].io_mapping_size -= mapping_info->len;
|
||||
}
|
||||
|
||||
if (mapping_info->is_internal)
|
||||
mapping_info->attach->dma_map_attrs |= DMA_ATTR_SKIP_CPU_SYNC;
|
||||
|
||||
dma_buf_unmap_attachment(mapping_info->attach,
|
||||
mapping_info->table, mapping_info->dir);
|
||||
dma_buf_detach(mapping_info->buf, mapping_info->attach);
|
||||
dma_buf_put(mapping_info->buf);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue