Received: by 2002:a05:7412:40d:b0:e2:908c:2ebd with SMTP id 13csp187564rdf; Mon, 20 Nov 2023 22:37:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IHkD6Z1a3aTPLa/iqaaswhaxCK9oQO1tMrDIN914JQM2k71Dd7gtofy9X1xTjI9jWOPDEYD X-Received: by 2002:a05:6a21:a59e:b0:180:e3f1:4f60 with SMTP id gd30-20020a056a21a59e00b00180e3f14f60mr8652568pzc.45.1700548638560; Mon, 20 Nov 2023 22:37:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700548638; cv=none; d=google.com; s=arc-20160816; b=sd+7XDQuIVA50gPEBdD09HaeZHjiD7OsTeVLyVK+jKisbLd+ydhSz8dcw1fISN7+/G kPYGGe9+qfD86hQoQbPmDrI6KRc89CozLufpb1sYp+tyYcWZAAD9SFCFzF2AtSwJUmwF 4EArB2FPXDl5bGT+Vd2obttJgwRKaNZShObdH8JUrWywSrI+FUbetxV1THVQcowZ0wgl CIClD3uX4BYHr7ub6qfKxaFHuddFxyUmbqSidXsZrAmRUvWcegf4IKhbZ1cS9b0plUfY jgLyNFZlUCDaXRK1U+FrmWdRV0HhFtA7dBl4Avp2ZkuK7ZQVxfwROlb5cO0s67/zsXR3 l2rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=n+NOZrpLmgyZlIs5dpuqKAuyaTnOay6k8ZB1i6oal7A=; fh=J1WGEN8ippx3yASFltTC10h0oRwFEgiR9caHTEJvh1A=; b=YLHhe20lZzhxYgIUNtemHB18kYgIhIQ8GzXEDkn+K/NSOfEP64+RDRqmVVjpZzBlbH 9XeJ99msw+bFhKPTPSCcRFrwjj6U0dgBf6GIgM6nHZ11KwW9y4Sd3SZnnNxmgPOFs9J8 VNesbFjkB3OQqIc+39b48nVMfRr/uUdnn/MBTKYkZrMEquFTRU0KIdrPzSuhNIZVKtyq gd10JWHHeyzZj/4ARQQTQtICi7rpRkjqhc88HTN5PHCm9UrYBxCBJt/ZRG6pUr86rijm G7fQh76qFEwAarGX/BOypP4ay0rHVDkoovprWlfuR5BjvpbAJWSxDFVSy73VblKYxyq7 vR7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="kV/lkbzk"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id z123-20020a633381000000b005c1b2ca8915si10124840pgz.331.2023.11.20.22.37.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 22:37:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="kV/lkbzk"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id E4810805462A; Mon, 20 Nov 2023 22:35:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230102AbjKUGfX (ORCPT + 99 others); Tue, 21 Nov 2023 01:35:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229539AbjKUGfW (ORCPT ); Tue, 21 Nov 2023 01:35:22 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 924C090; Mon, 20 Nov 2023 22:35:18 -0800 (PST) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AL6FfF1000361; Tue, 21 Nov 2023 06:35:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=qcppdkim1; bh=n+NOZrpLmgyZlIs5dpuqKAuyaTnOay6k8ZB1i6oal7A=; b=kV/lkbzkTLmEP4CCZOT1isigZbxo0l9fJWZ4nqkYiKqpRp/oL4kHlsUs6FkgFbN5//g/ sKVYheMPGuIj8T3lSeysYqpsoEHfJXhwHl3GENZdTLyt3hBtFSdv1LdbsaiAsACj8UTf ma2uqoL8jx6+bfSVDZWG9fEZ8ivvvxVMSbz+OCO1KuqLhKdeRqjq4VVUnd6xEhFXaTZy m4ACStSZ49/E8a+Og9m7fFEYFr5LgZWE2nLmg93GWpuAfOBCxu3mobmHMprxXwUo9uMn rddEtXaKOt/rtyFDs6VnbHDNLfwVp9sPEQjpScwV8jetnSEA9/TGvX5pmUJMgZH/puaL CA== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3ugcqs19mk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Nov 2023 06:35:05 +0000 Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3AL6Z42Z026285 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Nov 2023 06:35:04 GMT Received: from [10.110.10.93] (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Mon, 20 Nov 2023 22:35:01 -0800 Message-ID: <6e189833-b76b-030f-482e-d13e0d6d131a@quicinc.com> Date: Mon, 20 Nov 2023 22:35:00 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [RESEND PATCH v5 02/12] firmware: qcom: scm: enable the TZ mem allocator To: Bartosz Golaszewski , Andy Gross , "Bjorn Andersson" , Konrad Dybcio , Elliot Berman , Krzysztof Kozlowski , Guru Das Srinagesh , Andrew Halaney , "Maximilian Luz" , Alex Elder , "Srini Kandagatla" CC: , , , , "Bartosz Golaszewski" References: <20231120132118.30473-1-brgl@bgdev.pl> <20231120132118.30473-3-brgl@bgdev.pl> Content-Language: en-US From: Prasad Sodagudi In-Reply-To: <20231120132118.30473-3-brgl@bgdev.pl> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: 56ScQPAA72nHRNHD82t-N3le8YtezNiF X-Proofpoint-GUID: 56ScQPAA72nHRNHD82t-N3le8YtezNiF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-21_03,2023-11-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 phishscore=0 bulkscore=0 clxscore=1011 mlxlogscore=999 mlxscore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311210050 X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 20 Nov 2023 22:35:34 -0800 (PST) On 11/20/2023 5:21 AM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski > > Select the TrustZone memory allocator in Kconfig and create a pool of > memory shareable with the TrustZone when probing the SCM driver. > > This will allow a gradual conversion of all relevant SCM calls to using > the dedicated allocator. > > Signed-off-by: Bartosz Golaszewski > Reviewed-by: Andrew Halaney > Tested-by: Andrew Halaney # sc8280xp-lenovo-thinkpad-x13s > --- > drivers/firmware/qcom/Kconfig | 1 + > drivers/firmware/qcom/qcom_scm.c | 16 ++++++++++++++++ > 2 files changed, 17 insertions(+) > > diff --git a/drivers/firmware/qcom/Kconfig b/drivers/firmware/qcom/Kconfig > index b80269a28224..237da40de832 100644 > --- a/drivers/firmware/qcom/Kconfig > +++ b/drivers/firmware/qcom/Kconfig > @@ -7,6 +7,7 @@ > menu "Qualcomm firmware drivers" > > config QCOM_SCM > + select QCOM_TZMEM > tristate > > config QCOM_TZMEM > diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c > index 520de9b5633a..0d4c028be0c1 100644 > --- a/drivers/firmware/qcom/qcom_scm.c > +++ b/drivers/firmware/qcom/qcom_scm.c > @@ -8,8 +8,10 @@ > #include > #include > #include > +#include > #include > #include > +#include > #include > #include > #include > @@ -20,9 +22,11 @@ > #include > #include > #include > +#include > #include > > #include "qcom_scm.h" > +#include "qcom_tzmem.h" > > static bool download_mode = IS_ENABLED(CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT); > module_param(download_mode, bool, 0); > @@ -41,6 +45,8 @@ struct qcom_scm { > int scm_vote_count; > > u64 dload_mode_addr; > + > + struct qcom_tzmem_pool *mempool; > }; > > struct qcom_scm_current_perm_info { > @@ -1887,6 +1893,16 @@ static int qcom_scm_probe(struct platform_device *pdev) > if (of_property_read_bool(pdev->dev.of_node, "qcom,sdi-enabled")) > qcom_scm_disable_sdi(); > > + ret = qcom_tzmem_enable(__scm->dev); > + if (ret) > + return dev_err_probe(__scm->dev, ret, > + "Failed to enable the TrustZone memory allocator\n"); Based on my knowledge shmbridge is supported from sm8250 SoC in the firmware. sdm845 and couple of other targets may not have support shmbridge support and probe will be fail for these targets right? > + > + __scm->mempool = devm_qcom_tzmem_pool_new(__scm->dev, SZ_256K); > + if (IS_ERR(__scm->mempool)) > + return dev_err_probe(__scm->dev, PTR_ERR(__scm->mempool), > + "Failed to create the SCM memory pool\n"); > + > /* > * Initialize the QSEECOM interface. > *