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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 647A3C3815B for ; Mon, 20 Apr 2020 16:25:56 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 3669020857 for ; Mon, 20 Apr 2020 16:25:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Qytq0w+1"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gBw5HtUR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3669020857 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KRK57YADd1po0SyIma483g9rzrF1E0Z9P1AC/KH8xiY=; b=Qytq0w+1dHU1H2 pG0XXYBOaVqQY/ryDyZo5j5T/emTuBlgZm5RRmP/8jMiwEOGuV66FLbHGqSFWIYpzixVkjVlpBN33 WNatuwsKznyxqibrPmxSRv//wKkmsE8xhHiDZoT7nbJxwcVu56k0KNOZXDstlyHirBy1/Hv0AjtjK kho+FWjhXwhuLET5DFaCDK2uWp0RhEnaUAmtVlFN4reYralXfsweRbTycYFuPWm5G/Xx1pJEijCMY UQr6VsPtkMcndM0tgHXnF8CqlTBSPXiNpFpkuN3w5oqVyWjlo3YhUs7PXsf/F4gSNVKegMyz29oPM M2vIcGizXWRQsRSYq1Fg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQZF1-0007Wd-SA; Mon, 20 Apr 2020 16:25:51 +0000 Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQZEy-0007Rt-Mp for linux-arm-kernel@lists.infradead.org; Mon, 20 Apr 2020 16:25:50 +0000 Received: by mail-lj1-x242.google.com with SMTP id q19so10643548ljp.9 for ; Mon, 20 Apr 2020 09:25:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=I0v3xLrp79PXZrzlOv1LUbwRJO7GLXI413EH8rUtBcM=; b=gBw5HtURfzPQpn5revaajTUwOnm2ALHUdEl8tn8OEcVzdwKtIxhwWxVIsvhYmrHuEr XiChK91ZMcBuis25DaX+gwQ7HW23mWaMlnoN5Li9sMxsExzzLeN9LzVgd9X1rmOCcLXs VlMlSCYETye5uZHNW6K4Y+xeUe9rBowrgZWgAi3wkZRajhxivyaGseLWkdXTWCJ1DmY7 wyNC6kNgiAvvJDzRm4dW1Q6+XYDCV4Ap+GnM6sn/3otcDaCQE7veGIxK7J4f/sUh64dh Z/yzpdyoPOPa7umwrvTd8zPSV5jhNtNL04M2v3azFVZFnRGCiaOO5/ieyL4B+nvbaFbh wHCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=I0v3xLrp79PXZrzlOv1LUbwRJO7GLXI413EH8rUtBcM=; b=XNWucwk853S6vIMONnGFNksf4bHtrP9tnKqaDB2sQTWMkaBb/LkSy/3BoJ5Rb8wY2A kJmjwEyyOItR0UtjNISEgcW44weMWCjvCDwRybBGUVXStmEAA/YbOYnSC22jDsNV31zr ow526bLXaaQihBvX429N3ob0oRAmP72XAUF5rhkCUjPbYeavfriK6hNMhUw2GX5PGmOy WL9stOuG1LxV/1ivaJWQI1Yi0WSMOi4TIrLBSKj3X2Nf1Ln60OxNZgqTFqtoynhv9MrH U4pX4pUeG8wxbVVZeBeSHPQE8VDnFf5VsyJa4J8a00bXEf0ISnm2nFNUbSR4031knwEu fmMQ== X-Gm-Message-State: AGi0PubcmBMNUik6mfRorxi5RVRNYmSLxeEE12HvDnIVIXbKbz/9RbC6 dbsAMjk+MtnwP7V/ZmVQk8cB2ktKbbcAU6BdnwyP2w== X-Google-Smtp-Source: APiQypLTxd+Bc4GLYJLdA6XxlFaDKqQZSeP/c2xWLWSrdwpyO/4Pm/CYJJRfWwRHkWxUkl6lefGFGweYxYKk1eOAqrI= X-Received: by 2002:a2e:7215:: with SMTP id n21mr4301352ljc.199.1587399942333; Mon, 20 Apr 2020 09:25:42 -0700 (PDT) MIME-Version: 1.0 References: <20200417103232.6896-1-sudeep.holla@arm.com> <20200420145712.GA307@bogus> In-Reply-To: <20200420145712.GA307@bogus> From: Etienne Carriere Date: Mon, 20 Apr 2020 18:25:31 +0200 Message-ID: Subject: Re: [PATCH] firmware: arm_scmi: Fix return error code in smc_send_message To: Sudeep Holla X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200420_092548_774673_97BE9634 X-CRM114-Status: GOOD ( 24.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peng Fan , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 20 Apr 2020 at 17:35, Sudeep Holla wrote: > > On Sun, Apr 19, 2020 at 12:04:27PM +0200, Etienne Carriere wrote: > > Hello Sudeep, > > > > On Fri, 17 Apr 2020 at 12:32, Sudeep Holla wrote: > > > > > > SMCCC can return one of the 2 return error code here: NOT_SUPPORTED(-1) > > > and INVALID_PARAMETER(-3). Map them to appropriate Linux error codes > > > namely -EOPNOTSUPP and -EINVAL respectively. -EINVAL is also returned > > > for any other return values. > > > > Reading back the SMCCC spec, I see that INVALID_PARAMETER(-3) and > > SUCCESS(0) are Arm Architecture Calls specific return values. > > The only generic return value that applies to any SMCCC call is > > NOT_SUPPORTED(-1). > > > > As for an SCMI SMCCC transport layer, any other value than -1 means > > the call is supported and one should rely on the statuses provided in > > the shared memory buffer related to the function ID. > > > > Yes I agree, I had the change to reflect above initially and for some reason > I decided to extend. > > > > > > > Cc: Peng Fan > > > Reported-by: Etienne Carriere > > > Signed-off-by: Sudeep Holla > > > --- > > > drivers/firmware/arm_scmi/smc.c | 6 +++++- > > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/firmware/arm_scmi/smc.c b/drivers/firmware/arm_scmi/smc.c > > > index 833e793b5391..a8b5ecb8927a 100644 > > > --- a/drivers/firmware/arm_scmi/smc.c > > > +++ b/drivers/firmware/arm_scmi/smc.c > > > @@ -114,7 +114,11 @@ static int smc_send_message(struct scmi_chan_info *cinfo, > > > > > > mutex_unlock(&scmi_info->shmem_lock); > > > > > > - return res.a0; > > > + if (res.a0 == SMCCC_RET_NOT_SUPPORTED) > > > + return -EOPNOTSUPP; > > > + else if (res.a0) > > > + return -EINVAL; > > > > Related to my comment above: > > I have no strong opinion on that as I guess SCMI SMCCC transport layer > > in secure world firmware could ensure output argument a0 is set not 0. > > That said, I might be nitpicking but I still think th 2 lines could be removed. > > > > Is there any strong reason for testing finer return status from res.a0? > > > > No, I will drop. With that can I have you Ack/Reviewed-by ? Ok. Sure you can add my Reviewed-by as well as my Tested-by, assuming I tested this change over the right version. I used your branch for-next/scmi, from commit a2fe6324. Regards, Etienne > > -- > Regards, > Sudeep _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel