On Fri, Apr 10, 2026 at 09:59:44PM -0500, Bjorn Andersson wrote: > On Thu, Apr 09, 2026 at 01:52:27AM -0700, Jingyi Wang wrote: > > Subsystems can be brought out of reset by entities such as bootloaders. > > As the irq enablement could be later than subsystem bring up, the state > > of subsystem should be checked by reading SMP2P bits and performing ping > > test. > > > > I still don't understand. > > Are you saying that devm_request_threaded_irq() will succeed and then > calling irq_get_irqchip_state() will not work? Or are you saying that > SMP2P driver isn't reliable and we're loosing the ready or fatal bits?
Hi Bjorn, After an offline discussion with Jingyi, I understand that we are trying to provide a stronger check (ping-pong) than SMP2P ready bit to make sure the subsystem is alive. SMP2P ready bit is a pending state which is not necessarily reflecting the current subsystem state. There was ever some corner case seen on production environment (with downstream kernel), where ready bit is seen but the subsystem is in an abnormal state, where the subsystem still feeds watchdog but stops responding to any SMP2P request. A ping-pong test could help detect that. But since "pong" is not supported by every subsystem, e.g. ADSPs on Nord, we should do the test only for subsystems that support "pong". Shawn

