Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp2694662rdb; Tue, 12 Sep 2023 09:17:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQ7HM8a0iw+HS7oaFJ5u9/XHFhjTpZvZppuWbd42etymwp5LP3FAvfHtbuyxGJl4y5DpkK X-Received: by 2002:a17:90a:aa88:b0:26d:2ae0:9b63 with SMTP id l8-20020a17090aaa8800b0026d2ae09b63mr10474675pjq.16.1694535460028; Tue, 12 Sep 2023 09:17:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694535460; cv=none; d=google.com; s=arc-20160816; b=0KJf0ZEPxX50rUyfKNRia7b5pUvayeen/rnd0484uMwfyxpzh1rLk9VP0B9U42Amzg BTJWZn87teq9C8jOtgVTuhIGgIeoE4SEBepegI6EqQUsKMOinuHzzh/K75+aYHex/rzM 2YRBVbcoMKSA0EmgcvSFGtuRZWLFyK1lgjhNALLob8uYF85UXLxY1h+7/M3TUHekraZR EKoSNFDXpKE8a+wX15WoJIE8an66NE/fYaivwNuY6Z0jKpYLb28+ldszFYn8HEgRIIVi krTCF8VptdaCbDlrnmAKxq1GBMK5wtmmGMpWMqemykrKh8FbdH6BkID1bIYbJrwEGSd1 8Xxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=Bx1dFN7EIPJ2nSg6JuufCNIU8cVtB/27MQ51dyFySuQ=; fh=ygpxI3Ga9wiPk6+YkIHRWHkeZ0BcI7NNOFoemkfzgYQ=; b=aEKSQpqi2Efhus9Lsv8o0JjJaRQqy1UMdTAAezH3rqxvQ4B81prHmDlIhGSHwa8SWk nmO3+PDXJI8Hw1Wtbue7Rhq+ZfIuMH4ulejNX/AXUTp+hoBKZrPf+P5OS1KP5aPdzl5k swDTcqFf1v/QFRa39Xh90b/sOm/p+oNqrqEGCVExhY5WsUicJw4rGLTONOjRR/dG/UFu goGGYBR8qOpz50dYv/htnWGhHcGfYwSTH+bdeZXXB2ojVrpRh1d/cyq+p7HOHVfYFc0M 9I6SEOUTBgo9OyVuFZ18dqPHuDQlpWAxSfcGryPnqVf8Oo6HGAMioavGGjbm+FOaNLYJ rUIw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id y15-20020a17090aa40f00b0025027e0ad3dsi8106675pjp.81.2023.09.12.09.17.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 09:17:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 7BF64808488F; Tue, 12 Sep 2023 09:08:47 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236379AbjILQIs (ORCPT + 99 others); Tue, 12 Sep 2023 12:08:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236604AbjILQIa (ORCPT ); Tue, 12 Sep 2023 12:08:30 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B1F361725 for ; Tue, 12 Sep 2023 09:08:18 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B1FBBC15; Tue, 12 Sep 2023 09:08:55 -0700 (PDT) Received: from bogus (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 81A803F738; Tue, 12 Sep 2023 09:08:17 -0700 (PDT) Date: Tue, 12 Sep 2023 17:08:14 +0100 From: Sudeep Holla To: Jens Wiklander Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Lucian Paul-Trifu , Marc Bonnici , Coboy Chen Subject: Re: [PATCH RFT 03/12] firmware: arm_ffa: Implement the notification bind and unbind interface Message-ID: <20230912160814.maooz77hthnja2py@bogus> References: <20230803-ffa_v1-1_notif-v1-0-6613ff2b1f81@arm.com> <20230803-ffa_v1-1_notif-v1-3-6613ff2b1f81@arm.com> <20230912132353.GB4160483@rayden> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230912132353.GB4160483@rayden> 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 (snail.vger.email [0.0.0.0]); Tue, 12 Sep 2023 09:08:47 -0700 (PDT) On Tue, Sep 12, 2023 at 03:23:53PM +0200, Jens Wiklander wrote: > On Thu, Aug 03, 2023 at 08:02:07PM +0100, Sudeep Holla wrote: > > A receiver endpoint must bind a notification to any sender endpoint > > before the latter can signal the notification to the former. The receiver > > assigns one or more doorbells to a specific sender. Only the sender can > > ring these doorbells. > > > > A receiver uses the FFA_NOTIFICATION_BIND interface to bind one or more > > notifications to the sender. A receiver un-binds a notification from a > > sender endpoint to stop the notification from being signaled. It uses > > the FFA_NOTIFICATION_UNBIND interface to do this. > > > > Allow the FF-A driver to be able to bind and unbind a given notification > > ID to a specific partition ID. This will be used to register and > > unregister notification callbacks from the FF-A client drivers. > > > > Signed-off-by: Sudeep Holla > > --- > > drivers/firmware/arm_ffa/driver.c | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > > diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c > > index 022c893c9e06..a76e5d3a2422 100644 > > --- a/drivers/firmware/arm_ffa/driver.c > > +++ b/drivers/firmware/arm_ffa/driver.c > > @@ -575,6 +575,35 @@ static int ffa_notification_bitmap_destroy(void) > > return 0; > > } > > > > +#define NOTIFICATION_LOW_MASK GENMASK(31, 0) > > +#define NOTIFICATION_HIGH_MASK GENMASK(63, 32) > > +#define NOTIFICATION_BITMAP_HIGH(x) \ > > + ((u32)(FIELD_GET(NOTIFICATION_HIGH_MASK, (x)))) > > +#define NOTIFICATION_BITMAP_LOW(x) \ > > + ((u32)(FIELD_GET(NOTIFICATION_LOW_MASK, (x)))) > > + > > +static int ffa_notification_bind_common(u16 dst_id, u64 bitmap, > > + u32 flags, bool is_bind) > > +{ > > + ffa_value_t ret; > > + u32 func, src_dst_ids = PACK_TARGET_INFO(dst_id, drv_info->vm_id); > dst_id and drv_info->vm_id should be swapped in the argument to > PACK_TARGET_INFO(). > Thanks a lot for having a look at the series. I see Olivier or someone have already pointed this in private and I seem to have it fixed locally already. -- Regards, Sudeep