All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/msm: Some runtime PM fixes
@ 2017-10-06 10:57 Archit Taneja
  2017-10-06 10:57 ` [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init Archit Taneja
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Archit Taneja @ 2017-10-06 10:57 UTC (permalink / raw)
  To: robdclark; +Cc: dri-devel, linux-arm-msm, Archit Taneja

Runtime PM was added in 4.14. These patches fix a couple of issues
reported by people trying out the new kernel on DB410c.

These should ideally go in one of the 4.14-rcs.

Archit Taneja (2):
  drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  drm/msm/mdp5: Remove extra pm_runtime_put call in
    mdp5_crtc_cursor_set()

 drivers/gpu/drm/msm/dsi/dsi_host.c       | 2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  2017-10-06 10:57 [PATCH 0/2] drm/msm: Some runtime PM fixes Archit Taneja
@ 2017-10-06 10:57 ` Archit Taneja
  2017-10-06 14:02   ` Daniel Vetter
  2017-10-06 10:57 ` [PATCH 2/2] drm/msm/mdp5: Remove extra pm_runtime_put call in mdp5_crtc_cursor_set() Archit Taneja
  2017-10-06 11:58 ` [PATCH 0/2] drm/msm: Some runtime PM fixes Nicolas Dechesne
  2 siblings, 1 reply; 8+ messages in thread
From: Archit Taneja @ 2017-10-06 10:57 UTC (permalink / raw)
  To: robdclark; +Cc: dri-devel, linux-arm-msm, Archit Taneja

The DSI runtime PM suspend/resume callbacks check whether
msm_host->cfg_hnd is non-NULL before trying to enable the bus clocks.
This is done to accommodate early calls to these functions that may
happen before the bus clocks are even initialized.

Calling pm_runtime_put_autosuspend() in dsi_host_init() can result in
racy behaviour since msm_host->cfg_hnd is set very soon after. If the
suspend callback happens too late, we end up trying to disable clocks
that were never enabled, resulting in a bunch of WARN_ON splats.

Use pm_runtime_put_sync() so that the suspend callback is called
immediately.

Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
---
 drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index dbb31a014419..deaf869374ea 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -248,7 +248,7 @@ static const struct msm_dsi_cfg_handler *dsi_get_config(
 	clk_disable_unprepare(ahb_clk);
 disable_gdsc:
 	regulator_disable(gdsc_reg);
-	pm_runtime_put_autosuspend(dev);
+	pm_runtime_put_sync(dev);
 put_clk:
 	clk_put(ahb_clk);
 put_gdsc:
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] drm/msm/mdp5: Remove extra pm_runtime_put call in mdp5_crtc_cursor_set()
  2017-10-06 10:57 [PATCH 0/2] drm/msm: Some runtime PM fixes Archit Taneja
  2017-10-06 10:57 ` [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init Archit Taneja
@ 2017-10-06 10:57 ` Archit Taneja
  2017-10-06 11:58 ` [PATCH 0/2] drm/msm: Some runtime PM fixes Nicolas Dechesne
  2 siblings, 0 replies; 8+ messages in thread
From: Archit Taneja @ 2017-10-06 10:57 UTC (permalink / raw)
  To: robdclark; +Cc: dri-devel, linux-arm-msm, Archit Taneja

While converting mdp5_enable/disable() calls to pm_runtime_get/put() API,
an extra call to pm_runtime_put_autosuspend() crept in
mdp5_crtc_cursor_set(). This results in calling the suspend handler
twice, and therefore clk_disables twice, which isn't a nice thing to do.

Fixes: d68fe15b1878 (drm/msm/mdp5: Use runtime PM get/put API instead ...)

Reported-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
---
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index 6fcb58ab718c..440977677001 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -804,8 +804,6 @@ static int mdp5_crtc_cursor_set(struct drm_crtc *crtc,
 
 	spin_unlock_irqrestore(&mdp5_crtc->cursor.lock, flags);
 
-	pm_runtime_put_autosuspend(&pdev->dev);
-
 set_cursor:
 	ret = mdp5_ctl_set_cursor(ctl, pipeline, 0, cursor_enable);
 	if (ret) {
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] drm/msm: Some runtime PM fixes
  2017-10-06 10:57 [PATCH 0/2] drm/msm: Some runtime PM fixes Archit Taneja
  2017-10-06 10:57 ` [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init Archit Taneja
  2017-10-06 10:57 ` [PATCH 2/2] drm/msm/mdp5: Remove extra pm_runtime_put call in mdp5_crtc_cursor_set() Archit Taneja
@ 2017-10-06 11:58 ` Nicolas Dechesne
  2 siblings, 0 replies; 8+ messages in thread
From: Nicolas Dechesne @ 2017-10-06 11:58 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Rob Clark, dri-devel, linux-arm-msm

On Fri, Oct 6, 2017 at 12:57 PM, Archit Taneja <architt@codeaurora.org> wrote:
> Runtime PM was added in 4.14. These patches fix a couple of issues
> reported by people trying out the new kernel on DB410c.
>
> These should ideally go in one of the 4.14-rcs.
>
> Archit Taneja (2):
>   drm/msm/dsi: Use correct pm_runtime_put variant during host_init
>   drm/msm/mdp5: Remove extra pm_runtime_put call in
>     mdp5_crtc_cursor_set()
>

thanks. tested both patches on db410c and it fixes the issues we
discussed yesterday.  i can run glmark2 now with openbox. as such,

Tested-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>

>  drivers/gpu/drm/msm/dsi/dsi_host.c       | 2 +-
>  drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 --
>  2 files changed, 1 insertion(+), 3 deletions(-)
>
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  2017-10-06 10:57 ` [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init Archit Taneja
@ 2017-10-06 14:02   ` Daniel Vetter
  2017-10-10  3:28     ` Archit Taneja
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2017-10-06 14:02 UTC (permalink / raw)
  To: Archit Taneja; +Cc: robdclark, linux-arm-msm, dri-devel

On Fri, Oct 06, 2017 at 04:27:06PM +0530, Archit Taneja wrote:
> The DSI runtime PM suspend/resume callbacks check whether
> msm_host->cfg_hnd is non-NULL before trying to enable the bus clocks.
> This is done to accommodate early calls to these functions that may
> happen before the bus clocks are even initialized.
> 
> Calling pm_runtime_put_autosuspend() in dsi_host_init() can result in
> racy behaviour since msm_host->cfg_hnd is set very soon after. If the
> suspend callback happens too late, we end up trying to disable clocks
> that were never enabled, resulting in a bunch of WARN_ON splats.

Sounds like the correct fix here is to block autosuspend until after
everything is set up, including bus clocks. This patch just makes the race
harder to hit in practice ...
-Daniel

> 
> Use pm_runtime_put_sync() so that the suspend callback is called
> immediately.
> 
> Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
> Signed-off-by: Archit Taneja <architt@codeaurora.org>
> ---
>  drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index dbb31a014419..deaf869374ea 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -248,7 +248,7 @@ static const struct msm_dsi_cfg_handler *dsi_get_config(
>  	clk_disable_unprepare(ahb_clk);
>  disable_gdsc:
>  	regulator_disable(gdsc_reg);
> -	pm_runtime_put_autosuspend(dev);
> +	pm_runtime_put_sync(dev);
>  put_clk:
>  	clk_put(ahb_clk);
>  put_gdsc:
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  2017-10-06 14:02   ` Daniel Vetter
@ 2017-10-10  3:28     ` Archit Taneja
  2017-10-10  8:59       ` Daniel Vetter
  0 siblings, 1 reply; 8+ messages in thread
From: Archit Taneja @ 2017-10-10  3:28 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: linux-arm-msm, dri-devel



On 10/06/2017 07:32 PM, Daniel Vetter wrote:
> On Fri, Oct 06, 2017 at 04:27:06PM +0530, Archit Taneja wrote:
>> The DSI runtime PM suspend/resume callbacks check whether
>> msm_host->cfg_hnd is non-NULL before trying to enable the bus clocks.
>> This is done to accommodate early calls to these functions that may
>> happen before the bus clocks are even initialized.
>>
>> Calling pm_runtime_put_autosuspend() in dsi_host_init() can result in
>> racy behaviour since msm_host->cfg_hnd is set very soon after. If the
>> suspend callback happens too late, we end up trying to disable clocks
>> that were never enabled, resulting in a bunch of WARN_ON splats.
> 
> Sounds like the correct fix here is to block autosuspend until after
> everything is set up, including bus clocks. This patch just makes the race
> harder to hit in practice ...

Thanks for the review. pm_runtime_put_sync() ensures that the suspend handler
is called in the same context as that of the caller, right? msm_host->cfg_hnd
is set to a non-NULL value only when we return from dsi_get_config(). The race
would never happen in this case.

This call is a one time thing during DSI probe, we do a pm_runtime_get_sync()
just so that we can read the block revision number. Once we have the revision
number, we look at an internal table which maintains IP version specific
resources, like what bus clocks to get, etc. Having pm_runtime_put_autosuspend()
here didn't help much anyway.

Archit


> -Daniel
> 
>>
>> Use pm_runtime_put_sync() so that the suspend callback is called
>> immediately.
>>
>> Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
>> Signed-off-by: Archit Taneja <architt@codeaurora.org>
>> ---
>>   drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
>> index dbb31a014419..deaf869374ea 100644
>> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
>> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
>> @@ -248,7 +248,7 @@ static const struct msm_dsi_cfg_handler *dsi_get_config(
>>   	clk_disable_unprepare(ahb_clk);
>>   disable_gdsc:
>>   	regulator_disable(gdsc_reg);
>> -	pm_runtime_put_autosuspend(dev);
>> +	pm_runtime_put_sync(dev);
>>   put_clk:
>>   	clk_put(ahb_clk);
>>   put_gdsc:
>> -- 
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> hosted by The Linux Foundation
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  2017-10-10  3:28     ` Archit Taneja
@ 2017-10-10  8:59       ` Daniel Vetter
  2017-10-10 12:07         ` Rob Clark
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2017-10-10  8:59 UTC (permalink / raw)
  To: Archit Taneja; +Cc: Daniel Vetter, robdclark, linux-arm-msm, dri-devel

On Tue, Oct 10, 2017 at 08:58:03AM +0530, Archit Taneja wrote:
> 
> 
> On 10/06/2017 07:32 PM, Daniel Vetter wrote:
> > On Fri, Oct 06, 2017 at 04:27:06PM +0530, Archit Taneja wrote:
> > > The DSI runtime PM suspend/resume callbacks check whether
> > > msm_host->cfg_hnd is non-NULL before trying to enable the bus clocks.
> > > This is done to accommodate early calls to these functions that may
> > > happen before the bus clocks are even initialized.
> > > 
> > > Calling pm_runtime_put_autosuspend() in dsi_host_init() can result in
> > > racy behaviour since msm_host->cfg_hnd is set very soon after. If the
> > > suspend callback happens too late, we end up trying to disable clocks
> > > that were never enabled, resulting in a bunch of WARN_ON splats.
> > 
> > Sounds like the correct fix here is to block autosuspend until after
> > everything is set up, including bus clocks. This patch just makes the race
> > harder to hit in practice ...
> 
> Thanks for the review. pm_runtime_put_sync() ensures that the suspend handler
> is called in the same context as that of the caller, right? msm_host->cfg_hnd
> is set to a non-NULL value only when we return from dsi_get_config(). The race
> would never happen in this case.
> 
> This call is a one time thing during DSI probe, we do a pm_runtime_get_sync()
> just so that we can read the block revision number. Once we have the revision
> number, we look at an internal table which maintains IP version specific
> resources, like what bus clocks to get, etc. Having pm_runtime_put_autosuspend()
> here didn't help much anyway.

Maybe this stuff is different on arm than on pci, but on x86 you have to
explicitly enable autosuspend. Before that, the device stays on.

What I mean with properly fixing this, is to delay enabling of autosuspend
until you're fully set up. Which then allows you to drop the check for
clocks and other stuff.

For i915, what we do is hold an artificial runtime pm reference that we
grab first thing in ->probe and drop only once everything is fully set up
(including asynchronous workers that load firmware). That way we make sure
that our runtime pm code never sees a partially initiliazed driver.

Doing something similar sounds best too, i.e. instead of dropping the
runtime pm reference here, only drop it once dsi_get_config has been
called. Pronto, no race, no need for special functions.
-Daniel

> 
> Archit
> 
> 
> > -Daniel
> > 
> > > 
> > > Use pm_runtime_put_sync() so that the suspend callback is called
> > > immediately.
> > > 
> > > Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
> > > Signed-off-by: Archit Taneja <architt@codeaurora.org>
> > > ---
> > >   drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
> > > index dbb31a014419..deaf869374ea 100644
> > > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> > > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> > > @@ -248,7 +248,7 @@ static const struct msm_dsi_cfg_handler *dsi_get_config(
> > >   	clk_disable_unprepare(ahb_clk);
> > >   disable_gdsc:
> > >   	regulator_disable(gdsc_reg);
> > > -	pm_runtime_put_autosuspend(dev);
> > > +	pm_runtime_put_sync(dev);
> > >   put_clk:
> > >   	clk_put(ahb_clk);
> > >   put_gdsc:
> > > -- 
> > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> > > hosted by The Linux Foundation
> > > 
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > 
> 
> -- 
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init
  2017-10-10  8:59       ` Daniel Vetter
@ 2017-10-10 12:07         ` Rob Clark
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Clark @ 2017-10-10 12:07 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: linux-arm-msm, dri-devel

On Tue, Oct 10, 2017 at 4:59 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Tue, Oct 10, 2017 at 08:58:03AM +0530, Archit Taneja wrote:
>>
>>
>> On 10/06/2017 07:32 PM, Daniel Vetter wrote:
>> > On Fri, Oct 06, 2017 at 04:27:06PM +0530, Archit Taneja wrote:
>> > > The DSI runtime PM suspend/resume callbacks check whether
>> > > msm_host->cfg_hnd is non-NULL before trying to enable the bus clocks.
>> > > This is done to accommodate early calls to these functions that may
>> > > happen before the bus clocks are even initialized.
>> > >
>> > > Calling pm_runtime_put_autosuspend() in dsi_host_init() can result in
>> > > racy behaviour since msm_host->cfg_hnd is set very soon after. If the
>> > > suspend callback happens too late, we end up trying to disable clocks
>> > > that were never enabled, resulting in a bunch of WARN_ON splats.
>> >
>> > Sounds like the correct fix here is to block autosuspend until after
>> > everything is set up, including bus clocks. This patch just makes the race
>> > harder to hit in practice ...
>>
>> Thanks for the review. pm_runtime_put_sync() ensures that the suspend handler
>> is called in the same context as that of the caller, right? msm_host->cfg_hnd
>> is set to a non-NULL value only when we return from dsi_get_config(). The race
>> would never happen in this case.
>>
>> This call is a one time thing during DSI probe, we do a pm_runtime_get_sync()
>> just so that we can read the block revision number. Once we have the revision
>> number, we look at an internal table which maintains IP version specific
>> resources, like what bus clocks to get, etc. Having pm_runtime_put_autosuspend()
>> here didn't help much anyway.
>
> Maybe this stuff is different on arm than on pci, but on x86 you have to
> explicitly enable autosuspend. Before that, the device stays on.

On arm, we cannot assume that clks are enabled ever unless we've
enabled them.  And unclocked register access is insta-reboot.
Although we probably shouldn't be using _autosuspend() on the display
side of things.  It makes sense for the gpu, where "booting up" the
gpu is a heavier process and we might want to keep things alive for a
bit longer incase another submit comes in.

BR,
-R

> What I mean with properly fixing this, is to delay enabling of autosuspend
> until you're fully set up. Which then allows you to drop the check for
> clocks and other stuff.
>
> For i915, what we do is hold an artificial runtime pm reference that we
> grab first thing in ->probe and drop only once everything is fully set up
> (including asynchronous workers that load firmware). That way we make sure
> that our runtime pm code never sees a partially initiliazed driver.
>
> Doing something similar sounds best too, i.e. instead of dropping the
> runtime pm reference here, only drop it once dsi_get_config has been
> called. Pronto, no race, no need for special functions.
> -Daniel
>
>>
>> Archit
>>
>>
>> > -Daniel
>> >
>> > >
>> > > Use pm_runtime_put_sync() so that the suspend callback is called
>> > > immediately.
>> > >
>> > > Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
>> > > Signed-off-by: Archit Taneja <architt@codeaurora.org>
>> > > ---
>> > >   drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
>> > >   1 file changed, 1 insertion(+), 1 deletion(-)
>> > >
>> > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
>> > > index dbb31a014419..deaf869374ea 100644
>> > > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
>> > > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
>> > > @@ -248,7 +248,7 @@ static const struct msm_dsi_cfg_handler *dsi_get_config(
>> > >           clk_disable_unprepare(ahb_clk);
>> > >   disable_gdsc:
>> > >           regulator_disable(gdsc_reg);
>> > > - pm_runtime_put_autosuspend(dev);
>> > > + pm_runtime_put_sync(dev);
>> > >   put_clk:
>> > >           clk_put(ahb_clk);
>> > >   put_gdsc:
>> > > --
>> > > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> > > hosted by The Linux Foundation
>> > >
>> > > _______________________________________________
>> > > dri-devel mailing list
>> > > dri-devel@lists.freedesktop.org
>> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>> >
>>
>> --
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-10-10 12:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-06 10:57 [PATCH 0/2] drm/msm: Some runtime PM fixes Archit Taneja
2017-10-06 10:57 ` [PATCH 1/2] drm/msm/dsi: Use correct pm_runtime_put variant during host_init Archit Taneja
2017-10-06 14:02   ` Daniel Vetter
2017-10-10  3:28     ` Archit Taneja
2017-10-10  8:59       ` Daniel Vetter
2017-10-10 12:07         ` Rob Clark
2017-10-06 10:57 ` [PATCH 2/2] drm/msm/mdp5: Remove extra pm_runtime_put call in mdp5_crtc_cursor_set() Archit Taneja
2017-10-06 11:58 ` [PATCH 0/2] drm/msm: Some runtime PM fixes Nicolas Dechesne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.