spapr: remove unused spapr_irq routines
spapr_irq_alloc_block and spapr_irq_alloc() are now deprecated. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
4fe75a8ccd
commit
71b5c8d26e
|
@ -3846,84 +3846,6 @@ int spapr_irq_find(sPAPRMachineState *spapr, int num, bool align, Error **errp)
|
||||||
return first + ics->offset;
|
return first + ics->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Allocate the IRQ number and set the IRQ type, LSI or MSI
|
|
||||||
*/
|
|
||||||
static void spapr_irq_set_lsi(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)
|
|
||||||
{
|
|
||||||
ICSState *ics = spapr->ics;
|
|
||||||
int irq;
|
|
||||||
|
|
||||||
assert(ics);
|
|
||||||
|
|
||||||
if (irq_hint) {
|
|
||||||
if (!ICS_IRQ_FREE(ics, irq_hint - ics->offset)) {
|
|
||||||
error_setg(errp, "can't allocate IRQ %d: already in use", irq_hint);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
irq = irq_hint;
|
|
||||||
} else {
|
|
||||||
irq = ics_find_free_block(ics, 1, 1);
|
|
||||||
if (irq < 0) {
|
|
||||||
error_setg(errp, "can't allocate IRQ: no IRQ left");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
irq += ics->offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
spapr_irq_set_lsi(spapr, irq, lsi);
|
|
||||||
trace_spapr_irq_alloc(irq);
|
|
||||||
|
|
||||||
return irq;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allocate block of consecutive IRQs, and return the number of the first IRQ in
|
|
||||||
* the block. If align==true, aligns the first IRQ number to num.
|
|
||||||
*/
|
|
||||||
int spapr_irq_alloc_block(sPAPRMachineState *spapr, int num, bool lsi,
|
|
||||||
bool align, Error **errp)
|
|
||||||
{
|
|
||||||
ICSState *ics = spapr->ics;
|
|
||||||
int i, first = -1;
|
|
||||||
|
|
||||||
assert(ics);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MSIMesage::data is used for storing VIRQ so
|
|
||||||
* it has to be aligned to num to support multiple
|
|
||||||
* MSI vectors. MSI-X is not affected by this.
|
|
||||||
* The hint is used for the first IRQ, the rest should
|
|
||||||
* be allocated continuously.
|
|
||||||
*/
|
|
||||||
if (align) {
|
|
||||||
assert((num == 1) || (num == 2) || (num == 4) ||
|
|
||||||
(num == 8) || (num == 16) || (num == 32));
|
|
||||||
first = ics_find_free_block(ics, num, num);
|
|
||||||
} else {
|
|
||||||
first = ics_find_free_block(ics, num, 1);
|
|
||||||
}
|
|
||||||
if (first < 0) {
|
|
||||||
error_setg(errp, "can't find a free %d-IRQ block", num);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
first += ics->offset;
|
|
||||||
for (i = first; i < first + num; ++i) {
|
|
||||||
spapr_irq_set_lsi(spapr, i, lsi);
|
|
||||||
}
|
|
||||||
|
|
||||||
trace_spapr_irq_alloc_block(first, num, lsi, align);
|
|
||||||
|
|
||||||
return first;
|
|
||||||
}
|
|
||||||
|
|
||||||
int spapr_irq_claim(sPAPRMachineState *spapr, int irq, bool lsi, Error **errp)
|
int spapr_irq_claim(sPAPRMachineState *spapr, int irq, bool lsi, Error **errp)
|
||||||
{
|
{
|
||||||
ICSState *ics = spapr->ics;
|
ICSState *ics = spapr->ics;
|
||||||
|
@ -3940,7 +3862,7 @@ int spapr_irq_claim(sPAPRMachineState *spapr, int irq, bool lsi, Error **errp)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
spapr_irq_set_lsi(spapr, irq, lsi);
|
ics_set_irq_type(ics, irq - ics->offset, lsi);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -772,10 +772,6 @@ int spapr_get_vcpu_id(PowerPCCPU *cpu);
|
||||||
void spapr_set_vcpu_id(PowerPCCPU *cpu, int cpu_index, Error **errp);
|
void spapr_set_vcpu_id(PowerPCCPU *cpu, int cpu_index, Error **errp);
|
||||||
PowerPCCPU *spapr_find_cpu(int vcpu_id);
|
PowerPCCPU *spapr_find_cpu(int vcpu_id);
|
||||||
|
|
||||||
int spapr_irq_alloc(sPAPRMachineState *spapr, int irq_hint, bool lsi,
|
|
||||||
Error **errp);
|
|
||||||
int spapr_irq_alloc_block(sPAPRMachineState *spapr, int num, bool lsi,
|
|
||||||
bool align, Error **errp);
|
|
||||||
int spapr_irq_find(sPAPRMachineState *spapr, int num, bool align,
|
int spapr_irq_find(sPAPRMachineState *spapr, int num, bool align,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
#define spapr_irq_findone(spapr, errp) spapr_irq_find(spapr, 1, false, errp)
|
#define spapr_irq_findone(spapr, errp) spapr_irq_find(spapr, 1, false, errp)
|
||||||
|
|
Loading…
Reference in a new issue