Re: s2idle blocked on dev->power.completion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Saravana,

On Thu, 13 Feb 2025 at 09:31, Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> On Mon, Feb 10, 2025 at 2:24 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Fri, 7 Feb 2025 at 16:08, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > > Instrumenting all dev->power.completion accesses in
> > > drivers/base/power/main.c reveals that resume is blocked in dpm_wait()
> > > in the call to wait_for_completion() for regulator-1p2v, which is
> > > indeed a dependency for the SN65DSI86 DSI-DP bridge.  Comparing
> >
> > [...]
> >
> > > Looking at /sys/devices/virtual/devlink, the non-working case has the
> > > following extra entries:
> >
> > Note that the SN65DSI86 DSI-DP bridge driver uses the auxiliary bus
> > to create four subdevices:
> >   - ti_sn65dsi86.aux.0,
> >   - ti_sn65dsi86.bridge.0,
> >   - ti_sn65dsi86.gpio.0,
> >   - ti_sn65dsi86.pwm.0.
> > None of them have supplier:* symlinks in sysfs, so perhaps that is
> > the root cause of the issue?
>
> Sorry, I haven't had time to look into this closely. Couple of
> questions/suggestions that might give you some answers.
>
> Is this an issue only happening for s2idle or for s2ram too? I'd guess
> both, but if not, that might tell you something?

The two (very similar) boards I could reproduce the issue on do not
support s2ram yet.

> The only reason the wait_for_completion() wouldn't work is because the
> supplier is not "completing"?

Yes, the diff shows ca. 70 additional calls to "complete_all()" in the
good case.

> There's some weird direct_complete logic
> that I haven't fully understood. You can look at that to see if some
> of the devices are skipping their resumes and hence the "completes"
> too? Also, runtime PM and some flag can cause some lazy resume or
> avoid suspending already suspended devices behavior. Check that too.

Thanks, will give it a try...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux