2022-11-27 20:43:38

by Ricardo Ribalda

[permalink] [raw]
Subject: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

If the system does not come from reset (like when is booted via
kexec()), the peripheral might triger an IRQ before the data structures
are initialised.

Fixes:

[ 0.227710] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000f08
[ 0.227913] Call trace:
[ 0.227918] svs_isr+0x8c/0x538

Signed-off-by: Ricardo Ribalda <[email protected]>
---
To: Matthias Brugger <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
drivers/soc/mediatek/mtk-svs.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c
index 0469c9dfeb04..0451603a8cb0 100644
--- a/drivers/soc/mediatek/mtk-svs.c
+++ b/drivers/soc/mediatek/mtk-svs.c
@@ -2385,14 +2385,6 @@ static int svs_probe(struct platform_device *pdev)
goto svs_probe_free_resource;
}

- ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr,
- IRQF_ONESHOT, svsp->name, svsp);
- if (ret) {
- dev_err(svsp->dev, "register irq(%d) failed: %d\n",
- svsp_irq, ret);
- goto svs_probe_free_resource;
- }
-
svsp->main_clk = devm_clk_get(svsp->dev, "main");
if (IS_ERR(svsp->main_clk)) {
dev_err(svsp->dev, "failed to get clock: %ld\n",
@@ -2426,6 +2418,14 @@ static int svs_probe(struct platform_device *pdev)
goto svs_probe_iounmap;
}

+ ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr,
+ IRQF_ONESHOT, svsp->name, svsp);
+ if (ret) {
+ dev_err(svsp->dev, "register irq(%d) failed: %d\n",
+ svsp_irq, ret);
+ goto svs_probe_iounmap;
+ }
+
return 0;

svs_probe_iounmap:

---
base-commit: 4312098baf37ee17a8350725e6e0d0e8590252d4
change-id: 20221127-mtk-svs-add137fbf187

Best regards,
--
Ricardo Ribalda <[email protected]>


Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
> If the system does not come from reset (like when is booted via
> kexec()), the peripheral might triger an IRQ before the data structures
> are initialised.
>
> Fixes:
>
> [ 0.227710] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000f08
> [ 0.227913] Call trace:
> [ 0.227918] svs_isr+0x8c/0x538
>
> Signed-off-by: Ricardo Ribalda <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>


2022-12-16 13:06:13

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later



On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
> Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
>> If the system does not come from reset (like when is booted via
>> kexec()), the peripheral might triger an IRQ before the data structures
>> are initialised.
>>
>> Fixes:
>>
>> [    0.227710] Unable to handle kernel NULL pointer dereference at virtual
>> address 0000000000000f08
>> [    0.227913] Call trace:
>> [    0.227918]  svs_isr+0x8c/0x538
>>
>> Signed-off-by: Ricardo Ribalda <[email protected]>
>
> Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
>
>

Applied thanks!

2022-12-20 11:55:27

by Roger Lu

[permalink] [raw]
Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

Hi Matthias Sir,

After applying this patch, SVS probes fail as below on my MT8192 platform. If
thing isn't too late, please do not merge this patch. I'll ask Ricardo how to
reproduce this issue and give the correct solution. Thanks in advance.

#MT8192 platform SVS probe fail log
[ 10.209430] SVSB_GPU_LOW: init02 completion timeout
[ 10.214402] mtk-svs 1100b000.svs: svs start fail: -16
[ 10.219479] mtk-svs: probe of 1100b000.svs failed with error -16

Hi Ricardo,

Could you share us how you reproduce this issue? I have MT8192 Chromebook and
can give it a try to reproduce the issue you encountered. Thanks a lot.

Sincerely,
Roger Lu.

On Fri, 2022-12-16 at 13:47 +0100, Matthias Brugger wrote:
>
> On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
> > Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
> > > If the system does not come from reset (like when is booted via
> > > kexec()), the peripheral might triger an IRQ before the data structures
> > > are initialised.
> > >
> > > Fixes:
> > >
> > > [ 0.227710] Unable to handle kernel NULL pointer dereference at
> > > virtual
> > > address 0000000000000f08
> > > [ 0.227913] Call trace:
> > > [ 0.227918] svs_isr+0x8c/0x538
> > >
> > > Signed-off-by: Ricardo Ribalda <[email protected]>
> >
> > Reviewed-by: AngeloGioacchino Del Regno <
> > [email protected]>
> >
> >
>
> Applied thanks!
>

Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

Il 20/12/22 12:03, Roger Lu (陸瑞傑) ha scritto:
> Hi Matthias Sir,
>
> After applying this patch, SVS probes fail as below on my MT8192 platform. If
> thing isn't too late, please do not merge this patch. I'll ask Ricardo how to
> reproduce this issue and give the correct solution. Thanks in advance.
>
> #MT8192 platform SVS probe fail log
> [ 10.209430] SVSB_GPU_LOW: init02 completion timeout
> [ 10.214402] mtk-svs 1100b000.svs: svs start fail: -16
> [ 10.219479] mtk-svs: probe of 1100b000.svs failed with error -16
>
> Hi Ricardo,
>
> Could you share us how you reproduce this issue? I have MT8192 Chromebook and
> can give it a try to reproduce the issue you encountered. Thanks a lot.
>

Boot a kernel with Kexec to reproduce.

Regards,
Angelo

> Sincerely,
> Roger Lu.
>
> On Fri, 2022-12-16 at 13:47 +0100, Matthias Brugger wrote:
>>
>> On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
>>> Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
>>>> If the system does not come from reset (like when is booted via
>>>> kexec()), the peripheral might triger an IRQ before the data structures
>>>> are initialised.
>>>>
>>>> Fixes:
>>>>
>>>> [ 0.227710] Unable to handle kernel NULL pointer dereference at
>>>> virtual
>>>> address 0000000000000f08
>>>> [ 0.227913] Call trace:
>>>> [ 0.227918] svs_isr+0x8c/0x538
>>>>
>>>> Signed-off-by: Ricardo Ribalda <[email protected]>
>>>
>>> Reviewed-by: AngeloGioacchino Del Regno <
>>> [email protected]>
>>>
>>>
>>
>> Applied thanks!
>>


2022-12-20 14:55:16

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later



On 20/12/2022 12:03, Roger Lu (陸瑞傑) wrote:
> Hi Matthias Sir,
>
> After applying this patch, SVS probes fail as below on my MT8192 platform. If
> thing isn't too late, please do not merge this patch. I'll ask Ricardo how to
> reproduce this issue and give the correct solution. Thanks in advance.
>

Ok, I just dropped the patch from v6.2-tmp/soc branch.

Regards,
Matthias

> #MT8192 platform SVS probe fail log
> [ 10.209430] SVSB_GPU_LOW: init02 completion timeout
> [ 10.214402] mtk-svs 1100b000.svs: svs start fail: -16
> [ 10.219479] mtk-svs: probe of 1100b000.svs failed with error -16
>
> Hi Ricardo,
>
> Could you share us how you reproduce this issue? I have MT8192 Chromebook and
> can give it a try to reproduce the issue you encountered. Thanks a lot.
>
> Sincerely,
> Roger Lu.
>
> On Fri, 2022-12-16 at 13:47 +0100, Matthias Brugger wrote:
>>
>> On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
>> > Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
>> > > If the system does not come from reset (like when is booted via
>> > > kexec()), the peripheral might triger an IRQ before the data structures
>> > > are initialised.
>> > >
>> > > Fixes:
>> > >
>> > > [ 0.227710] Unable to handle kernel NULL pointer dereference at
>> > > virtual
>> > > address 0000000000000f08
>> > > [ 0.227913] Call trace:
>> > > [ 0.227918] svs_isr+0x8c/0x538
>> > >
>> > > Signed-off-by: Ricardo Ribalda <[email protected]>
>> >
>> > Reviewed-by: AngeloGioacchino Del Regno <
>> > [email protected]>
>> >
>> >
>>
>> Applied thanks!
>>
>
> ************* MEDIATEK Confidentiality Notice ********************
> The information contained in this e-mail message (including any
> attachments) may be confidential, proprietary, privileged, or otherwise
> exempt from disclosure under applicable laws. It is intended to be
> conveyed only to the designated recipient(s). Any use, dissemination,
> distribution, printing, retaining or copying of this e-mail (including its
> attachments) by unintended recipient(s) is strictly prohibited and may
> be unlawful. If you are not an intended recipient of this e-mail, or believe
> that you have received this e-mail in error, please notify the sender
> immediately (by replying to this e-mail), delete any and all copies of
> this e-mail (including any attachments) from your system, and do not
> disclose the content of this e-mail to any other person. Thank you!

2022-12-20 21:15:26

by Ricardo Ribalda

[permalink] [raw]
Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

Hi Roger

Thanks for the heads up.

This is the tree that I am using to test this:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3918592/7
( https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3daf57d76c9e3d7c73d038ff2e43984412b503a2
)

You can use this tool for kexec:
https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3953579

The syntax is kexec-lite --reboot --kernel /boot/Image --cmdline
"$(cat /proc/cmdline)"

On Tue, 20 Dec 2022 at 15:50, Matthias Brugger <[email protected]> wrote:
>
>
>
> On 20/12/2022 12:03, Roger Lu (陸瑞傑) wrote:
> > Hi Matthias Sir,
> >
> > After applying this patch, SVS probes fail as below on my MT8192 platform. If
> > thing isn't too late, please do not merge this patch. I'll ask Ricardo how to
> > reproduce this issue and give the correct solution. Thanks in advance.
> >
>
> Ok, I just dropped the patch from v6.2-tmp/soc branch.
>
> Regards,
> Matthias
>
> > #MT8192 platform SVS probe fail log
> > [ 10.209430] SVSB_GPU_LOW: init02 completion timeout
> > [ 10.214402] mtk-svs 1100b000.svs: svs start fail: -16
> > [ 10.219479] mtk-svs: probe of 1100b000.svs failed with error -16
> >
> > Hi Ricardo,
> >
> > Could you share us how you reproduce this issue? I have MT8192 Chromebook and
> > can give it a try to reproduce the issue you encountered. Thanks a lot.
> >
> > Sincerely,
> > Roger Lu.
> >
> > On Fri, 2022-12-16 at 13:47 +0100, Matthias Brugger wrote:
> >>
> >> On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
> >> > Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
> >> > > If the system does not come from reset (like when is booted via
> >> > > kexec()), the peripheral might triger an IRQ before the data structures
> >> > > are initialised.
> >> > >
> >> > > Fixes:
> >> > >
> >> > > [ 0.227710] Unable to handle kernel NULL pointer dereference at
> >> > > virtual
> >> > > address 0000000000000f08
> >> > > [ 0.227913] Call trace:
> >> > > [ 0.227918] svs_isr+0x8c/0x538
> >> > >
> >> > > Signed-off-by: Ricardo Ribalda <[email protected]>
> >> >
> >> > Reviewed-by: AngeloGioacchino Del Regno <
> >> > [email protected]>
> >> >
> >> >
> >>
> >> Applied thanks!
> >>
> >
> > ************* MEDIATEK Confidentiality Notice ********************
> > The information contained in this e-mail message (including any
> > attachments) may be confidential, proprietary, privileged, or otherwise
> > exempt from disclosure under applicable laws. It is intended to be
> > conveyed only to the designated recipient(s). Any use, dissemination,
> > distribution, printing, retaining or copying of this e-mail (including its
> > attachments) by unintended recipient(s) is strictly prohibited and may
> > be unlawful. If you are not an intended recipient of this e-mail, or believe
> > that you have received this e-mail in error, please notify the sender
> > immediately (by replying to this e-mail), delete any and all copies of
> > this e-mail (including any attachments) from your system, and do not
> > disclose the content of this e-mail to any other person. Thank you!



--
Ricardo Ribalda

2022-12-20 21:51:32

by Ricardo Ribalda

