From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: abdellatif.elkhlifi@arm.com
Cc: u-boot@lists.denx.de
Subject: Re: [PATCH 3/8] arm_ffa: Add FFA_MEM_RECLAIM support
Date: Fri, 1 Nov 2024 17:21:26 +0200 [thread overview]
Message-ID: <ZyTx9rECRTWfZDf1@hera> (raw)
In-Reply-To: <20241101142017.79311-4-abdellatif.elkhlifi@arm.com>
[...]
> }
>
> +/**
> + * ffa_memory_reclaim_hdlr() - FFA_MEM_RECLAIM handler function
> + * @dev: The FF-A bus device
> + * @g_handle: The memory region globally unique Handle
> + * @flags: Zero memory and time slicing flags
> + *
> + * Implement FFA_MEM_RECLAIM FF-A function
> + * to restore exclusive access to a memory region back to its Owner.
> + *
> + * Return:
> + *
> + * 0 on success. Otherwise, failure
> + */
> +int ffa_memory_reclaim_hdlr(struct udevice *dev, u64 g_handle, u32 flags)
> +{
> + ffa_value_t res;
> + int ffa_errno;
> +
> + invoke_ffa_fn((ffa_value_t){
> + .a0 = FFA_SMC_32(FFA_MEM_RECLAIM),
> + .a1 = HANDLE_LOW(g_handle), .a2 = HANDLE_HIGH(g_handle),
> + .a3 = flags,
> + },
> + &res
> + );
> +
> + if (res.a0 != FFA_SMC_32(FFA_SUCCESS)) {
> + ffa_errno = res.a2;
> + ffa_print_error_log(FFA_MEM_RECLAIM, ffa_errno);
> + return ffa_to_std_errno(ffa_errno);
> + }
> +
> + return 0;
> +}
Is there a reason you have to define both ffa_memory_reclaim_hdlr() and ffa_memory_reclaim()?
Can't you just move the checks of ffa_memory_reclaim() to
ffa_memory_reclaim_hdlr()?
> +
> /* FF-A driver operations (used by clients for communicating with FF-A)*/
>
> /**
> @@ -1214,6 +1261,29 @@ int ffa_memory_share(struct udevice *dev, struct ffa_mem_ops_args *args)
> return ops->memory_share(dev, args);
> }
>
> +/**
> + * ffa_memory_reclaim() - FFA_MEM_RECLAIM driver operation
> + * @dev: The FF-A bus device
> + * @g_handle: The memory region globally unique Handle
> + * @flags: Zero memory and time slicing flags
> + *
> + * Driver operation for FFA_MEM_RECLAIM.
> + * Please see ffa_memory_reclaim_hdlr() description for more details.
> + *
> + * Return:
> + *
> + * 0 on success. Otherwise, failure
> + */
> +int ffa_memory_reclaim(struct udevice *dev, u64 g_handle, u32 flags)
> +{
> + struct ffa_bus_ops *ops = ffa_get_ops(dev);
> +
> + if (!ops || !ops->memory_reclaim)
> + return -ENOSYS;
> +
> + return ops->memory_reclaim(dev, g_handle, flags);
> +}
> +
> /**
> * ffa_do_probe() - probing FF-A framework
> * @dev: the FF-A bus device (arm_ffa)
> diff --git a/drivers/firmware/arm-ffa/arm-ffa.c b/drivers/firmware/arm-ffa/arm-ffa.c
> index c4211c953ef..b7e751e3821 100644
> --- a/drivers/firmware/arm-ffa/arm-ffa.c
> +++ b/drivers/firmware/arm-ffa/arm-ffa.c
> @@ -85,6 +85,7 @@ static const struct ffa_bus_ops ffa_ops = {
> .sync_send_receive = ffa_msg_send_direct_req_hdlr,
> .rxtx_unmap = ffa_unmap_rxtx_buffers_hdlr,
> .memory_share = ffa_memory_share_hdlr,
> + .memory_reclaim = ffa_memory_reclaim_hdlr,
> };
>
[...]
Thanks
/Ilias
next prev parent reply other threads:[~2024-11-01 15:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-01 14:20 [PATCH 0/8] arm_ffa: Add FFA_MEM_SHARE and FFA_MEM_RECLAIM support abdellatif.elkhlifi
2024-11-01 14:20 ` [PATCH 1/8] arm_ffa: Add NULL pointer check to the driver operations abdellatif.elkhlifi
2024-11-01 15:14 ` Ilias Apalodimas
2024-11-04 12:48 ` Jens Wiklander
2024-11-01 14:20 ` [PATCH 2/8] arm_ffa: Add FFA_MEM_SHARE support abdellatif.elkhlifi
2024-11-01 14:20 ` [PATCH 3/8] arm_ffa: Add FFA_MEM_RECLAIM support abdellatif.elkhlifi
2024-11-01 15:21 ` Ilias Apalodimas [this message]
2024-11-04 11:22 ` Abdellatif El Khlifi
2024-11-01 14:20 ` [PATCH 4/8] arm_ffa: sandbox: Replace the emulator error log with debug log abdellatif.elkhlifi
2024-11-01 15:16 ` Ilias Apalodimas
2024-11-01 14:20 ` [PATCH 5/8] arm_ffa: sandbox: Add FFA_MEM_SHARE emulation abdellatif.elkhlifi
2024-11-01 14:20 ` [PATCH 6/8] arm_ffa: sandbox: Add FFA_MEM_SHARE tests abdellatif.elkhlifi
2024-11-01 14:20 ` [PATCH 7/8] arm_ffa: sandbox: Add FFA_MEM_RECLAIM emulation abdellatif.elkhlifi
2024-11-01 14:20 ` [PATCH 8/8] arm_ffa: sandbox: Add FFA_MEM_RECLAIM tests abdellatif.elkhlifi
2024-11-07 15:33 ` [PATCH 0/8] arm_ffa: Add FFA_MEM_SHARE and FFA_MEM_RECLAIM support Abdellatif El Khlifi
2024-11-20 13:13 ` Abdellatif El Khlifi
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=ZyTx9rECRTWfZDf1@hera \
--to=ilias.apalodimas@linaro.org \
--cc=abdellatif.elkhlifi@arm.com \
--cc=u-boot@lists.denx.de \
/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.