Reviewed-by: Glenn Miles <mil...@linux.ibm.com>
On Mon, 2025-05-12 at 13:10 +1000, Nicholas Piggin wrote:
> xive_tctx_pipr_update() is used for multiple things. In an effort
> to make things simpler and less overloaded, split out the function
> that is used to present a new interrupt to the tctx.
>
> Signed-off-by: Nicholas Piggin <npig...@gmail.com>
> ---
> hw/intc/xive.c | 8 +++++++-
> hw/intc/xive2.c | 2 +-
> include/hw/ppc/xive.h | 2 ++
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/hw/intc/xive.c b/hw/intc/xive.c
> index 27b5a21371..bf4c0634ca 100644
> --- a/hw/intc/xive.c
> +++ b/hw/intc/xive.c
> @@ -225,6 +225,12 @@ void xive_tctx_pipr_update(XiveTCTX *tctx, uint8_t ring,
> uint8_t priority,
> xive_tctx_notify(tctx, ring, group_level);
> }
>
> +void xive_tctx_pipr_present(XiveTCTX *tctx, uint8_t ring, uint8_t priority,
> + uint8_t group_level)
> +{
> + xive_tctx_pipr_update(tctx, ring, priority, group_level);
> +}
> +
> /*
> * XIVE Thread Interrupt Management Area (TIMA)
> */
> @@ -2040,7 +2046,7 @@ void xive_router_end_notify(XiveRouter *xrtr, XiveEAS
> *eas)
> xive_get_field32(END_W7_F1_LOG_SERVER_ID,
> end.w7),
> &match)) {
> trace_xive_presenter_notify(nvt_blk, nvt_idx, match.ring, 0);
> - xive_tctx_pipr_update(match.tctx, match.ring, priority, 0);
> + xive_tctx_pipr_present(match.tctx, match.ring, priority, 0);
> return;
> }
>
> diff --git a/hw/intc/xive2.c b/hw/intc/xive2.c
> index cae4092198..f91109b84a 100644
> --- a/hw/intc/xive2.c
> +++ b/hw/intc/xive2.c
> @@ -1652,7 +1652,7 @@ static void xive2_router_end_notify(Xive2Router *xrtr,
> uint8_t end_blk,
>
> group_level = xive_get_group_level(crowd, cam_ignore, nvx_blk,
> nvx_idx);
> trace_xive_presenter_notify(nvx_blk, nvx_idx, ring, group_level);
> - xive_tctx_pipr_update(tctx, ring, priority, group_level);
> + xive_tctx_pipr_present(tctx, ring, priority, group_level);
> return;
> }
>
> diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h
> index 8152a9df3d..0d6b11e818 100644
> --- a/include/hw/ppc/xive.h
> +++ b/include/hw/ppc/xive.h
> @@ -562,6 +562,8 @@ void xive_tctx_reset(XiveTCTX *tctx);
> void xive_tctx_destroy(XiveTCTX *tctx);
> void xive_tctx_pipr_update(XiveTCTX *tctx, uint8_t ring, uint8_t priority,
> uint8_t group_level);
> +void xive_tctx_pipr_present(XiveTCTX *tctx, uint8_t ring, uint8_t priority,
> + uint8_t group_level);
> void xive_tctx_reset_signal(XiveTCTX *tctx, uint8_t ring);
> void xive_tctx_notify(XiveTCTX *tctx, uint8_t ring, uint8_t group_level);
> uint64_t xive_tctx_accept(XiveTCTX *tctx, uint8_t ring);