From ec2db68e0fd76f1ba094017394aa554cc8773ecf Mon Sep 17 00:00:00 2001 From: Chelliah Vinu R Date: Mon, 24 Apr 2023 23:58:06 +0530 Subject: [PATCH] msm: synx: ipclite: Remove Hyp Assign Hyp assign is removed from ipclite. S2 mapping for CDSP & LPASS will be assigned from DSP PIL driver going forward. Cleaned up ipclite probe exit on failure. Change-Id: I342da2bb89024c252eebd4411194093ac77401d5 Signed-off-by: Chelliah Vinu R --- msm/synx/ipclite.c | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/msm/synx/ipclite.c b/msm/synx/ipclite.c index 996b4c749f..44633cbdd7 100644 --- a/msm/synx/ipclite.c +++ b/msm/synx/ipclite.c @@ -24,7 +24,6 @@ #include "ipclite_client.h" #include "ipclite.h" -#define VMID_CDSP 30 #define GLOBAL_ATOMICS_ENABLED 1 #define GLOBAL_ATOMICS_DISABLED 0 #define FIFO_FULL_RESERVE 8 @@ -997,26 +996,6 @@ static void ipcmem_init(struct ipclite_mem *ipcmem) IPCLITE_OS_LOG(IPCLITE_DBG, "Ipcmem init completed\n"); } - -/*Add VMIDs corresponding to EVA, CDSP and VPU to set IPCMEM access control*/ -static int set_ipcmem_access_control(struct ipclite_info *ipclite) -{ - int ret = 0; - u64 srcVM = BIT(QCOM_SCM_VMID_HLOS); - struct qcom_scm_vmperm destVM[2]; - - destVM[0].vmid = QCOM_SCM_VMID_HLOS; - destVM[0].perm = QCOM_SCM_PERM_RW; - - destVM[1].vmid = VMID_CDSP; - destVM[1].perm = QCOM_SCM_PERM_RW; - - ret = qcom_scm_assign_mem(ipclite->ipcmem.mem.aux_base, - ipclite->ipcmem.mem.size, &srcVM, - destVM, ARRAY_SIZE(destVM)); - return ret; -} - static int ipclite_channel_irq_init(struct device *parent, struct device_node *node, struct ipclite_channel *channel) { @@ -1461,7 +1440,7 @@ static int ipclite_probe(struct platform_device *pdev) if (hwlock_id != -EPROBE_DEFER) dev_err(&pdev->dev, "failed to retrieve hwlock\n"); ret = hwlock_id; - goto error; + goto release; } IPCLITE_OS_LOG(IPCLITE_DBG, "Hwlock id retrieved, hwlock_id=%d\n", hwlock_id); @@ -1469,7 +1448,7 @@ static int ipclite_probe(struct platform_device *pdev) if (!ipclite->hwlock) { IPCLITE_OS_LOG(IPCLITE_ERR, "Failed to assign hwlock_id\n"); ret = -ENXIO; - goto error; + goto release; } IPCLITE_OS_LOG(IPCLITE_DBG, "Hwlock id assigned successfully, hwlock=%p\n", ipclite->hwlock); @@ -1485,12 +1464,6 @@ static int ipclite_probe(struct platform_device *pdev) mem = &(ipclite->ipcmem.mem); memset(mem->virt_base, 0, mem->size); - ret = set_ipcmem_access_control(ipclite); - if (ret) { - IPCLITE_OS_LOG(IPCLITE_ERR, "failed to set access control policy\n"); - goto release; - } - ipcmem_init(&ipclite->ipcmem); /* Set up sysfs for debug */ @@ -1558,6 +1531,7 @@ mem_release: */ release: kfree(ipclite); + ipclite = NULL; error: IPCLITE_OS_LOG(IPCLITE_ERR, "IPCLite probe failed\n"); return ret;