Message ID | 20240409153630.2026584-2-jens.wiklander@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | FF-A notifications | expand |
Hi Jens, > On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wrote: > > Refactors the large switch block in ffa_handle_call() to use common code > for the simple case where it's either an error code or success with no > further parameters. > > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Cheers Bertrand > --- > xen/arch/arm/tee/ffa.c | 30 ++++++++++-------------------- > 1 file changed, 10 insertions(+), 20 deletions(-) > > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c > index 8665201e34a9..5209612963e1 100644 > --- a/xen/arch/arm/tee/ffa.c > +++ b/xen/arch/arm/tee/ffa.c > @@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) > case FFA_RXTX_MAP_64: > e = ffa_handle_rxtx_map(fid, get_user_reg(regs, 1), > get_user_reg(regs, 2), get_user_reg(regs, 3)); > - if ( e ) > - ffa_set_regs_error(regs, e); > - else > - ffa_set_regs_success(regs, 0, 0); > - return true; > + break; > case FFA_RXTX_UNMAP: > e = ffa_handle_rxtx_unmap(); > - if ( e ) > - ffa_set_regs_error(regs, e); > - else > - ffa_set_regs_success(regs, 0, 0); > - return true; > + break; > case FFA_PARTITION_INFO_GET: > e = ffa_handle_partition_info_get(get_user_reg(regs, 1), > get_user_reg(regs, 2), > @@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) > return true; > case FFA_RX_RELEASE: > e = ffa_handle_rx_release(); > - if ( e ) > - ffa_set_regs_error(regs, e); > - else > - ffa_set_regs_success(regs, 0, 0); > - return true; > + break; > case FFA_MSG_SEND_DIRECT_REQ_32: > case FFA_MSG_SEND_DIRECT_REQ_64: > handle_msg_send_direct_req(regs, fid); > @@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) > e = ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2), > get_user_reg(regs, 1)), > get_user_reg(regs, 3)); > - if ( e ) > - ffa_set_regs_error(regs, e); > - else > - ffa_set_regs_success(regs, 0, 0); > - return true; > + break; > > default: > gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid); > ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED); > return true; > } > + > + if ( e ) > + ffa_set_regs_error(regs, e); > + else > + ffa_set_regs_success(regs, 0, 0); > + return true; > } > > static int ffa_domain_init(struct domain *d) > -- > 2.34.1 >
diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c index 8665201e34a9..5209612963e1 100644 --- a/xen/arch/arm/tee/ffa.c +++ b/xen/arch/arm/tee/ffa.c @@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) case FFA_RXTX_MAP_64: e = ffa_handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_reg(regs, 2), get_user_reg(regs, 3)); - if ( e ) - ffa_set_regs_error(regs, e); - else - ffa_set_regs_success(regs, 0, 0); - return true; + break; case FFA_RXTX_UNMAP: e = ffa_handle_rxtx_unmap(); - if ( e ) - ffa_set_regs_error(regs, e); - else - ffa_set_regs_success(regs, 0, 0); - return true; + break; case FFA_PARTITION_INFO_GET: e = ffa_handle_partition_info_get(get_user_reg(regs, 1), get_user_reg(regs, 2), @@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) return true; case FFA_RX_RELEASE: e = ffa_handle_rx_release(); - if ( e ) - ffa_set_regs_error(regs, e); - else - ffa_set_regs_success(regs, 0, 0); - return true; + break; case FFA_MSG_SEND_DIRECT_REQ_32: case FFA_MSG_SEND_DIRECT_REQ_64: handle_msg_send_direct_req(regs, fid); @@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *regs) e = ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2), get_user_reg(regs, 1)), get_user_reg(regs, 3)); - if ( e ) - ffa_set_regs_error(regs, e); - else - ffa_set_regs_success(regs, 0, 0); - return true; + break; default: gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid); ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED); return true; } + + if ( e ) + ffa_set_regs_error(regs, e); + else + ffa_set_regs_success(regs, 0, 0); + return true; } static int ffa_domain_init(struct domain *d)
Refactors the large switch block in ffa_handle_call() to use common code for the simple case where it's either an error code or success with no further parameters. Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> --- xen/arch/arm/tee/ffa.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-)