Message ID | 1402313299-18885-1-git-send-email-rahul.sharma@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 >
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 >>
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 >>> >
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 >>>> >>
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
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
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
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)
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 --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"; };
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(-)