[permalink] [raw]
Subject: Re: [PATCH] soc: mediatek: mtk-svs: Enable the IRQ later

Hi again Roger

I think I managed to reproduce your issue on an "asurada" Chromebook.

Sending a v2 of the patch.

Thanks again for the heads-up and sorry for the mess ;)

Thanks!

On Tue, 20 Dec 2022 at 21:44, Ricardo Ribalda <[email protected]> wrote:
>
> Hi Roger
>
> Thanks for the heads up.
>
> This is the tree that I am using to test this:
> https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3918592/7
> ( https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3daf57d76c9e3d7c73d038ff2e43984412b503a2
> )
>
> You can use this tool for kexec:
> https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3953579
>
> The syntax is kexec-lite --reboot --kernel /boot/Image --cmdline
> "$(cat /proc/cmdline)"
>
> On Tue, 20 Dec 2022 at 15:50, Matthias Brugger <[email protected]> wrote:
> >
> >
> >
> > On 20/12/2022 12:03, Roger Lu (陸瑞傑) wrote:
> > > Hi Matthias Sir,
> > >
> > > After applying this patch, SVS probes fail as below on my MT8192 platform. If
> > > thing isn't too late, please do not merge this patch. I'll ask Ricardo how to
> > > reproduce this issue and give the correct solution. Thanks in advance.
> > >
> >
> > Ok, I just dropped the patch from v6.2-tmp/soc branch.
> >
> > Regards,
> > Matthias
> >
> > > #MT8192 platform SVS probe fail log
> > > [ 10.209430] SVSB_GPU_LOW: init02 completion timeout
> > > [ 10.214402] mtk-svs 1100b000.svs: svs start fail: -16
> > > [ 10.219479] mtk-svs: probe of 1100b000.svs failed with error -16
> > >
> > > Hi Ricardo,
> > >
> > > Could you share us how you reproduce this issue? I have MT8192 Chromebook and
> > > can give it a try to reproduce the issue you encountered. Thanks a lot.
> > >
> > > Sincerely,
> > > Roger Lu.
> > >
> > > On Fri, 2022-12-16 at 13:47 +0100, Matthias Brugger wrote:
> > >>
> > >> On 30/11/2022 12:00, AngeloGioacchino Del Regno wrote:
> > >> > Il 27/11/22 21:22, Ricardo Ribalda ha scritto:
> > >> > > If the system does not come from reset (like when is booted via
> > >> > > kexec()), the peripheral might triger an IRQ before the data structures
> > >> > > are initialised.
> > >> > >
> > >> > > Fixes:
> > >> > >
> > >> > > [ 0.227710] Unable to handle kernel NULL pointer dereference at
> > >> > > virtual
> > >> > > address 0000000000000f08
> > >> > > [ 0.227913] Call trace:
> > >> > > [ 0.227918] svs_isr+0x8c/0x538
> > >> > >
> > >> > > Signed-off-by: Ricardo Ribalda <[email protected]>
> > >> >
> > >> > Reviewed-by: AngeloGioacchino Del Regno <
> > >> > [email protected]>
> > >> >
> > >> >
> > >>
> > >> Applied thanks!
> > >>
> > >
> > > ************* MEDIATEK Confidentiality Notice ********************
> > > The information contained in this e-mail message (including any
> > > attachments) may be confidential, proprietary, privileged, or otherwise
> > > exempt from disclosure under applicable laws. It is intended to be
> > > conveyed only to the designated recipient(s). Any use, dissemination,
> > > distribution, printing, retaining or copying of this e-mail (including its
> > > attachments) by unintended recipient(s) is strictly prohibited and may
> > > be unlawful. If you are not an intended recipient of this e-mail, or believe
> > > that you have received this e-mail in error, please notify the sender
> > > immediately (by replying to this e-mail), delete any and all copies of
> > > this e-mail (including any attachments) from your system, and do not
> > > disclose the content of this e-mail to any other person. Thank you!
>
>
>
> --
> Ricardo Ribalda



--
Ricardo Ribalda