Przeglądaj źródła

Merge "disp: msm: sde: use dma_map_single to flush the buffer" into display-kernel.lnx.1.0

Linux Build Service Account 5 lat temu
rodzic
commit
3c31bbf469
1 zmienionych plików z 5 dodań i 1 usunięć
  1. 5 1
      msm/sde/sde_kms.c

+ 5 - 1
msm/sde/sde_kms.c

@@ -272,6 +272,7 @@ static int _sde_kms_secure_ctrl_xin_clients(struct sde_kms *sde_kms,
  */
 static int _sde_kms_scm_call(struct sde_kms *sde_kms, int vmid)
 {
+	struct drm_device *dev;
 	struct scm_desc desc = {0};
 	uint32_t num_sids;
 	uint32_t *sec_sid;
@@ -281,6 +282,8 @@ static int _sde_kms_scm_call(struct sde_kms *sde_kms, int vmid)
 	struct qtee_shm shm;
 	bool qtee_en = qtee_shmbridge_is_enabled();
 
+	dev = sde_kms->dev;
+
 	num_sids = sde_cfg->sec_sid_mask_count;
 	if (!num_sids) {
 		SDE_ERROR("secure SID masks not configured, vmid 0x%x\n", vmid);
@@ -313,7 +316,8 @@ static int _sde_kms_scm_call(struct sde_kms *sde_kms, int vmid)
 		sec_sid[i] = sde_cfg->sec_sid_mask[i];
 		SDE_DEBUG("sid_mask[%d]: %d\n", i, sec_sid[i]);
 	}
-	dmac_flush_range(sec_sid, sec_sid + num_sids);
+	dma_map_single(dev->dev, sec_sid, num_sids *sizeof(uint32_t),
+			DMA_TO_DEVICE);
 
 	SDE_DEBUG("calling scm_call for vmid 0x%x, num_sids %d, qtee_en %d",
 				vmid, num_sids, qtee_en);