Merge branch 'ibmvnic-regression'
Juliet Kim says:
====================
Support both XIVE and XICS modes in ibmvnic
This series aims to support both XICS and XIVE with avoiding
a regression in behavior when a system runs in XICS mode.
Patch 1 reverts commit 11d49ce9f7
(“net/ibmvnic: Fix EOI when running in XIVE mode.”)
Patch 2 Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
aee024f610
@ -2878,10 +2878,15 @@ static int enable_scrq_irq(struct ibmvnic_adapter *adapter,
|
||||
|
||||
if (test_bit(0, &adapter->resetting) &&
|
||||
adapter->reset_reason == VNIC_RESET_MOBILITY) {
|
||||
struct irq_desc *desc = irq_to_desc(scrq->irq);
|
||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||
u64 val = (0xff000000) | scrq->hw_irq;
|
||||
|
||||
chip->irq_eoi(&desc->irq_data);
|
||||
rc = plpar_hcall_norets(H_EOI, val);
|
||||
/* H_EOI would fail with rc = H_FUNCTION when running
|
||||
* in XIVE mode which is expected, but not an error.
|
||||
*/
|
||||
if (rc && (rc != H_FUNCTION))
|
||||
dev_err(dev, "H_EOI FAILED irq 0x%llx. rc=%ld\n",
|
||||
val, rc);
|
||||
}
|
||||
|
||||
rc = plpar_hcall_norets(H_VIOCTL, adapter->vdev->unit_address,
|
||||
|
Loading…
Reference in New Issue
Block a user