diff mbox

ARM: dts: remove display power domain for exynos5420

Message ID 1402313299-18885-1-git-send-email-rahul.sharma@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rahul Sharma June 9, 2014, 11:28 a.m. UTC
Display domain is removed due to instability issues. Explaining
the problem below:

exynos_init_late triggers the pm_genpd_poweroff_unused which
powers off the unused power domains. This call hits before
the trigger to deferred probes.

DRM DP Panel defers the probe due to supply get failure. By the
time, deferred probe is scheduled again, Display Power Domain is
powered off by pm_genpd_poweroff_unused.

FIMD and DP drivers are accessing registers during Probe and Bind
callbacks. If display domain is enabled/disabled around register
accesses, display domain gets unstable and we are getting Power
Domain Disable fail notification. Increasing the Timeout also
didn't help.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
---
based on Kukjin's for-next branch.

 arch/arm/boot/dts/exynos5420.dtsi |    6 ------
 1 file changed, 6 deletions(-)

Comments

Rahul Sharma June 17, 2014, 5:49 a.m. UTC | #1
Hi All,

Please review this patch.

Regards,
Rahul Sharma

On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
> Display domain is removed due to instability issues. Explaining
> the problem below:
>
> exynos_init_late triggers the pm_genpd_poweroff_unused which
> powers off the unused power domains. This call hits before
> the trigger to deferred probes.
>
> DRM DP Panel defers the probe due to supply get failure. By the
> time, deferred probe is scheduled again, Display Power Domain is
> powered off by pm_genpd_poweroff_unused.
>
> FIMD and DP drivers are accessing registers during Probe and Bind
> callbacks. If display domain is enabled/disabled around register
> accesses, display domain gets unstable and we are getting Power
> Domain Disable fail notification. Increasing the Timeout also
> didn't help.
>
> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
> ---
> based on Kukjin's for-next branch.
>
>  arch/arm/boot/dts/exynos5420.dtsi |    6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> index e385322..3d528cf 100644
> --- a/arch/arm/boot/dts/exynos5420.dtsi
> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> @@ -262,11 +262,6 @@
>                 reg = <0x10044060 0x20>;
>         };
>
> -       disp_pd: power-domain@100440C0 {
> -               compatible = "samsung,exynos4210-pd";
> -               reg = <0x100440C0 0x20>;
> -       };
> -
>         msc_pd: power-domain@10044120 {
>                 compatible = "samsung,exynos4210-pd";
>                 reg = <0x10044120 0x20>;
> @@ -518,7 +513,6 @@
>         };
>
>         fimd: fimd@14400000 {
> -               samsung,power-domain = <&disp_pd>;
>                 clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
>                 clock-names = "sclk_fimd", "fimd";
>         };
> --
> 1.7.9.5
>
Andrzej Hajda June 18, 2014, 6:16 a.m. UTC | #2
On 06/17/2014 07:49 AM, Rahul Sharma wrote:
> Hi All,
> 
> Please review this patch.
> 
> Regards,
> Rahul Sharma
> 
> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>> Display domain is removed due to instability issues. Explaining
>> the problem below:
>>
>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>> powers off the unused power domains. This call hits before
>> the trigger to deferred probes.
>>
>> DRM DP Panel defers the probe due to supply get failure. By the
>> time, deferred probe is scheduled again, Display Power Domain is
>> powered off by pm_genpd_poweroff_unused.
>>
>> FIMD and DP drivers are accessing registers during Probe and Bind
>> callbacks. If display domain is enabled/disabled around register
>> accesses, display domain gets unstable and we are getting Power
>> Domain Disable fail notification. Increasing the Timeout also
>> didn't help.

As I understand the problem is that fimd and dp drivers access hw
registers without enabling power domain. So the proper solution is to
fix these drivers.

Btw. there are already patches removing hw access from probe/bind of
fimd. I guess removing also hw access from dp probe/bind could be a good
solution.

