* [PATCH] mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq
@ 2021-12-09 9:21 Sudeep Holla
2021-12-22 13:40 ` Sudeep Holla
0 siblings, 1 reply; 2+ messages in thread
From: Sudeep Holla @ 2021-12-09 9:21 UTC (permalink / raw)
To: linux-kernel; +Cc: Sudeep Holla, linux-acpi, Jassi Brar, Justin He
Commit c45ded7e1135 ("mailbox: pcc: Add support for PCCT extended PCC
subspaces(type 3/4)") enabled the type3/4 of PCCT, but the change in
pcc_mbox_irq breaks the other PCC subtypes.
The kernel reports a warning on an Ampere eMag server
-->8
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.16.0-rc4 #127
Hardware name: MiTAC RAPTOR EV-883832-X3-0001/RAPTOR, BIOS 0.14 02/22/2019
Call trace:
dump_backtrace+0x0/0x200
show_stack+0x20/0x30
dump_stack_lvl+0x68/0x84
dump_stack+0x18/0x34
__report_bad_irq+0x54/0x17c
note_interrupt+0x330/0x428
handle_irq_event_percpu+0x90/0x98
handle_irq_event+0x4c/0x148
handle_fasteoi_irq+0xc4/0x188
generic_handle_domain_irq+0x44/0x68
gic_handle_irq+0x84/0x2ec
call_on_irq_stack+0x28/0x34
do_interrupt_handler+0x88/0x90
el1_interrupt+0x48/0xb0
el1h_64_irq_handler+0x18/0x28
el1h_64_irq+0x7c/0x80
---
The main reason for that is the command complete register is read as 0
if the GAS register doesn't exist for the same which is the case for
PCC subtypes 0-2. Fix it by checking for non-zero value before masking
with the status flag and checking for command completion.
Fixes: c45ded7e1135 ("mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4)")
Cc: Jassi Brar <jassisinghbrar@gmail.com>
Reported-by: Justin He <justin.he@arm.com>
Tested-by: Justin He <justin.he@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
---
drivers/mailbox/pcc.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
index e0a1ab3861f0..ed18936b8ce6 100644
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -241,9 +241,11 @@ static irqreturn_t pcc_mbox_irq(int irq, void *p)
if (ret)
return IRQ_NONE;
- val &= pchan->cmd_complete.status_mask;
- if (!val)
- return IRQ_NONE;
+ if (val) { /* Ensure GAS exists and value is non-zero */
+ val &= pchan->cmd_complete.status_mask;
+ if (!val)
+ return IRQ_NONE;
+ }
ret = pcc_chan_reg_read(&pchan->error, &val);
if (ret)
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq
2021-12-09 9:21 [PATCH] mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq Sudeep Holla
@ 2021-12-22 13:40 ` Sudeep Holla
0 siblings, 0 replies; 2+ messages in thread
From: Sudeep Holla @ 2021-12-22 13:40 UTC (permalink / raw)
To: linux-kernel, Jassi Brar; +Cc: linux-acpi, Justin He, Sudeep Holla
Hi Jassi,
On Thu, Dec 09, 2021 at 09:21:46AM +0000, Sudeep Holla wrote:
> Commit c45ded7e1135 ("mailbox: pcc: Add support for PCCT extended PCC
> subspaces(type 3/4)") enabled the type3/4 of PCCT, but the change in
> pcc_mbox_irq breaks the other PCC subtypes.
>
> The kernel reports a warning on an Ampere eMag server
>
> -->8
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.16.0-rc4 #127
> Hardware name: MiTAC RAPTOR EV-883832-X3-0001/RAPTOR, BIOS 0.14 02/22/2019
> Call trace:
> dump_backtrace+0x0/0x200
> show_stack+0x20/0x30
> dump_stack_lvl+0x68/0x84
> dump_stack+0x18/0x34
> __report_bad_irq+0x54/0x17c
> note_interrupt+0x330/0x428
> handle_irq_event_percpu+0x90/0x98
> handle_irq_event+0x4c/0x148
> handle_fasteoi_irq+0xc4/0x188
> generic_handle_domain_irq+0x44/0x68
> gic_handle_irq+0x84/0x2ec
> call_on_irq_stack+0x28/0x34
> do_interrupt_handler+0x88/0x90
> el1_interrupt+0x48/0xb0
> el1h_64_irq_handler+0x18/0x28
> el1h_64_irq+0x7c/0x80
> ---
>
> The main reason for that is the command complete register is read as 0
> if the GAS register doesn't exist for the same which is the case for
> PCC subtypes 0-2. Fix it by checking for non-zero value before masking
> with the status flag and checking for command completion.
>
> Fixes: c45ded7e1135 ("mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4)")
Can you take this patch and [1] for v5.17 ? This one is a bug fix and good
to get it merged ASAP.
--
Regards,
Sudeep
[1] https://lore.kernel.org/r/20211209082143.619354-1-sudeep.holla@arm.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-22 13:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 9:21 [PATCH] mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq Sudeep Holla
2021-12-22 13:40 ` Sudeep Holla
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).