From: Joonyoung Shim <jy0922.shim@samsung.com>
To: Javier Martinez Canillas <javier@dowhile0.org>
Cc: Gustavo Padovan <gustavo@padovan.org>,
"linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Andrzej Hajda <a.hajda@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Tobias Jakobi <liquid.acid@gmx.net>,
Inki Dae <inki.dae@samsung.com>,
Prathyush K <prathyush.k@samsung.com>,
Kukjin Kim <kgene@kernel.org>
Subject: Re: [RFC] drm/exynos: move hdmi clk disable out of pm ops
Date: Fri, 30 Jan 2015 17:27:46 +0900 [thread overview]
Message-ID: <54CB4082.1000005@samsung.com> (raw)
In-Reply-To: <CABxcv=n7=ujyOoy1rTL-SQg=-hnCXVHbLX_npp5tn5BpTYFTZA@mail.gmail.com>
Hi Javier,
On 01/30/2015 05:03 PM, Javier Martinez Canillas wrote:
> Hello Joonyoung,
>
> On Fri, Jan 30, 2015 at 3:02 AM, Joonyoung Shim <jy0922.shim@samsung.com> wrote:
>> +Cc Kukjin,
>>
>> Hi,
>>
>> On 01/29/2015 10:31 PM, Gustavo Padovan wrote:
>>> From: Prathyush K <prathyush.k@samsung.com>
>>>
>>> When VPLL clock of less than 140 MHz was used and all the three
>>> clocks - hdmiphy, hdmi, sclk_hdmi are disabled, the system hangs
>>> during S2R when HDMI is connected. Since we want to use a vpll
>>> clock of 70.5 MHz, we cannot disable these 3 clocks before suspending.
>>> This patch moves the clk enable/disable of hdmi and sclk_hdmi
>>> outside of the pm ops. Now system suspends and resumes with HDMI
>>> connected with VPLL set at 70.5 MHz.
>>>
>>> Signed-off-by: Prathyush K <prathyush.k@samsung.com>
>>> Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
>>> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>>>
>>> ---
>>> This work depends on the HDMI support patches from Javier:
>>> https://lkml.org/lkml/2015/1/20/235
>>>
>>> This patch comes from a downstream tree (Google chormeOS) and it is
>>> authored by a Samsung employee, but we still think this may not fix
>>> the real cause of the bug, there might be something else that we
>>> haven't found that could be the cause of this issue. Anyone has some
>>> comment to add here?
>>
>> Hmm, do you test from which exynos SoC?
>>
>
> I haven't the S2R case since it is broken in mainline for Exynos5420
> (even with $subject applied) but $subject fixes for me the system
> crash we have discussed before [0]. That is when mixer_poweron() tries
> to access the mixer register without hdmi_poweron() enabling the
> "hdmi" clock.
>
>> Kukjin, if it is hw issue, do you know hw experts of exynos hdmi and
>> could we get any advice?
>>
>
> It would be great if someone can shed some light on both issues.
>
>>> ---
>>> drivers/gpu/drm/exynos/exynos_hdmi.c | 17 +++++++++++------
>>> 1 file changed, 11 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> index 6aa0d65..7a473cb 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> @@ -2064,9 +2064,6 @@ static void hdmi_poweron(struct exynos_drm_display *display)
>>> regmap_update_bits(hdata->pmureg, PMU_HDMI_PHY_CONTROL,
>>> PMU_HDMI_PHY_ENABLE_BIT, 1);
>>>
>>> - clk_prepare_enable(res->hdmi);
>>> - clk_prepare_enable(res->sclk_hdmi);
>>> -
>>> hdmiphy_poweron(hdata);
>>> hdmi_commit(display);
>>> }
>>> @@ -2088,9 +2085,6 @@ static void hdmi_poweroff(struct exynos_drm_display *display)
>>>
>>> cancel_delayed_work(&hdata->hotplug_work);
>>>
>>> - clk_disable_unprepare(res->sclk_hdmi);
>>> - clk_disable_unprepare(res->hdmi);
>>> -
>>> /* reset pmu hdmiphy control bit to disable hdmiphy */
>>> regmap_update_bits(hdata->pmureg, PMU_HDMI_PHY_CONTROL,
>>> PMU_HDMI_PHY_ENABLE_BIT, 0);
>>> @@ -2254,6 +2248,14 @@ static int hdmi_resources_init(struct hdmi_context *hdata)
>>> } else
>>> res->reg_hdmi_en = NULL;
>>>
>>> + /*
>>> + * These two clocks are not moved into hdmi_poweron/off since system
>>> + * fails to suspend if VPLL clock of 70.5 MHz is used and these
>>> + * clocks are disabled before suspend. So enable them here.
>>> + */
>>> + clk_prepare_enable(res->sclk_hdmi);
>>> + clk_prepare_enable(res->hdmi);
>>> +
>>
>> Then twe clocks are turned on always. I don't think it's reasonable.
>>
>
> Agreed that it would be better to gate/ungate the clocks as necessary
> to reduce power consumption but OTOH is better to leave some clocks
> enabled to avoid system crashes. Of course it would be even better to
> understand the root cause and fix it.
>
It's ok to me if we apply workaround only about exynos5420 hdmi case.
Thanks.
next prev parent reply other threads:[~2015-01-30 8:28 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 9:39 [PATCH v2 0/6] Enable HDMI support on Exynos platforms Marek Szyprowski
2015-01-13 9:39 ` [PATCH v2 1/6] ARM: Exynos: add support for sub-power domains Marek Szyprowski
2015-01-13 10:44 ` Ulf Hansson
2015-01-13 10:53 ` Marek Szyprowski
2015-01-13 14:44 ` Ulf Hansson
2015-01-13 9:39 ` [PATCH v2 2/6] ARM: dts: exynos4: add hdmi related nodes Marek Szyprowski
2015-01-13 9:39 ` [PATCH v2 3/6] ARM: dts: exynos4: add dependency between TV and LCD0 power domains Marek Szyprowski
2015-01-13 9:39 ` [PATCH v2 4/6] ARM: dts: exynos4412-odroid: enable hdmi support Marek Szyprowski
2015-01-13 9:41 ` [PATCH v2 5/6] ARM: dts: exynos4210-universal_c210: " Marek Szyprowski
2015-01-13 9:41 ` [PATCH v2 6/6] ARM: dts: exynos5250: add display power domain Marek Szyprowski
2015-01-14 15:25 ` [PATCH v2 0/6] Enable HDMI support on Exynos platforms Tobias Jakobi
2015-01-15 10:06 ` Marek Szyprowski
2015-01-15 10:10 ` Tobias Jakobi
2015-01-15 10:26 ` Marek Szyprowski
2015-01-15 10:41 ` Joonyoung Shim
2015-01-15 13:57 ` Tobias Jakobi
2015-01-15 13:59 ` Tobias Jakobi
2015-01-15 23:54 ` Tobias Jakobi
2015-01-16 22:32 ` Tobias Jakobi
2015-01-16 22:44 ` Tobias Jakobi
2015-01-19 6:04 ` Joonyoung Shim
2015-01-19 16:30 ` Marek Szyprowski
2015-01-19 23:03 ` Tobias Jakobi
2015-01-20 7:54 ` Marek Szyprowski
2015-01-19 23:33 ` Tobias Jakobi
2015-01-20 11:25 ` Javier Martinez Canillas
2015-01-29 13:31 ` [RFC] drm/exynos: move hdmi clk disable out of pm ops Gustavo Padovan
2015-01-30 2:02 ` Joonyoung Shim
2015-01-30 8:03 ` Javier Martinez Canillas
2015-01-30 8:05 ` Javier Martinez Canillas
2015-01-30 8:27 ` Joonyoung Shim [this message]
2015-01-30 21:45 ` [PATCH] drm/exynos: don' disable hdmi clocks for exynos5420 Gustavo Padovan
2015-02-02 5:34 ` Joonyoung Shim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54CB4082.1000005@samsung.com \
--to=jy0922.shim@samsung.com \
--cc=a.hajda@samsung.com \
--cc=gustavo@padovan.org \
--cc=inki.dae@samsung.com \
--cc=javier@dowhile0.org \
--cc=kgene@kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=liquid.acid@gmx.net \
--cc=m.szyprowski@samsung.com \
--cc=prathyush.k@samsung.com \
--cc=s.nawrocki@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox