On 11/24/2017 04:16 AM, David Gibson wrote: > On Thu, Nov 23, 2017 at 02:29:35PM +0100, Cédric Le Goater wrote: >> It will make synchronisation easier with the XIVE interrupt mode when >> available. The 'irq' parameter refers to the global IRQ number space. >> >> Signed-off-by: Cédric Le Goater <c...@kaod.org> > > s/spapr_irq_set/spapr_irq_set_lsi/ > > otherwise the name doesn't tell you what it sets.
That is when it gets confusing. This routine does two things : - it allocates the IRQ number - it sets the type of the allocated IRQ number, LSI or MSI. because both information are held under the same flag : ics->irqs[srcno].flags But the main purpose of this routine is to do the allocation, so that is why I changed the name. Now that you have the explanations and that you rather still have the prefix '_lsi', please tell me. In any case, I will add a comment on what the routine is doing. Thanks, C. > With that change, > > Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > >> --- >> hw/ppc/spapr.c | 11 ++++++++--- >> 1 file changed, 8 insertions(+), 3 deletions(-) >> >> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c >> index 7ae84d40bdb4..79f38a9ff4e1 100644 >> --- a/hw/ppc/spapr.c >> +++ b/hw/ppc/spapr.c >> @@ -3594,6 +3594,11 @@ static int ics_find_free_block(ICSState *ics, int >> num, int alignnum) >> return -1; >> } >> >> +static void spapr_irq_set(sPAPRMachineState *spapr, int irq, bool lsi) >> +{ >> + ics_set_irq_type(spapr->ics, irq - spapr->ics->offset, lsi); >> +} >> + >> int spapr_irq_alloc(sPAPRMachineState *spapr, int irq_hint, bool lsi, >> Error **errp) >> { >> @@ -3618,7 +3623,7 @@ int spapr_irq_alloc(sPAPRMachineState *spapr, int >> irq_hint, bool lsi, >> irq += ics->offset; >> } >> >> - ics_set_irq_type(ics, irq - ics->offset, lsi); >> + spapr_irq_set(spapr, irq, lsi); >> trace_spapr_irq_alloc(irq); >> >> return irq; >> @@ -3657,10 +3662,10 @@ int spapr_irq_alloc_block(sPAPRMachineState *spapr, >> int num, bool lsi, >> return -1; >> } >> >> + first += ics->offset; >> for (i = first; i < first + num; ++i) { >> - ics_set_irq_type(ics, i, lsi); >> + spapr_irq_set(spapr, i, lsi); >> } >> - first += ics->offset; >> >> trace_spapr_irq_alloc_block(first, num, lsi, align); >> >