audio clk warnings during system suspend on Salvator-X

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

 



Hi Morimoto-san, Wolfram,

During the second system suspend (suspend to mem, "deep") on H3 Salvator-X,
the clk subsystem prints warnings due to enable and prepare count imbalances.

With some additional debug code, I discovered the issue is caused by the
CS2000 clock driver failing to resume:

suspend #1:

    rsnd_adg_clk_control: called by rsnd_suspend
    rsnd_adg_clk_control: Disable audio_clk_a
    rsnd_adg_clk_control: Disable clk_multiplier
    rsnd_adg_clk_control: Disable audio_clk_c
    rsnd_adg_clk_control: Disable s0d4

resume #1:

    dpm_run_callback(): cs2000_resume+0x0/0x20 returns -6
    PM: Device 2-004f failed to resume early: error -6

    rsnd_adg_clk_control: called by rsnd_resume
    rsnd_adg_clk_control: Enable audio_clk_a
    rsnd_adg_clk_control: Enable clk_multiplier
    rcar_sound ec500000.sound: can't use clk 1
    rsnd_adg_clk_control: Enable audio_clk_c
    rsnd_adg_clk_control: Enable s0d4


suspend #2:

    rsnd_adg_clk_control: called by rsnd_suspend
    rsnd_adg_clk_control: Disable audio_clk_a
    rsnd_adg_clk_control: Disable clk_multiplier
    WARNING: CPU: 0 PID: 1943 at drivers/clk/clk.c:594
clk_core_disable+0x44/0x254
    [...]
    WARNING: CPU: 0 PID: 1943 at drivers/clk/clk.c:476
clk_core_unprepare+0x48/0x36c
    [...]
    rsnd_adg_clk_control: Disable audio_clk_c
    rsnd_adg_clk_control: Disable s0d4

resume #2:

    dpm_run_callback(): cs2000_resume+0x0/0x20 returns -6
    PM: Device 2-004f failed to resume early: error -6

    rsnd_adg_clk_control: called by rsnd_resume
    rsnd_adg_clk_control: Enable audio_clk_a
    rsnd_adg_clk_control: Enable clk_multiplier
    rcar_sound ec500000.sound: can't use clk 1
    rsnd_adg_clk_control: Enable audio_clk_c
    rsnd_adg_clk_control: Enable s0d4


The CS2000 driver fails to send an i2c message, probably because the
rcar-i2c driver lost some register settings during system suspend.  This does
not happen with s2idle.

I guess this is also the reason for this warning:

    ak4613-codec 2-0010: Unable to sync registers 0x0-0x2. -6

as the ak4613 is connected to the same i2c bus.

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