soc: fsl: qbman: Check if CPU is offline when initializing portals
If the CPU to affine the portal interrupt is offline at boot time affine the portal interrupt to another online CPU. If the CPU is later brought online the hotplug handler will correctly adjust the affinity. Moved common code in a function. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
@@ -1210,11 +1210,9 @@ static int qman_create_portal(struct qman_portal *portal,
|
||||
dev_err(c->dev, "request_irq() failed\n");
|
||||
goto fail_irq;
|
||||
}
|
||||
if (c->cpu != -1 && irq_can_set_affinity(c->irq) &&
|
||||
irq_set_affinity(c->irq, cpumask_of(c->cpu))) {
|
||||
dev_err(c->dev, "irq_set_affinity() failed\n");
|
||||
|
||||
if (dpaa_set_portal_irq_affinity(c->dev, c->irq, c->cpu))
|
||||
goto fail_affinity;
|
||||
}
|
||||
|
||||
/* Need EQCR to be empty before continuing */
|
||||
isdr &= ~QM_PIRQ_EQCI;
|
||||
|
Reference in New Issue
Block a user