Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp98439pxk; Thu, 24 Sep 2020 00:04:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJws1VrYpLu2NdO0/21NLpEHUu8jjluZBpuKTxotHefccx1OiVbcA2PVN3t6OVBfs0mN1lc2 X-Received: by 2002:a17:906:a198:: with SMTP id s24mr1661820ejy.154.1600931056496; Thu, 24 Sep 2020 00:04:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600931056; cv=none; d=google.com; s=arc-20160816; b=V9u++QERFkO1iuQasHTOin/JgKE2L3f7Zve/SENf4m97fflIZGa50l+mcMmjvy3mMB bp7KvhTjYiethx4RG7EacCAM0/3wPSg1rt7GAi2TK04DxupN8iwOw1uwrURYUciWQIVh 5xmyVka9B8IGr3S1xiTm8gkEsgYTRgu+LgQQOzvMZXtqAhExgMwyn6DLQZ7kv6Zp4/K9 Mz8b7OYjkN9Qm3JPNh8fOjDHZN3CElSpDuguT2uF9ZypXpC34k143dn8ME111gXFEcb3 okmHHfoXHkKcef7OnurnzOZDHOrB57nREWu0EeELgAFoXrXcXrRRYzSvrf4kzA9itq1z Ub3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=jb8chMleYOuDMv1sFO5dtmbqAsIGg15vBmCGeGZDKX8=; b=FyVJHpF/6iVm9AK7nRxlQQTxDbQrwUNo+TcqQKJxqQfM4E9g8d7kKdLejxCwFA512c QfxgE8ySuAAh5CJqmS6ONOrs1gZupxbbQjP+H3Pz+3poglVIKdH7fiS0SvYEzA6kjp4u eyi0KD4hF4vW+xxsivMSktUjTVbDwNCfkN/aqPaaksjQdaJDuEn2fSbiZFLeBEWVvlqs DL+1zRdWeMsdqQTQ1EBe3baB1Jo/h7TbSOMAhjSCihbHhEU3ZPyOLozatK0483qDQkBA kjUmS5n4inzixCXnbT/R6q6YrmOL2GEm7fOzIZMn93NLgOFmFNEpWRCbJ4My9l5h3Xha +Ytw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j12si1578192ejy.198.2020.09.24.00.03.52; Thu, 24 Sep 2020 00:04:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727020AbgIXHAM (ORCPT + 99 others); Thu, 24 Sep 2020 03:00:12 -0400 Received: from alexa-out.qualcomm.com ([129.46.98.28]:46639 "EHLO alexa-out.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727028AbgIXHAL (ORCPT ); Thu, 24 Sep 2020 03:00:11 -0400 Received: from ironmsg08-lv.qualcomm.com ([10.47.202.152]) by alexa-out.qualcomm.com with ESMTP; 23 Sep 2020 23:59:56 -0700 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by ironmsg08-lv.qualcomm.com with ESMTP/TLS/AES256-SHA; 23 Sep 2020 23:59:55 -0700 Received: from c-mansur-linux.qualcomm.com ([10.204.90.208]) by ironmsg02-blr.qualcomm.com with ESMTP; 24 Sep 2020 12:29:53 +0530 Received: by c-mansur-linux.qualcomm.com (Postfix, from userid 461723) id 400A921D59; Thu, 24 Sep 2020 12:29:52 +0530 (IST) From: Mansur Alisha Shaik To: linux-media@vger.kernel.org, stanimir.varbanov@linaro.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, vgarodia@codeaurora.org, Mansur Alisha Shaik Subject: [PATCH v5 3/3] venus: core: add shutdown callback for venus Date: Thu, 24 Sep 2020 12:29:46 +0530 Message-Id: <1600930786-18275-4-git-send-email-mansur@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1600930786-18275-1-git-send-email-mansur@codeaurora.org> References: <1600930786-18275-1-git-send-email-mansur@codeaurora.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org After the SMMU translation is disabled in the arm-smmu shutdown callback during reboot, if any subsystem are still alive then IOVAs they are using will become PAs on bus, which may lead to crash. So implemented shutdown callback, which detach iommu maps. Signed-off-by: Mansur Alisha Shaik Acked-by: Stanimir Varbanov --- drivers/media/platform/qcom/venus/core.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c index 6103aaf..65b71ac 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -345,6 +345,14 @@ static int venus_remove(struct platform_device *pdev) return ret; } +static void venus_core_shutdown(struct platform_device *pdev) +{ + struct venus_core *core = platform_get_drvdata(pdev); + + venus_shutdown(core); + venus_firmware_deinit(core); +} + static __maybe_unused int venus_runtime_suspend(struct device *dev) { struct venus_core *core = dev_get_drvdata(dev); @@ -602,6 +610,7 @@ static struct platform_driver qcom_venus_driver = { .of_match_table = venus_dt_match, .pm = &venus_pm_ops, }, + .shutdown = venus_core_shutdown, }; module_platform_driver(qcom_venus_driver); -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation