All of lore.kernel.org
 help / color / mirror / Atom feed
* Support for early wakeup in DRM
@ 2020-02-20 18:45 jsanka
  2020-02-20 20:14 ` Daniel Vetter
  0 siblings, 1 reply; 5+ messages in thread
From: jsanka @ 2020-02-20 18:45 UTC (permalink / raw)
  To: 'Sean Paul', 'Rob Clark', dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1177 bytes --]

Hello All, 

I am seeking recommendations for DRM compatible methods of updating the HW
other than frame commit path. When exiting idle/runtime_suspend, the driver
votes for a bunch of resources including power/clk/bandwidth as a part of
first commit handling. This usually adds a few millisecond delay before
processing the frame. The requirement is to find possible ways to reduce
this delay by providing an early intimation to the framework to "prepare"
the HW by voting for the resources and keep the HW ready to process an
imminent frame commit. Especially in performance oriented Automotive world,
these delays are very time critical and we are working on ways to mitigate
them.  

 

DRM framework converges all the parameters affecting the HW in terms of DRM
properties in a single COMMIT call. To address the above issue, we need a
parallel channel which should allow the framework to make necessary changes
to the HW without violating the master access privileges. 

 

Before resorting to custom downstream ways, I want to check with the
community for folks who might have encountered and resolved such issues.

 

Thanks and Regards,

Jeykumar S

Qualcomm Inc.

 


[-- Attachment #1.2: Type: text/html, Size: 3473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: Support for early wakeup in DRM
  2020-02-20 18:45 Support for early wakeup in DRM jsanka
@ 2020-02-20 20:14 ` Daniel Vetter
  2020-02-20 21:24   ` jsanka
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2020-02-20 20:14 UTC (permalink / raw)
  To: jsanka; +Cc: 'Sean Paul', dri-devel

On Thu, Feb 20, 2020 at 10:45:57AM -0800, jsanka@codeaurora.org wrote:
> Hello All, 
> 
> I am seeking recommendations for DRM compatible methods of updating the HW
> other than frame commit path. When exiting idle/runtime_suspend, the driver
> votes for a bunch of resources including power/clk/bandwidth as a part of
> first commit handling. This usually adds a few millisecond delay before
> processing the frame. The requirement is to find possible ways to reduce
> this delay by providing an early intimation to the framework to "prepare"
> the HW by voting for the resources and keep the HW ready to process an
> imminent frame commit. Especially in performance oriented Automotive world,
> these delays are very time critical and we are working on ways to mitigate
> them.  
> 
>  
> 
> DRM framework converges all the parameters affecting the HW in terms of DRM
> properties in a single COMMIT call. To address the above issue, we need a
> parallel channel which should allow the framework to make necessary changes
> to the HW without violating the master access privileges. 
> 
>  
> 
> Before resorting to custom downstream ways, I want to check with the
> community for folks who might have encountered and resolved such issues.

Just enable the display, which will grab all the clocks and everything?
Once the display is on a commit should be possible on the next frame, at
least for well-working drivers.
-Daniel

> 
>  
> 
> Thanks and Regards,
> 
> Jeykumar S
> 
> Qualcomm Inc.
> 
>  
> 

> _______________________________________________
> 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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: Support for early wakeup in DRM
  2020-02-20 20:14 ` Daniel Vetter
@ 2020-02-20 21:24   ` jsanka
  2020-02-21 17:20     ` Daniel Vetter
  0 siblings, 1 reply; 5+ messages in thread
From: jsanka @ 2020-02-20 21:24 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: 'Sean Paul', dri-devel

On 2020-02-20 12:14, Daniel Vetter wrote:
> On Thu, Feb 20, 2020 at 10:45:57AM -0800, jsanka@codeaurora.org wrote:
>> Hello All,
>> 
>> I am seeking recommendations for DRM compatible methods of updating 
>> the
> HW
>> other than frame commit path. When exiting idle/runtime_suspend, the
> driver
>> votes for a bunch of resources including power/clk/bandwidth as a part
> of
>> first commit handling. This usually adds a few millisecond delay 
>> before
>> processing the frame. The requirement is to find possible ways to 
>> reduce
>> this delay by providing an early intimation to the framework to
> "prepare"
>> the HW by voting for the resources and keep the HW ready to process an
>> imminent frame commit. Especially in performance oriented Automotive
> world,
>> these delays are very time critical and we are working on ways to
> mitigate
>> them.
>> 
>> 
>> 
>> DRM framework converges all the parameters affecting the HW in terms 
>> of
> DRM
>> properties in a single COMMIT call. To address the above issue, we 
>> need
> a
>> parallel channel which should allow the framework to make necessary
> changes
>> to the HW without violating the master access privileges.
>> 
>> 
>> 
>> Before resorting to custom downstream ways, I want to check with the
>> community for folks who might have encountered and resolved such 
>> issues.
> 
> Just enable the display, which will grab all the clocks and everything?
> Once the display is on a commit should be possible on the next frame, 
> at
> least for well-working drivers.
> -Daniel
> 
I believe even to turn on the display, DRM will need an explicit commit 
(probably without any planes/pixel buffers). For cases like smart 
panels, where we can keep the panel on(panel internal RAM refresh) and 
power collapse the display HW, resuming back with an explicit commit 
will push a black (or default color programmed in the HW) frame causing 
a glitch.

Thanks and Regards,
Jeykumar S.
>> 
>> 
>> 
>> Thanks and Regards,
>> 
>> Jeykumar S
>> 
>> Qualcomm Inc.
>> 
>> 
>> 
> 
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: Support for early wakeup in DRM
  2020-02-20 21:24   ` jsanka
@ 2020-02-21 17:20     ` Daniel Vetter
  2020-02-22 20:10       ` jsanka
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2020-02-21 17:20 UTC (permalink / raw)
  To: jsanka; +Cc: 'Sean Paul', dri-devel

On Thu, Feb 20, 2020 at 01:24:00PM -0800, jsanka@codeaurora.org wrote:
> On 2020-02-20 12:14, Daniel Vetter wrote:
> > On Thu, Feb 20, 2020 at 10:45:57AM -0800, jsanka@codeaurora.org wrote:
> > > Hello All,
> > > 
> > > I am seeking recommendations for DRM compatible methods of updating
> > > the
> > HW
> > > other than frame commit path. When exiting idle/runtime_suspend, the
> > driver
> > > votes for a bunch of resources including power/clk/bandwidth as a part
> > of
> > > first commit handling. This usually adds a few millisecond delay
> > > before
> > > processing the frame. The requirement is to find possible ways to
> > > reduce
> > > this delay by providing an early intimation to the framework to
> > "prepare"
> > > the HW by voting for the resources and keep the HW ready to process an
> > > imminent frame commit. Especially in performance oriented Automotive
> > world,
> > > these delays are very time critical and we are working on ways to
> > mitigate
> > > them.
> > > 
> > > 
> > > 
> > > DRM framework converges all the parameters affecting the HW in terms
> > > of
> > DRM
> > > properties in a single COMMIT call. To address the above issue, we
> > > need
> > a
> > > parallel channel which should allow the framework to make necessary
> > changes
> > > to the HW without violating the master access privileges.
> > > 
> > > 
> > > 
> > > Before resorting to custom downstream ways, I want to check with the
> > > community for folks who might have encountered and resolved such
> > > issues.
> > 
> > Just enable the display, which will grab all the clocks and everything?
> > Once the display is on a commit should be possible on the next frame, at
> > least for well-working drivers.
> > -Daniel
> > 
> I believe even to turn on the display, DRM will need an explicit commit
> (probably without any planes/pixel buffers). For cases like smart panels,
> where we can keep the panel on(panel internal RAM refresh) and power
> collapse the display HW, resuming back with an explicit commit will push a
> black (or default color programmed in the HW) frame causing a glitch.

Uh, you might want to look into the self-refresh helpers, which do this
without black frames and stuff.

But yeah if there's really a gap here (and not just you folks creatively
abusing atomic kms in ways that it was not meant to be used) then we can
add a property that forbids power optimization and guarantee that you can
do the next screen update immediately. And then we can merge that with all
the usual requirements (driver implementation that works, open source
userspace, igt testcase, the full deal).

But it still feels like you're trying to do something automatically that's
not meant to work like this.

Cheers, Daniel

> 
> Thanks and Regards,
> Jeykumar S.
> > > 
> > > 
> > > 
> > > Thanks and Regards,
> > > 
> > > Jeykumar S
> > > 
> > > Qualcomm Inc.
> > > 
> > > 
> > > 
> > 
> > > _______________________________________________
> > > 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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: Support for early wakeup in DRM
  2020-02-21 17:20     ` Daniel Vetter
@ 2020-02-22 20:10       ` jsanka
  0 siblings, 0 replies; 5+ messages in thread
From: jsanka @ 2020-02-22 20:10 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: 'Sean Paul', dri-devel

On 2020-02-21 09:20, Daniel Vetter wrote:
> On Thu, Feb 20, 2020 at 01:24:00PM -0800, jsanka@codeaurora.org wrote:
>> On 2020-02-20 12:14, Daniel Vetter wrote:
>> > On Thu, Feb 20, 2020 at 10:45:57AM -0800, jsanka@codeaurora.org wrote:
>> > > Hello All,
>> > >
>> > > I am seeking recommendations for DRM compatible methods of updating
>> > > the
>> > HW
>> > > other than frame commit path. When exiting idle/runtime_suspend, the
>> > driver
>> > > votes for a bunch of resources including power/clk/bandwidth as a
> part
>> > of
>> > > first commit handling. This usually adds a few millisecond delay
>> > > before
>> > > processing the frame. The requirement is to find possible ways to
>> > > reduce
>> > > this delay by providing an early intimation to the framework to
>> > "prepare"
>> > > the HW by voting for the resources and keep the HW ready to process
> an
>> > > imminent frame commit. Especially in performance oriented Automotive
>> > world,
>> > > these delays are very time critical and we are working on ways to
>> > mitigate
>> > > them.
>> > >
>> > >
>> > >
>> > > DRM framework converges all the parameters affecting the HW in terms
>> > > of
>> > DRM
>> > > properties in a single COMMIT call. To address the above issue, we
>> > > need
>> > a
>> > > parallel channel which should allow the framework to make necessary
>> > changes
>> > > to the HW without violating the master access privileges.
>> > >
>> > >
>> > >
>> > > Before resorting to custom downstream ways, I want to check with the
>> > > community for folks who might have encountered and resolved such
>> > > issues.
>> >
>> > Just enable the display, which will grab all the clocks and
> everything?
>> > Once the display is on a commit should be possible on the next frame,
> at
>> > least for well-working drivers.
>> > -Daniel
>> >
>> I believe even to turn on the display, DRM will need an explicit 
>> commit
>> (probably without any planes/pixel buffers). For cases like smart
> panels,
>> where we can keep the panel on(panel internal RAM refresh) and power
>> collapse the display HW, resuming back with an explicit commit will 
>> push
> a
>> black (or default color programmed in the HW) frame causing a glitch.
> 
> Uh, you might want to look into the self-refresh helpers, which do this
> without black frames and stuff.
> 

I believe you are referring to Sean's PSR changes: 
https://patchwork.freedesktop.org/series/57366/
Will take a look.

Thanks and Regards,
Jeykumar S.

> But yeah if there's really a gap here (and not just you folks 
> creatively
> abusing atomic kms in ways that it was not meant to be used) then we 
> can
> add a property that forbids power optimization and guarantee that you 
> can
> do the next screen update immediately. And then we can merge that with 
> all
> the usual requirements (driver implementation that works, open source
> userspace, igt testcase, the full deal).
> 
> But it still feels like you're trying to do something automatically 
> that's
> not meant to work like this.
> 
> Cheers, Daniel
> 
>> 
>> Thanks and Regards,
>> Jeykumar S.
>> > >
>> > >
>> > >
>> > > Thanks and Regards,
>> > >
>> > > Jeykumar S
>> > >
>> > > Qualcomm Inc.
>> > >
>> > >
>> > >
>> >
>> > > _______________________________________________
>> > > dri-devel mailing list
>> > > dri-devel@lists.freedesktop.org
>> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2020-02-22 20:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-20 18:45 Support for early wakeup in DRM jsanka
2020-02-20 20:14 ` Daniel Vetter
2020-02-20 21:24   ` jsanka
2020-02-21 17:20     ` Daniel Vetter
2020-02-22 20:10       ` jsanka

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.