Regards
Andrzej

>>
>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>> ---
>> based on Kukjin's for-next branch.
>>
>>  arch/arm/boot/dts/exynos5420.dtsi |    6 ------
>>  1 file changed, 6 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
>> index e385322..3d528cf 100644
>> --- a/arch/arm/boot/dts/exynos5420.dtsi
>> +++ b/arch/arm/boot/dts/exynos5420.dtsi
>> @@ -262,11 +262,6 @@
>>                 reg = <0x10044060 0x20>;
>>         };
>>
>> -       disp_pd: power-domain@100440C0 {
>> -               compatible = "samsung,exynos4210-pd";
>> -               reg = <0x100440C0 0x20>;
>> -       };
>> -
>>         msc_pd: power-domain@10044120 {
>>                 compatible = "samsung,exynos4210-pd";
>>                 reg = <0x10044120 0x20>;
>> @@ -518,7 +513,6 @@
>>         };
>>
>>         fimd: fimd@14400000 {
>> -               samsung,power-domain = <&disp_pd>;
>>                 clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
>>                 clock-names = "sclk_fimd", "fimd";
>>         };
>> --
>> 1.7.9.5
>>
Rahul Sharma June 18, 2014, 6:36 a.m. UTC | #3
Hi Andrej,

On 18 June 2014 11:46, Andrzej Hajda <a.hajda@samsung.com> wrote:
> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>> Hi All,
>>
>> Please review this patch.
>>
>> Regards,
>> Rahul Sharma
>>
>> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>> Display domain is removed due to instability issues. Explaining
>>> the problem below:
>>>
>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>> powers off the unused power domains. This call hits before
>>> the trigger to deferred probes.
>>>
>>> DRM DP Panel defers the probe due to supply get failure. By the
>>> time, deferred probe is scheduled again, Display Power Domain is
>>> powered off by pm_genpd_poweroff_unused.
>>>
>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>> callbacks. If display domain is enabled/disabled around register
>>> accesses, display domain gets unstable and we are getting Power
>>> Domain Disable fail notification. Increasing the Timeout also
>>> didn't help.
>
> As I understand the problem is that fimd and dp drivers access hw
> registers without enabling power domain. So the proper solution is to
> fix these drivers.

That is also a problem but I fixed those accesses in my local kernel before
hitting this issue. If we do register accesses in FIMD/DP probe/bind we
observes "Prefetch abort" exception. But here the problem is that 'DP
domain disable' starts failing if we enable/disable multiple times.

>
> Btw. there are already patches removing hw access from probe/bind of
> fimd. I guess removing also hw access from dp probe/bind could be a good
> solution.

Please let me know the links for posted patches. I will test with those patches.

Regards,
Rahul Sharma

>
> Regards
> Andrzej
>
>>>
>>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>>> ---
>>> based on Kukjin's for-next branch.
>>>
>>>  arch/arm/boot/dts/exynos5420.dtsi |    6 ------
>>>  1 file changed, 6 deletions(-)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
>>> index e385322..3d528cf 100644
>>> --- a/arch/arm/boot/dts/exynos5420.dtsi
>>> +++ b/arch/arm/boot/dts/exynos5420.dtsi
>>> @@ -262,11 +262,6 @@
>>>                 reg = <0x10044060 0x20>;
>>>         };
>>>
>>> -       disp_pd: power-domain@100440C0 {
>>> -               compatible = "samsung,exynos4210-pd";
>>> -               reg = <0x100440C0 0x20>;
>>> -       };
>>> -
>>>         msc_pd: power-domain@10044120 {
>>>                 compatible = "samsung,exynos4210-pd";
>>>                 reg = <0x10044120 0x20>;
>>> @@ -518,7 +513,6 @@
>>>         };
>>>
>>>         fimd: fimd@14400000 {
>>> -               samsung,power-domain = <&disp_pd>;
>>>                 clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
>>>                 clock-names = "sclk_fimd", "fimd";
>>>         };
>>> --
>>> 1.7.9.5
>>>
>
Rahul Sharma July 7, 2014, 1:37 p.m. UTC | #4
Hi Andrej, Inki,

