mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 03:16:41 +07:00
powerpc/powernv: Fix little endian issues with opal_do_notifier calls
The bitmap in opal_poll_events and opal_handle_interrupt is big endian, so we need to byteswap it on little endian builds. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
e2c8b93e65
commit
56b4c99312
@ -242,14 +242,14 @@ void opal_notifier_update_evt(uint64_t evt_mask,
|
||||
void opal_notifier_enable(void)
|
||||
{
|
||||
int64_t rc;
|
||||
uint64_t evt = 0;
|
||||
__be64 evt = 0;
|
||||
|
||||
atomic_set(&opal_notifier_hold, 0);
|
||||
|
||||
/* Process pending events */
|
||||
rc = opal_poll_events(&evt);
|
||||
if (rc == OPAL_SUCCESS && evt)
|
||||
opal_do_notifier(evt);
|
||||
opal_do_notifier(be64_to_cpu(evt));
|
||||
}
|
||||
|
||||
void opal_notifier_disable(void)
|
||||
@ -529,7 +529,7 @@ static irqreturn_t opal_interrupt(int irq, void *data)
|
||||
|
||||
opal_handle_interrupt(virq_to_hw(irq), &events);
|
||||
|
||||
opal_do_notifier(events);
|
||||
opal_do_notifier(be64_to_cpu(events));
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user