From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD138C3DA6F for ; Fri, 25 Aug 2023 10:23:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IuMHKxjeVU/jP/bMzmrys4kle43/zcgDkjhhR3kyutE=; b=foOOAs15x8lRvx XBAQlNr+m/ufmNBwW5hx0FEbVUJTlUL+ApS2JlaEj7cYRQRahAaJ3ON8ujV+ZIAvHSgM2dPPnGbrc 3nPYCS0J1/QC6aVuNBgkgTngz/s1+7KRaa9n6dTIvuExrpe+yoW3Ank6g0ywN141iBB04jIYN+E9d DKNeIByWhk+Oa7Fj/qAgo0Lxz+eD4Ub9hNAGcmZZ02HEfQVE5Od167yWeoD8JNwYH7Dn0xCff5jUx ehUBzQ8iLOM3OiZvpyMpFMfix78658xKy8kOWEbDvxg/BsQS7pQliplc6ufmR3Gp+jSXwPwquOSUl 4BaEEt0fnuGTo6vwfQfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qZTxn-004oF3-2J; Fri, 25 Aug 2023 10:22:47 +0000 Received: from mout.gmx.net ([212.227.15.15]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qZTxk-004oEd-0P for linux-arm-kernel@lists.infradead.org; Fri, 25 Aug 2023 10:22:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1692958946; x=1693563746; i=wahrenst@gmx.net; bh=k5qoGE4dPXibVOr3vbK/MFYzKHRbviky7F+alf86o64=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=NU+H5MATeGlRVZLuFXnslLY7yOoH3vLJ5t+9uQcSy+Only8ULzSKG4G1n+Epv7CK3x0mZZk TygZuGuak+Wmn9wHmc82Q+CrW7v9AqiuJDu35c/HPQqR+XbXV61QgdyePRlhErjsVj1MgJZXV BOEiEzYcrKTIKiC/eHFcs3tFeyHI048SWJuI/4tZDI1edjEQ/U+A+bDOgCr4IPcH8yIVnOtaG 6eJikZBM9AkMi4slxgbxQEf0r8/bsqY40PQOJVDGhMSnwvoXC9Z0ivTGAUJR6e2VONfslt9JC skjc/CBGi9tOwNLmHKgMu04h4EdjDBi3+hUdUgZ7JFmVvXmvhbZQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.1.129] ([37.4.248.43]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MNt0M-1qKB4M2EkC-00OJA5; Fri, 25 Aug 2023 12:22:26 +0200 Message-ID: Date: Fri, 25 Aug 2023 12:22:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v5 06/11] firmware: imx: add driver for NXP EdgeLock Enclave To: Pankaj Gupta , shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, clin@suse.com, conor+dt@kernel.org, pierre.gondois@arm.com, ping.bai@nxp.com, xiaoning.wang@nxp.com, wei.fang@nxp.com, peng.fan@nxp.com, haibo.chen@nxp.com, festevam@gmail.com, linux-imx@nxp.com, davem@davemloft.net, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, gaurav.jain@nxp.com, alexander.stein@ew.tq-group.com, sahil.malhotra@nxp.com, aisheng.dong@nxp.com, V.Sethi@nxp.com Cc: kernel test robot References: <20230823073330.1712721-1-pankaj.gupta@nxp.com> <20230823073330.1712721-7-pankaj.gupta@nxp.com> Content-Language: en-US From: Stefan Wahren In-Reply-To: <20230823073330.1712721-7-pankaj.gupta@nxp.com> X-Provags-ID: V03:K1:/3g46wka99ef0GHi5iaaBRud3jyEYUA2Ob5RlCoyBKXFgTpkQ38 YDbKUnMLWCm2bCShYx8R/zMzNMaefhywhlF1iA7rQdCFt7OLFSCwezOVJPlNBP5sW+YDegT ezOfZdRXi1mLuBIXM1mHqWgulvAN530QLJ144juN5oEMm5aCg6I2RxrtuATp5nPZ8NzsSty 4XjT7/pR/g5r2fwWfdNOg== UI-OutboundReport: notjunk:1;M01:P0:9ua4HCUJGr0=;FL+8b/Y9zB5ZK2l1owGKr+b4qz7 RpF63e4OCZl3l6vwy5xDZiuoh23c6MkT7+IeTw02jdpfeJvd86xPxaFFOepcoISG7+ccUAH0D 8wo9eCCvKNRzKSkuaU6YCGSZnAEJ5TQkJOYWICNmAXbnKLJiMJ0vH005q/2UdzwgRh9l37TbE SmLtGOW+DgqCp3hFv3/qI1En1YGDb9J+KM3GcSevog/lQbVGbJh3i3CYBLmftEOc0E1odWtw+ wQPTUrRRtYMMR9g3z8C5kZPi39ENtimLg+bwTQRu7wxKiOIrLtHk9GDUQH02vaILRCDlGmbZE ZU26nhHqrg57DOtvkPNw7VKKUgtclNOkrWyPN+En5T0tUHWIeKyWOAYqJylksxjN+1PXhmNke i6MF2wnAf53qpSWb+zxK4MnwyJh+sfHot0nvWeGLWWpsk3+dlyGXIL5VdUZV/5PT/T+xhihDM 2pt+3VcusPYnY/er2dGS8w2TaIbGfMmeVSLfFRiRA/xPgaSMxdE+StsDGcLUzrd1o5AXWYxyG as7f1OfzWwz/Q+CVOib++a+/0EYjzfGlfRQ286sySClvRU279xQUG+p/9Sm/PJQ01oJA5tzPm vk2qFozpuXkPeaPRt/28FSzeBYkbVLyc+LE93DGzvG6zuwHh274XFPDGeuu/P6d/WLkLYChbg wZg9G3Gxz2eELP7W70xp/jAV/2cqC8WUO+x8ZSjvkTMI0KeuZhubDm9c3gXGT4+rDrn8tsegN Zuelnx1TYCmoKk24w9riVt9XqGqyj95ym1l148eMnXjrLGdimWNi9LE2FnGyHE1gIQSWp/gif EihFZ/kDKJy+mJfl8AwQzj0S6dmsTF4Nz4Z6TwcSXGGavvnb7npiu1ajh1e9BjQwKrBx41gLe SlIOrKTaCJZv2dFUABrDi5Oqahx1ACmB0Agado2Y2swRF1eql14lBAVufFaTIpbT80hkLSo20 4LWZJA== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230825_032244_617664_67B77F99 X-CRM114-Status: GOOD ( 16.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Pankaj, Am 23.08.23 um 09:33 schrieb Pankaj Gupta: > The Edgelock Enclave , is the secure enclave embedded in the SoC > to support the features like HSM, SHE & V2X, using message based > communication channel. > > ELE FW communicates on a dedicated MU with application core where > kernel is running. It exists on specific i.MX processors. e.g. > i.MX8ULP, i.MX93. > > Reported-by: kernel test robot > Closes:https://lore.kernel.org/oe-kbuild-all/202304120902.bP52A56z-lkp@intel.com > Signed-off-by: Pankaj Gupta > --- > Documentation/ABI/testing/se-cdev | 29 + > drivers/firmware/imx/Kconfig | 12 + > drivers/firmware/imx/Makefile | 2 + > drivers/firmware/imx/ele_base_msg.c | 62 ++ > drivers/firmware/imx/ele_common.c | 34 + > drivers/firmware/imx/ele_common.h | 21 + > drivers/firmware/imx/se_fw.c | 1201 +++++++++++++++++++++ > drivers/firmware/imx/se_fw.h | 168 +++ > include/linux/firmware/imx/ele_base_msg.h | 37 + > include/linux/firmware/imx/ele_mu_ioctl.h | 52 + > 10 files changed, 1618 insertions(+) > create mode 100644 Documentation/ABI/testing/se-cdev > create mode 100644 drivers/firmware/imx/ele_base_msg.c > create mode 100644 drivers/firmware/imx/ele_common.c > create mode 100644 drivers/firmware/imx/ele_common.h > create mode 100644 drivers/firmware/imx/se_fw.c > create mode 100644 drivers/firmware/imx/se_fw.h > create mode 100644 include/linux/firmware/imx/ele_base_msg.h > create mode 100644 include/linux/firmware/imx/ele_mu_ioctl.h ... > + > +int ele_get_info(struct device *dev, phys_addr_t addr, u32 data_size) > +{ > + struct ele_mu_priv *priv = dev_get_drvdata(dev); > + int ret; > + unsigned int tag, command, size, ver, status; > + > + ret = plat_fill_cmd_msg_hdr(priv, > + (struct mu_hdr *)&priv->tx_msg.header, > + ELE_GET_INFO_REQ, 16); > + if (ret) > + return ret; > + > + priv->tx_msg.data[0] = upper_32_bits(addr); > + priv->tx_msg.data[1] = lower_32_bits(addr); > + priv->tx_msg.data[2] = data_size; > + ret = imx_ele_msg_send_rcv(priv); > + if (ret < 0) > + return ret; > + > + tag = MSG_TAG(priv->rx_msg.header); > + command = MSG_COMMAND(priv->rx_msg.header); > + size = MSG_SIZE(priv->rx_msg.header); > + ver = MSG_VER(priv->rx_msg.header); > + status = RES_STATUS(priv->rx_msg.data[0]); > + if (tag == priv->rsp_tag && > + command == ELE_GET_INFO_REQ && > + size == ELE_GET_INFO_REQ_MSG_SZ && > + ver == ELE_BASE_API_VERSION && > + status == priv->success_tag) > + return 0; except of the coding style, i won't recommend this error handling. In case a user report a failure of ele_get_info(), we need to figure out which of these conditions failed. Why not check the conditions step by step and give a detailed error message. The same applies to the rest of the series. Best regards > + > + return -EINVAL; > +} > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel