Skip to contentSkip to conversation

S5P-TV: Warning for regulator unbalanced disables

DISCUSSION Tushar Behera 2 participants 2 messages Feb 23, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

After implementing genpd framework for EXYNOS4, (Ref commit 91cfbd4 "ARM: EXYNOS: Hook up power domains to generic power domain infrastructure" in Kukjin's for-next branch), we are getting following warning from s5p-hdmi driver.

The test was done on Origen board with code based on 3.3-rc4 and Kukjin's for-next branch. [1]

------------[ cut here ]------------
WARNING: at drivers/regulator/core.c:1503 _regulator_disable+0xf8/0x164()
unbalanced disables for VMIPI_1.1V
Modules linked in:

regulator_init_complete: VDD_G3D_1.1V: incomplete constraints, leaving on [<c0014624>] (unwind_backtrace+0x0/0xf8) from [<c00232fc>] (warn_slowpath_common+0x54/0x64)
[<c00232fc>] (warn_slowpath_common+0x54/0x64) from [<c00233a0>] (warn_slowpath_fmt+0x30/0x40)
[<c00233a0>] (warn_slowpath_fmt+0x30/0x40) from [<c01ab9b8>] (_regulator_disable+0xf8/0x164)
[<c01ab9b8>] (_regulator_disable+0xf8/0x164) from [<c01aba40>] (regulator_disable+0x1c/0x48)
[<c01aba40>] (regulator_disable+0x1c/0x48) from [<c01abcf4>] (regulator_bulk_disable+0x24/0x8c)
regulator_init_complete: VADC_3.3V: incomplete constraints, leaving on [<c01abcf4>] (regulator_bulk_disable+0x24/0x8c) from [<c028d874>] (hdmi_runtime_suspend+0x28/0x30)
[<c028d874>] (hdmi_runtime_suspend+0x28/0x30) from [<c01edac4>] (pm_genpd_default_save_state+0x48/0x5c)
[<c01edac4>] (pm_genpd_default_save_state+0x48/0x5c) from [<c01eeed4>] (pm_genpd_poweroff+0x224/0x3f0)
[<c01eeed4>] (pm_genpd_poweroff+0x224/0x3f0) from [<c01ef190>] (genpd_power_off_work_fn+0x1c/0x28)
[<c01ef190>] (genpd_power_off_work_fn+0x1c/0x28) from [<c0036ac0>] (process_one_work+0x118/0x3b0)
regulator_init_complete: VMIPI_1.8V: incomplete constraints, leaving on [<c0036ac0>] (process_one_work+0x118/0x3b0) from [<c0039424>] (worker_thread+0x18c/0x3a0)
[<c0039424>] (worker_thread+0x18c/0x3a0) from [<c003d734>] (kthread+0x8c/0x90)
[<c003d734>] (kthread+0x8c/0x90) from [<c000f278>] (kernel_thread_exit+0x0/0x8)

---[ end trace 9e20783f432f4c81 ]---

[1] git://git.linaro.org/people/tushar/linux-linaro-samsung.git
(test/hdmi-pd)

Signature · 1 line
Tushar Behera
#1 lore raw

Hi Tushar,

Quoted 10 lines · You

After implementing genpd framework for EXYNOS4, (Ref commit 91cfbd4 "ARM: EXYNOS: Hook up power domains to generic power domain infrastructure" in Kukjin's for-next branch), we are getting following warning from s5p-hdmi driver.

The test was done on Origen board with code based on 3.3-rc4 and Kukjin's for-next branch. [1]

------------[ cut here ]------------
WARNING: at drivers/regulator/core.c:1503 _regulator_disable+0xf8/0x164()

(snipped)

Thanks for the report. We know about this issue. It is not really related to regulators nor s5p-tv driver. There is something broken (or misused) in the gen_pd driver and its implementation for Exysno4 hw. If you dig a bit into the problem You can observe the following call sequence on device probe:

exynos4_genpd_enable()
s5p_tv_runtime_disable()
exynos4_genpd_disable()

So the call to s5p_tv_runtime_disable is not balanced with s5p_tv_runtime_resume() what causes the error you have posted. It looks that runtime pw framework makes some wrong assumptions about the state of the device once power domain has been registered.

The same problem appears for s5p-fimc and s5p-mfc, although it is not observed as kernel error, but these devices also suffers from it - their clocks get disabled one time too much so they do not operate correctly.

We are investigating this issue further.

Best regards
--
Marek Szyprowski
Samsung Poland R&D Center

The above message is intended solely for the named addressee and may contain trade secret, industrial technology or privileged and confidential information otherwise protected under applicable law. Any unauthorized dissemination, distribution, copying or use of the information contained in this communication is strictly prohibited. If you have received this communication in error, please notify sender by email and delete this communication immediately.

Powyższa wiadomość przeznaczona jest wyłącznie dla adresata niniejszej wiadomości i może zawierać informacje będące tajemnicą handlową, tajemnicą przedsiębiorstwa oraz informacje o charakterze poufnym chronione obowiązującymi przepisami prawa. Jakiekolwiek nieuprawnione ich rozpowszechnianie, dystrybucja, kopiowanie lub użycie informacji zawartych w powyższej wiadomości jest zabronione. Jeśli otrzymałeś powyższą wiadomość omyłkowo, uprzejmie proszę poinformuj o tym fakcie drogą mailową nadawcę tej wiadomości oraz niezwłocznie usuń powyższą wiadomość ze swojego komputera.