Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Regression in split ARM MMIO timer driver
@ 2026-05-08 19:48 Jack Matthews
  2026-05-09  8:45 ` Marc Zyngier
  2026-05-09 12:19 ` Sudeep Holla
  0 siblings, 2 replies; 5+ messages in thread
From: Jack Matthews @ 2026-05-08 19:48 UTC (permalink / raw)
  To: Marc Zyngier, Mark Rutland
  Cc: linux-arm-kernel, regressions, linux-kernel, linux-arm-msm

Hello,

I am working on mainlining an old chip, Qualcomm's MDM9625 modem. 
I had previously booted 6.17-rc3 before putting this project to the side, but when I restarted work on 7.0 I was unable to boot. 
I have bisected this to commit 0f67b56d84b4c49adfd61f19f81f84ec613ab51a (https://lore.kernel.org/all/20250814154622.10193-4-maz@kernel.org/) and reverting this commit makes the device boot successfully. Unfortunately I do not have access to low level debugging such as UART so I have not been able to pinpoint exactly what is missing.
My changes for this chip are all available here in case it is an issue of my own doing: https://github.com/jackmthws/linux/commits/mdm9625-latest/
I apologize if I this isn't the proper way to submit a regression report, this is my first time doing so.

Thanks, Jack

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Regression in split ARM MMIO timer driver
  2026-05-08 19:48 Regression in split ARM MMIO timer driver Jack Matthews
@ 2026-05-09  8:45 ` Marc Zyngier
  2026-05-09 12:19 ` Sudeep Holla
  1 sibling, 0 replies; 5+ messages in thread
From: Marc Zyngier @ 2026-05-09  8:45 UTC (permalink / raw)
  To: Jack Matthews
  Cc: Mark Rutland, linux-arm-kernel, regressions, linux-kernel,
	linux-arm-msm

On Fri, 08 May 2026 20:48:14 +0100,
Jack Matthews <jack@jackmatthe.ws> wrote:
> 
> Hello,
> 
> I am working on mainlining an old chip, Qualcomm's MDM9625 modem.
> I had previously booted 6.17-rc3 before putting this project to the
> side, but when I restarted work on 7.0 I was unable to boot.

> I have bisected this to commit
> 0f67b56d84b4c49adfd61f19f81f84ec613ab51a
> (https://lore.kernel.org/all/20250814154622.10193-4-maz@kernel.org/)
> and reverting this commit makes the device boot
> successfully. Unfortunately I do not have access to low level
> debugging such as UART so I have not been able to pinpoint exactly
> what is missing.

> My changes for this chip are all available here in case it is an
> issue of my own doing:
> https://github.com/jackmthws/linux/commits/mdm9625-latest/ I
> apologize if I this isn't the proper way to submit a regression
> report, this is my first time doing so.

Given that this is not a machine that is supported upstream, this
really isn't a regression. Unless of course you can reproduce it on
something that is currently supported, and in which case it would
absolutely be a regression.

I'm afraid that without a boot log, it is going to be difficult to
pinpoint what is going wrong here. This is most likely a latent bug
either in the MMIO timer driver, or something unexpected in the way
the platform is described.

Could you start by posting a kernel boot log of 7.0 with this commit
reverted? I'm also interested in finding out what happens if you don't
revert that commit, but instead comment out the entry in the Makefile
for the MMIO driver.

Thanks,

	M.

-- 
Jazz isn't dead. It just smells funny.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Regression in split ARM MMIO timer driver
  2026-05-08 19:48 Regression in split ARM MMIO timer driver Jack Matthews
  2026-05-09  8:45 ` Marc Zyngier
@ 2026-05-09 12:19 ` Sudeep Holla
  2026-05-09 17:58   ` Marc Zyngier
  1 sibling, 1 reply; 5+ messages in thread
From: Sudeep Holla @ 2026-05-09 12:19 UTC (permalink / raw)
  To: Jack Matthews
  Cc: Marc Zyngier, Mark Rutland, Sudeep Holla, linux-arm-kernel,
	regressions, linux-kernel, linux-arm-msm

On Fri, May 08, 2026 at 03:48:14PM -0400, Jack Matthews wrote:
> Hello,
>
> I am working on mainlining an old chip, Qualcomm's MDM9625 modem.
> I had previously booted 6.17-rc3 before putting this project to the side,
> but when I restarted work on 7.0 I was unable to boot. 
> I have bisected this to commit 0f67b56d84b4c49adfd61f19f81f84ec613ab51a
> (https://lore.kernel.org/all/20250814154622.10193-4-maz@kernel.org/) and
> reverting this commit makes the device boot successfully. Unfortunately I do
> not have access to low level debugging such as UART so I have not been able
> to pinpoint exactly what is missing.
> My changes for this chip are all available here in case it is an issue of my
> own doing: https://github.com/jackmthws/linux/commits/mdm9625-latest/.

Looking briefly into the DTS file, I couldn't find the sysreg based arch
timer node in the DT. It could be just an overlook unless there is some
issue with it that it's not added. After the above mentioned commit, the
MMIO timer gets initialised bit late in the boot and could be the reason
for boot failure. Unless you have intentionally not added it, I would
suggest to add it and try.

-- 
Regards,
Sudeep


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Regression in split ARM MMIO timer driver
  2026-05-09 12:19 ` Sudeep Holla
@ 2026-05-09 17:58   ` Marc Zyngier
  2026-05-10 19:23     ` Sudeep Holla
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Zyngier @ 2026-05-09 17:58 UTC (permalink / raw)
  To: Sudeep Holla, Jack Matthews
  Cc: Mark Rutland, linux-arm-kernel, regressions, linux-kernel,
	linux-arm-msm

On Sat, 09 May 2026 13:19:56 +0100,
Sudeep Holla <sudeep.holla@kernel.org> wrote:
> 
> On Fri, May 08, 2026 at 03:48:14PM -0400, Jack Matthews wrote:
> > Hello,
> >
> > I am working on mainlining an old chip, Qualcomm's MDM9625 modem.
> > I had previously booted 6.17-rc3 before putting this project to the side,
> > but when I restarted work on 7.0 I was unable to boot. 
> > I have bisected this to commit 0f67b56d84b4c49adfd61f19f81f84ec613ab51a
> > (https://lore.kernel.org/all/20250814154622.10193-4-maz@kernel.org/) and
> > reverting this commit makes the device boot successfully. Unfortunately I do
> > not have access to low level debugging such as UART so I have not been able
> > to pinpoint exactly what is missing.
> > My changes for this chip are all available here in case it is an issue of my
> > own doing: https://github.com/jackmthws/linux/commits/mdm9625-latest/.
> 
> Looking briefly into the DTS file, I couldn't find the sysreg based
> arch timer node in the DT. It could be just an overlook unless there
> is some issue with it that it's not added. After the above mentioned
> commit, the MMIO timer gets initialised bit late in the boot and
> could be the reason for boot failure. Unless you have intentionally
> not added it, I would suggest to add it and try.

Ah, that's a good point. Not having per-CPU timers is not going to
fly, I'm afraid. The MMIO timer will kick in very late, and we
probably need to schedule threads way before that.

This looks to be a single Cortex-A5 however, not an A5MP, meaning it
does not have the TWD, and relies on a global timer, which is a
terrible thing to have. Not to mention that MMIO accesses on the
counter is going to be even worse.

Anyway, if that's indeed the case, we'll have to get creative to
support this sort of horror (not going to butcher the driver to make
this work).

	M.

-- 
Jazz isn't dead. It just smells funny.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Regression in split ARM MMIO timer driver
  2026-05-09 17:58   ` Marc Zyngier
@ 2026-05-10 19:23     ` Sudeep Holla
  0 siblings, 0 replies; 5+ messages in thread
From: Sudeep Holla @ 2026-05-10 19:23 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Jack Matthews, Mark Rutland, Sudeep Holla, linux-arm-kernel,
	regressions, linux-kernel, linux-arm-msm

On Sat, May 09, 2026 at 06:58:00PM +0100, Marc Zyngier wrote:
> On Sat, 09 May 2026 13:19:56 +0100,
> Sudeep Holla <sudeep.holla@kernel.org> wrote:
> > 
> > On Fri, May 08, 2026 at 03:48:14PM -0400, Jack Matthews wrote:
> > > Hello,
> > >
> > > I am working on mainlining an old chip, Qualcomm's MDM9625 modem.
> > > I had previously booted 6.17-rc3 before putting this project to the side,
> > > but when I restarted work on 7.0 I was unable to boot. 
> > > I have bisected this to commit 0f67b56d84b4c49adfd61f19f81f84ec613ab51a
> > > (https://lore.kernel.org/all/20250814154622.10193-4-maz@kernel.org/) and
> > > reverting this commit makes the device boot successfully. Unfortunately I do
> > > not have access to low level debugging such as UART so I have not been able
> > > to pinpoint exactly what is missing.
> > > My changes for this chip are all available here in case it is an issue of my
> > > own doing: https://github.com/jackmthws/linux/commits/mdm9625-latest/.
> > 
> > Looking briefly into the DTS file, I couldn't find the sysreg based
> > arch timer node in the DT. It could be just an overlook unless there
> > is some issue with it that it's not added. After the above mentioned
> > commit, the MMIO timer gets initialised bit late in the boot and
> > could be the reason for boot failure. Unless you have intentionally
> > not added it, I would suggest to add it and try.
> 
> Ah, that's a good point. Not having per-CPU timers is not going to
> fly, I'm afraid. The MMIO timer will kick in very late, and we
> probably need to schedule threads way before that.
> 
> This looks to be a single Cortex-A5 however, not an A5MP, meaning it
> does not have the TWD, and relies on a global timer, which is a
> terrible thing to have. Not to mention that MMIO accesses on the
> counter is going to be even worse.
> 

Ah, my bad I misread it as Cortex-A15 and not Cortex-A5, so assumed
missing sysreg based per-cpu arch timers.

-- 
Regards,
Sudeep


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-05-10 19:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-08 19:48 Regression in split ARM MMIO timer driver Jack Matthews
2026-05-09  8:45 ` Marc Zyngier
2026-05-09 12:19 ` Sudeep Holla
2026-05-09 17:58   ` Marc Zyngier
2026-05-10 19:23     ` Sudeep Holla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox