From: Jens Wiklander <jens.wiklander@linaro.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Marc Bonnici <marc.bonnici@arm.com>,
Coboy Chen <coboy.chen@mediatek.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Olivier Deprez <olivier.deprez@arm.com>
Subject: Re: [PATCH v3 03/17] firmware: arm_ffa: Implement the notification bind and unbind interface
Date: Wed, 4 Oct 2023 11:11:54 +0200 [thread overview]
Message-ID: <20231004091154.GB1091193@rayden> (raw)
In-Reply-To: <20230929-ffa_v1-1_notif-v3-3-c8e4f15190c8@arm.com>
On Fri, Sep 29, 2023 at 04:02:52PM +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 <sudeep.holla@arm.com>
> ---
> 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 efa4e7fb15e3..26bf9c4e3b5f 100644
> --- a/drivers/firmware/arm_ffa/driver.c
> +++ b/drivers/firmware/arm_ffa/driver.c
> @@ -587,6 +587,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.
Thanks,
Jens
> +
> + func = is_bind ? FFA_NOTIFICATION_BIND : FFA_NOTIFICATION_UNBIND;
> +
> + invoke_ffa_fn((ffa_value_t){
> + .a0 = func, .a1 = src_dst_ids, .a2 = flags,
> + .a3 = NOTIFICATION_BITMAP_LOW(bitmap),
> + .a4 = NOTIFICATION_BITMAP_HIGH(bitmap),
> + }, &ret);
> +
> + if (ret.a0 == FFA_ERROR)
> + return ffa_to_linux_errno((int)ret.a2);
> + else if (ret.a0 != FFA_SUCCESS)
> + return -EINVAL;
> +
> + return 0;
> +}
> +
> static void ffa_set_up_mem_ops_native_flag(void)
> {
> if (!ffa_features(FFA_FN_NATIVE(MEM_LEND), 0, NULL, NULL) ||
>
> --
> 2.42.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Marc Bonnici <marc.bonnici@arm.com>,
Coboy Chen <coboy.chen@mediatek.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Olivier Deprez <olivier.deprez@arm.com>
Subject: Re: [PATCH v3 03/17] firmware: arm_ffa: Implement the notification bind and unbind interface
Date: Wed, 4 Oct 2023 11:11:54 +0200 [thread overview]
Message-ID: <20231004091154.GB1091193@rayden> (raw)
In-Reply-To: <20230929-ffa_v1-1_notif-v3-3-c8e4f15190c8@arm.com>
On Fri, Sep 29, 2023 at 04:02:52PM +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 <sudeep.holla@arm.com>
> ---
> 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 efa4e7fb15e3..26bf9c4e3b5f 100644
> --- a/drivers/firmware/arm_ffa/driver.c
> +++ b/drivers/firmware/arm_ffa/driver.c
> @@ -587,6 +587,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.
Thanks,
Jens
> +
> + func = is_bind ? FFA_NOTIFICATION_BIND : FFA_NOTIFICATION_UNBIND;
> +
> + invoke_ffa_fn((ffa_value_t){
> + .a0 = func, .a1 = src_dst_ids, .a2 = flags,
> + .a3 = NOTIFICATION_BITMAP_LOW(bitmap),
> + .a4 = NOTIFICATION_BITMAP_HIGH(bitmap),
> + }, &ret);
> +
> + if (ret.a0 == FFA_ERROR)
> + return ffa_to_linux_errno((int)ret.a2);
> + else if (ret.a0 != FFA_SUCCESS)
> + return -EINVAL;
> +
> + return 0;
> +}
> +
> static void ffa_set_up_mem_ops_native_flag(void)
> {
> if (!ffa_features(FFA_FN_NATIVE(MEM_LEND), 0, NULL, NULL) ||
>
> --
> 2.42.0
>
next prev parent reply other threads:[~2023-10-04 9:12 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-29 15:02 [PATCH v3 00/17] firmware: arm_ffa: Add FF-A v1.1 support(notification + new memory descriptor format) Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 01/17] firmware: arm_ffa: Update the FF-A command list with v1.1 additions Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 02/17] firmware: arm_ffa: Implement notification bitmap create and destroy interfaces Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 03/17] firmware: arm_ffa: Implement the notification bind and unbind interface Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-10-04 9:11 ` Jens Wiklander [this message]
2023-10-04 9:11 ` Jens Wiklander
2023-10-04 9:50 ` Olivier Deprez
2023-10-04 9:50 ` Olivier Deprez
2023-10-04 15:32 ` Sudeep Holla
2023-10-04 15:32 ` Sudeep Holla
2023-10-05 6:57 ` Jens Wiklander
2023-10-05 6:57 ` Jens Wiklander
2023-10-05 8:49 ` Sudeep Holla
2023-10-05 8:49 ` Sudeep Holla
2023-10-05 9:56 ` Jens Wiklander
2023-10-05 9:56 ` Jens Wiklander
2023-10-05 13:30 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 04/17] firmware: arm_ffa: Implement the FFA_RUN interface Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 05/17] firmware: arm_ffa: Implement the FFA_NOTIFICATION_SET interface Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 06/17] firmware: arm_ffa: Implement the FFA_NOTIFICATION_GET interface Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 07/17] firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-10-04 9:10 ` Jens Wiklander
2023-10-04 9:10 ` Jens Wiklander
2023-10-04 15:11 ` Sudeep Holla
2023-10-04 15:11 ` Sudeep Holla
2023-10-05 6:30 ` Jens Wiklander
2023-10-05 6:30 ` Jens Wiklander
2023-09-29 15:02 ` [PATCH v3 08/17] firmware: arm_ffa: Initial support for scheduler receiver interrupt Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 09/17] firmware: arm_ffa: Add schedule receiver callback mechanism Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:02 ` [PATCH v3 10/17] firmware: arm_ffa: Add interfaces to request notification callbacks Sudeep Holla
2023-09-29 15:02 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 11/17] firmware: arm_ffa: Add interface to send a notification to a given partition Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 12/17] firmware: arm_ffa: Add notification handling mechanism Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 13/17] firmware: arm_ffa: Simplify the computation of transmit and fragment length Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 14/17] KVM: arm64: FFA: Remove access of endpoint memory access descriptor array Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-10-02 16:20 ` Sudeep Holla
2023-10-02 16:20 ` Sudeep Holla
2023-10-04 10:08 ` Marc Zyngier
2023-10-04 10:08 ` Marc Zyngier
2023-10-04 13:22 ` Sudeep Holla
2023-10-04 13:22 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 15/17] firmware: arm_ffa: Switch to using ffa_mem_desc_offset() accessor Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 16/17] firmware: arm_ffa: Update memory descriptor to support v1.1 format Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
2023-09-29 15:03 ` [PATCH v3 17/17] firmware: arm_ffa: Upgrade the driver version to v1.1 Sudeep Holla
2023-09-29 15:03 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231004091154.GB1091193@rayden \
--to=jens.wiklander@linaro.org \
--cc=coboy.chen@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=marc.bonnici@arm.com \
--cc=olivier.deprez@arm.com \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.