On 18 June 2014 12:06, Rahul Sharma <rahul.sharma@samsung.com> wrote:
> Hi Andrej,
>
> On 18 June 2014 11:46, Andrzej Hajda <a.hajda@samsung.com> wrote:
>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>> Hi All,
>>>
>>> Please review this patch.
>>>
>>> Regards,
>>> Rahul Sharma
>>>
>>> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>>> Display domain is removed due to instability issues. Explaining
>>>> the problem below:
>>>>
>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>> powers off the unused power domains. This call hits before
>>>> the trigger to deferred probes.
>>>>
>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>> powered off by pm_genpd_poweroff_unused.
>>>>
>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>> callbacks. If display domain is enabled/disabled around register
>>>> accesses, display domain gets unstable and we are getting Power
>>>> Domain Disable fail notification. Increasing the Timeout also
>>>> didn't help.
>>
>> As I understand the problem is that fimd and dp drivers access hw
>> registers without enabling power domain. So the proper solution is to
>> fix these drivers.
>
> That is also a problem but I fixed those accesses in my local kernel before
> hitting this issue. If we do register accesses in FIMD/DP probe/bind we
> observes "Prefetch abort" exception. But here the problem is that 'DP
> domain disable' starts failing if we enable/disable multiple times.
>
>>
>> Btw. there are already patches removing hw access from probe/bind of
>> fimd. I guess removing also hw access from dp probe/bind could be a good
>> solution.
>
> Please let me know the links for posted patches. I will test with those patches.

Is there any update on this? Please share the patches which fixes the
above issue or avoid the above scenario of multiple PM Domain enable/disable.
I will test them for exynos5 based boards. Otherwise we should get this change
merged else display will remain broken for exynos5 based boards.

Regards,
Rahul Sharma.

>
> Regards,
> Rahul Sharma
>
>>
>> Regards
>> Andrzej
>>
>>>>
>>>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>>>> ---
>>>> based on Kukjin's for-next branch.
>>>>
>>>>  arch/arm/boot/dts/exynos5420.dtsi |    6 ------
>>>>  1 file changed, 6 deletions(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
>>>> index e385322..3d528cf 100644
>>>> --- a/arch/arm/boot/dts/exynos5420.dtsi
>>>> +++ b/arch/arm/boot/dts/exynos5420.dtsi
>>>> @@ -262,11 +262,6 @@
>>>>                 reg = <0x10044060 0x20>;
>>>>         };
>>>>
>>>> -       disp_pd: power-domain@100440C0 {
>>>> -               compatible = "samsung,exynos4210-pd";
>>>> -               reg = <0x100440C0 0x20>;
>>>> -       };
>>>> -
>>>>         msc_pd: power-domain@10044120 {
>>>>                 compatible = "samsung,exynos4210-pd";
>>>>                 reg = <0x10044120 0x20>;
>>>> @@ -518,7 +513,6 @@
>>>>         };
>>>>
>>>>         fimd: fimd@14400000 {
>>>> -               samsung,power-domain = <&disp_pd>;
>>>>                 clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
>>>>                 clock-names = "sclk_fimd", "fimd";
>>>>         };
>>>> --
>>>> 1.7.9.5
>>>>
>>
Tomasz Figa July 8, 2014, 3:34 p.m. UTC | #5
Hi Rahul,

On 07.07.2014 15:37, Rahul Sharma wrote:
> Hi Andrej, Inki,
> 
> On 18 June 2014 12:06, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>> Hi Andrej,
>>
>> On 18 June 2014 11:46, Andrzej Hajda <a.hajda@samsung.com> wrote:
>>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>>> Hi All,
>>>>
>>>> Please review this patch.
>>>>
>>>> Regards,
>>>> Rahul Sharma
>>>>
>>>> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>>>> Display domain is removed due to instability issues. Explaining
>>>>> the problem below:
>>>>>
>>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>>> powers off the unused power domains. This call hits before
>>>>> the trigger to deferred probes.
>>>>>
>>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>>> powered off by pm_genpd_poweroff_unused.
>>>>>
>>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>>> callbacks. If display domain is enabled/disabled around register
>>>>> accesses, display domain gets unstable and we are getting Power
>>>>> Domain Disable fail notification. Increasing the Timeout also
>>>>> didn't help.
>>>
>>> As I understand the problem is that fimd and dp drivers access hw
>>> registers without enabling power domain. So the proper solution is to
>>> fix these drivers.
>>
>> That is also a problem but I fixed those accesses in my local kernel before
>> hitting this issue. If we do register accesses in FIMD/DP probe/bind we
>> observes "Prefetch abort" exception. But here the problem is that 'DP
>> domain disable' starts failing if we enable/disable multiple times.
>>
>>>
>>> Btw. there are already patches removing hw access from probe/bind of
>>> fimd. I guess removing also hw access from dp probe/bind could be a good
>>> solution.
>>
>> Please let me know the links for posted patches. I will test with those patches.
> 
> Is there any update on this? Please share the patches which fixes the
> above issue or avoid the above scenario of multiple PM Domain enable/disable.
> I will test them for exynos5 based boards. Otherwise we should get this change
> merged else display will remain broken for exynos5 based boards.

Andrzej is on holidays right now, so he won't be able to reply in this
thread until he's back. Here are two patches I was able to find on the
related MLs that might be fixing the cause of your issues:

[PATCH] drm/exynos: remove hardware overlays disable from fimd probe
(https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31629.html)

