msm: eva: New attribute for secure camera mapping

Add attribute DMA_ATTR_QTI_SMMU_PROXY_MAP to dma_map_attrs.

Change-Id: I747a550deb42c45da2c816682976d04968ad48b1
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
This commit is contained in:
George Shen
2023-02-16 20:24:36 -08:00
والد fe87e8f0fa
کامیت 70fc47d3eb
2فایلهای تغییر یافته به همراه18 افزوده شده و 6 حذف شده

مشاهده پرونده

@@ -99,6 +99,8 @@ static int msm_dma_get_device_address(struct dma_buf *dbuf, u32 align,
* required buffer size
*/
attach->dma_map_attrs |= DMA_ATTR_SKIP_CPU_SYNC;
if (flags & SMEM_CAMERA)
attach->dma_map_attrs |= DMA_ATTR_QTI_SMMU_PROXY_MAP;
if (res->sys_cache_present)
attach->dma_map_attrs |=
DMA_ATTR_IOMMU_USE_UPSTREAM_HINT;
@@ -232,7 +234,9 @@ int msm_cvp_map_smem(struct msm_cvp_inst *inst,
smem->flags |= (SMEM_SECURE | SMEM_PIXEL);
else if (vmid_list[temp] == VMID_CP_NON_PIXEL)
smem->flags |= (SMEM_SECURE | SMEM_NON_PIXEL);
else if (vmid_list[temp] == VMID_CP_CAMERA)
else if (vmid_list[temp] == VMID_CP_CAMERA ||
/* To-do: what if the EVA driver runs in TVM */
vmid_list[temp] == VMID_TVM)
smem->flags |= (SMEM_SECURE | SMEM_CAMERA);
dprintk(CVP_MEM, "inst %pK VM idx %d VM_ID %d fd %d pkt_type %#x\n",
inst, temp, vmid_list[temp], smem->fd, smem->pkt_type);
@@ -536,7 +540,7 @@ struct context_bank_info *msm_cvp_smem_get_context_bank(
char *non_secure_cb = "cvp_hlos";
char *secure_nonpixel_cb = "cvp_sec_nonpixel";
char *secure_pixel_cb = "cvp_sec_pixel";
char *dummy_cb = "cvp_dummy";
char *camera_cb = "cvp_camera";
bool is_secure = (flags & SMEM_SECURE) ? true : false;
if (flags & SMEM_PIXEL)
@@ -545,7 +549,7 @@ struct context_bank_info *msm_cvp_smem_get_context_bank(
search_str = secure_nonpixel_cb;
else if (flags & SMEM_CAMERA)
/* Secure Camera pixel buffer */
search_str = dummy_cb;
search_str = camera_cb;
else
search_str = non_secure_cb;