[PATCH] drm/exynos: fimd: Keep power enabled during fimd_bind
(https://lkml.org/lkml/2014/7/4/188)

Best regards,
Tomasz
Rahul Sharma July 9, 2014, 11:30 a.m. UTC | #6
Hi Tomasz,

On 8 July 2014 21:04, Tomasz Figa <t.figa@samsung.com> wrote:
> Hi Rahul,
>
> On 07.07.2014 15:37, Rahul Sharma wrote:
>> Hi Andrej, Inki,
>>
>> On 18 June 2014 12:06, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>> Hi Andrej,
>>>
>>> On 18 June 2014 11:46, Andrzej Hajda <a.hajda@samsung.com> wrote:
>>>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>>>> Hi All,
>>>>>
>>>>> Please review this patch.
>>>>>
>>>>> Regards,
>>>>> Rahul Sharma
>>>>>
>>>>> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>>>>> Display domain is removed due to instability issues. Explaining
>>>>>> the problem below:
>>>>>>
>>>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>>>> powers off the unused power domains. This call hits before
>>>>>> the trigger to deferred probes.
>>>>>>
>>>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>>>> powered off by pm_genpd_poweroff_unused.
>>>>>>
>>>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>>>> callbacks. If display domain is enabled/disabled around register
>>>>>> accesses, display domain gets unstable and we are getting Power
>>>>>> Domain Disable fail notification. Increasing the Timeout also
>>>>>> didn't help.
>>>>
>>>> As I understand the problem is that fimd and dp drivers access hw
>>>> registers without enabling power domain. So the proper solution is to
>>>> fix these drivers.
>>>
>>> That is also a problem but I fixed those accesses in my local kernel before
>>> hitting this issue. If we do register accesses in FIMD/DP probe/bind we
>>> observes "Prefetch abort" exception. But here the problem is that 'DP
>>> domain disable' starts failing if we enable/disable multiple times.
>>>
>>>>
>>>> Btw. there are already patches removing hw access from probe/bind of
>>>> fimd. I guess removing also hw access from dp probe/bind could be a good
>>>> solution.
>>>
>>> Please let me know the links for posted patches. I will test with those patches.
>>
>> Is there any update on this? Please share the patches which fixes the
>> above issue or avoid the above scenario of multiple PM Domain enable/disable.
>> I will test them for exynos5 based boards. Otherwise we should get this change
>> merged else display will remain broken for exynos5 based boards.
>
> Andrzej is on holidays right now, so he won't be able to reply in this
> thread until he's back. Here are two patches I was able to find on the
> related MLs that might be fixing the cause of your issues:

Ok. thanks for the update.

We should test with Ajay's patches which includes DP probe deferring
based on availability of bridge chip. +

few patches which cleanup register access in FIMD and DP probe/bind
OR
few patches to enable Display power domain and clocks just before the
register access. As done in https://lkml.org/lkml/2014/7/4/188.

Later solution results into display power domain enable failure in case of DRM
probe defer.

I am just curious if Andrej has some solution for the first approach which can
be tested for defer probe and S2R scenarios.

Regards,
Rahul Sharma.

>
> [PATCH] drm/exynos: remove hardware overlays disable from fimd probe
> (https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31629.html)
>
> [PATCH] drm/exynos: fimd: Keep power enabled during fimd_bind
> (https://lkml.org/lkml/2014/7/4/188)
>
> Best regards,
> Tomasz
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Rahul Sharma July 14, 2014, 9:09 a.m. UTC | #7
Hi Kukjin,

Please consider this patch for your branch. This patch is important
for Display for Exynos5 boards.

Regards,
Rahul Sharma.

On 9 July 2014 17:00, Rahul Sharma <rahul.sharma@samsung.com> wrote:
> Hi Tomasz,
>
> On 8 July 2014 21:04, Tomasz Figa <t.figa@samsung.com> wrote:
>> Hi Rahul,
>>
>> On 07.07.2014 15:37, Rahul Sharma wrote:
>>> Hi Andrej, Inki,
>>>
>>> On 18 June 2014 12:06, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>>> Hi Andrej,
>>>>
>>>> On 18 June 2014 11:46, Andrzej Hajda <a.hajda@samsung.com> wrote:
>>>>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>>>>> Hi All,
>>>>>>
>>>>>> Please review this patch.
>>>>>>
>>>>>> Regards,
>>>>>> Rahul Sharma
>>>>>>
>>>>>> On 9 June 2014 16:58, Rahul Sharma <rahul.sharma@samsung.com> wrote:
>>>>>>> Display domain is removed due to instability issues. Explaining
>>>>>>> the problem below:
>>>>>>>
>>>>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>>>>> powers off the unused power domains. This call hits before
>>>>>>> the trigger to deferred probes.
>>>>>>>
>>>>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>>>>> powered off by pm_genpd_poweroff_unused.
>>>>>>>
>>>>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>>>>> callbacks. If display domain is enabled/disabled around register
>>>>>>> accesses, display domain gets unstable and we are getting Power
>>>>>>> Domain Disable fail notification. Increasing the Timeout also
>>>>>>> didn't help.
>>>>>
>>>>> As I understand the problem is that fimd and dp drivers access hw
>>>>> registers without enabling power domain. So the proper solution is to
>>>>> fix these drivers.
>>>>
>>>> That is also a problem but I fixed those accesses in my local kernel before
>>>> hitting this issue. If we do register accesses in FIMD/DP probe/bind we
>>>> observes "Prefetch abort" exception. But here the problem is that 'DP
>>>> domain disable' starts failing if we enable/disable multiple times.
>>>>
>>>>>
>>>>> Btw. there are already patches removing hw access from probe/bind of
>>>>> fimd. I guess removing also hw access from dp probe/bind could be a good
>>>>> solution.
>>>>
>>>> Please let me know the links for posted patches. I will test with those patches.
>>>
>>> Is there any update on this? Please share the patches which fixes the
>>> above issue or avoid the above scenario of multiple PM Domain enable/disable.
>>> I will test them for exynos5 based boards. Otherwise we should get this change
>>> merged else display will remain broken for exynos5 based boards.
>>
>> Andrzej is on holidays right now, so he won't be able to reply in this
>> thread until he's back. Here are two patches I was able to find on the
>> related MLs that might be fixing the cause of your issues:
>
> Ok. thanks for the update.
>
> We should test with Ajay's patches which includes DP probe deferring
> based on availability of bridge chip. +
>
> few patches which cleanup register access in FIMD and DP probe/bind
> OR
> few patches to enable Display power domain and clocks just before the
> register access. As done in https://lkml.org/lkml/2014/7/4/188.
>
> Later solution results into display power domain enable failure in case of DRM
> probe defer.
>
> I am just curious if Andrej has some solution for the first approach which can
> be tested for defer probe and S2R scenarios.
>
> Regards,
> Rahul Sharma.
>
>>
>> [PATCH] drm/exynos: remove hardware overlays disable from fimd probe
>> (https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31629.html)
>>
>> [PATCH] drm/exynos: fimd: Keep power enabled during fimd_bind
>> (https://lkml.org/lkml/2014/7/4/188)
>>
>> Best regards,
>> Tomasz
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Kim Kukjin July 15, 2014, 11:35 p.m. UTC | #8
On 07/14/14 18:09, Rahul Sharma wrote:
> Hi Kukjin,
>
Hi Rahul,

> Please consider this patch for your branch. This patch is important
> for Display for Exynos5 boards.
>
OK, I will take this for exynos5420 display for 3.17...BTW I'm not sure 
this is a regression for 3.16 or not...if so, please let me know.

Thanks,
Kukjin

> Regards,
> Rahul Sharma.
>
> On 9 July 2014 17:00, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>> Hi Tomasz,
>>
>> On 8 July 2014 21:04, Tomasz Figa<t.figa@samsung.com>  wrote:
>>> Hi Rahul,
>>>
>>> On 07.07.2014 15:37, Rahul Sharma wrote:
>>>> Hi Andrej, Inki,
>>>>
>>>> On 18 June 2014 12:06, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>>>>> Hi Andrej,
>>>>>
>>>>> On 18 June 2014 11:46, Andrzej Hajda<a.hajda@samsung.com>  wrote:
>>>>>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>>>>>> Hi All,
>>>>>>>
>>>>>>> Please review this patch.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Rahul Sharma
>>>>>>>
>>>>>>> On 9 June 2014 16:58, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>>>>>>>> Display domain is removed due to instability issues. Explaining
>>>>>>>> the problem below:
>>>>>>>>
>>>>>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>>>>>> powers off the unused power domains. This call hits before
>>>>>>>> the trigger to deferred probes.
>>>>>>>>
>>>>>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>>>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>>>>>> powered off by pm_genpd_poweroff_unused.
>>>>>>>>
>>>>>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>>>>>> callbacks. If display domain is enabled/disabled around register
>>>>>>>> accesses, display domain gets unstable and we are getting Power
>>>>>>>> Domain Disable fail notification. Increasing the Timeout also
>>>>>>>> didn't help.
>>>>>>
>>>>>> As I understand the problem is that fimd and dp drivers access hw
>>>>>> registers without enabling power domain. So the proper solution is to
>>>>>> fix these drivers.
>>>>>
>>>>> That is also a problem but I fixed those accesses in my local kernel before
>>>>> hitting this issue. If we do register accesses in FIMD/DP probe/bind we
>>>>> observes "Prefetch abort" exception. But here the problem is that 'DP
>>>>> domain disable' starts failing if we enable/disable multiple times.
>>>>>
>>>>>>
>>>>>> Btw. there are already patches removing hw access from probe/bind of
>>>>>> fimd. I guess removing also hw access from dp probe/bind could be a good
>>>>>> solution.
>>>>>
>>>>> Please let me know the links for posted patches. I will test with those patches.
>>>>
>>>> Is there any update on this? Please share the patches which fixes the
>>>> above issue or avoid the above scenario of multiple PM Domain enable/disable.
>>>> I will test them for exynos5 based boards. Otherwise we should get this change
>>>> merged else display will remain broken for exynos5 based boards.
>>>
>>> Andrzej is on holidays right now, so he won't be able to reply in this
>>> thread until he's back. Here are two patches I was able to find on the
>>> related MLs that might be fixing the cause of your issues:
>>
>> Ok. thanks for the update.
>>
>> We should test with Ajay's patches which includes DP probe deferring
>> based on availability of bridge chip. +
>>
>> few patches which cleanup register access in FIMD and DP probe/bind
>> OR
>> few patches to enable Display power domain and clocks just before the
>> register access. As done in https://lkml.org/lkml/2014/7/4/188.
>>
>> Later solution results into display power domain enable failure in case of DRM
>> probe defer.
>>
>> I am just curious if Andrej has some solution for the first approach which can
>> be tested for defer probe and S2R scenarios.
>>
>> Regards,
>> Rahul Sharma.
>>
>>>
>>> [PATCH] drm/exynos: remove hardware overlays disable from fimd probe
>>> (https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31629.html)
>>>
>>> [PATCH] drm/exynos: fimd: Keep power enabled during fimd_bind
>>> (https://lkml.org/lkml/2014/7/4/188)
Rahul Sharma July 16, 2014, 2:25 a.m. UTC | #9
Thanks Kukjin,

This is not a regression but Display domain in exynos5420 was never
tested well before posting this patch in mainline. This is causing problems
in drm probe deferring due to late init of bridge chip. Domain fails to disable
after few enable/disable iterations during boot. Without this patch DP also
fails to sync with video stream after resume from suspend. This patch is a
blocker for above 2 use cases.

Regards,
Rahul Sharma.

On 16 July 2014 05:05, Kukjin Kim <kgene.kim@samsung.com> wrote:
> On 07/14/14 18:09, Rahul Sharma wrote:
>>
>> Hi Kukjin,
>>
> Hi Rahul,
>
>
>> Please consider this patch for your branch. This patch is important
>> for Display for Exynos5 boards.
>>
> OK, I will take this for exynos5420 display for 3.17...BTW I'm not sure this
> is a regression for 3.16 or not...if so, please let me know.
>
> Thanks,
> Kukjin
>
>
>> Regards,
>> Rahul Sharma.
>>
>> On 9 July 2014 17:00, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>>>
>>> Hi Tomasz,
>>>
>>> On 8 July 2014 21:04, Tomasz Figa<t.figa@samsung.com>  wrote:
>>>>
>>>> Hi Rahul,
>>>>
>>>> On 07.07.2014 15:37, Rahul Sharma wrote:
>>>>>
>>>>> Hi Andrej, Inki,
>>>>>
>>>>> On 18 June 2014 12:06, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>>>>>>
>>>>>> Hi Andrej,
>>>>>>
>>>>>> On 18 June 2014 11:46, Andrzej Hajda<a.hajda@samsung.com>  wrote:
>>>>>>>
>>>>>>> On 06/17/2014 07:49 AM, Rahul Sharma wrote:
>>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> Please review this patch.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Rahul Sharma
>>>>>>>>
>>>>>>>> On 9 June 2014 16:58, Rahul Sharma<rahul.sharma@samsung.com>  wrote:
>>>>>>>>>
>>>>>>>>> Display domain is removed due to instability issues. Explaining
>>>>>>>>> the problem below:
>>>>>>>>>
>>>>>>>>> exynos_init_late triggers the pm_genpd_poweroff_unused which
>>>>>>>>> powers off the unused power domains. This call hits before
>>>>>>>>> the trigger to deferred probes.
>>>>>>>>>
>>>>>>>>> DRM DP Panel defers the probe due to supply get failure. By the
>>>>>>>>> time, deferred probe is scheduled again, Display Power Domain is
>>>>>>>>> powered off by pm_genpd_poweroff_unused.
>>>>>>>>>
>>>>>>>>> FIMD and DP drivers are accessing registers during Probe and Bind
>>>>>>>>> callbacks. If display domain is enabled/disabled around register
>>>>>>>>> accesses, display domain gets unstable and we are getting Power
>>>>>>>>> Domain Disable fail notification. Increasing the Timeout also
>>>>>>>>> didn't help.
>>>>>>>
>>>>>>>
>>>>>>> As I understand the problem is that fimd and dp drivers access hw
>>>>>>> registers without enabling power domain. So the proper solution is to
>>>>>>> fix these drivers.
>>>>>>
>>>>>>
>>>>>> That is also a problem but I fixed those accesses in my local kernel
>>>>>> before
>>>>>> hitting this issue. If we do register accesses in FIMD/DP probe/bind
>>>>>> we
>>>>>> observes "Prefetch abort" exception. But here the problem is that 'DP
>>>>>> domain disable' starts failing if we enable/disable multiple times.
>>>>>>
>>>>>>>
>>>>>>> Btw. there are already patches removing hw access from probe/bind of
>>>>>>> fimd. I guess removing also hw access from dp probe/bind could be a
>>>>>>> good
>>>>>>> solution.
>>>>>>
>>>>>>
>>>>>> Please let me know the links for posted patches. I will test with
>>>>>> those patches.
>>>>>
>>>>>
>>>>> Is there any update on this? Please share the patches which fixes the
>>>>> above issue or avoid the above scenario of multiple PM Domain
>>>>> enable/disable.
>>>>> I will test them for exynos5 based boards. Otherwise we should get this
>>>>> change
>>>>> merged else display will remain broken for exynos5 based boards.
>>>>
>>>>
>>>> Andrzej is on holidays right now, so he won't be able to reply in this
>>>> thread until he's back. Here are two patches I was able to find on the
>>>> related MLs that might be fixing the cause of your issues:
>>>
>>>
>>> Ok. thanks for the update.
>>>
>>> We should test with Ajay's patches which includes DP probe deferring
>>> based on availability of bridge chip. +
>>>
>>> few patches which cleanup register access in FIMD and DP probe/bind
>>> OR
>>> few patches to enable Display power domain and clocks just before the
>>> register access. As done in https://lkml.org/lkml/2014/7/4/188.
>>>
>>> Later solution results into display power domain enable failure in case
>>> of DRM
>>> probe defer.
>>>
>>> I am just curious if Andrej has some solution for the first approach
>>> which can
>>> be tested for defer probe and S2R scenarios.
>>>
>>> Regards,
>>> Rahul Sharma.
>>>
>>>>
>>>> [PATCH] drm/exynos: remove hardware overlays disable from fimd probe
>>>>
>>>> (https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31629.html)
>>>>
>>>> [PATCH] drm/exynos: fimd: Keep power enabled during fimd_bind
>>>> (https://lkml.org/lkml/2014/7/4/188)
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index e385322..3d528cf 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -262,11 +262,6 @@ 
 		reg = <0x10044060 0x20>;
 	};
 
-	disp_pd: power-domain@100440C0 {
-		compatible = "samsung,exynos4210-pd";
-		reg = <0x100440C0 0x20>;
-	};
-
 	msc_pd: power-domain@10044120 {
 		compatible = "samsung,exynos4210-pd";
 		reg = <0x10044120 0x20>;
@@ -518,7 +513,6 @@ 
 	};
 
 	fimd: fimd@14400000 {
-		samsung,power-domain = <&disp_pd>;
 		clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
 		clock-names = "sclk_fimd", "fimd";
 	};