All of lore.kernel.org
 help / color / mirror / Atom feed
* Water mark update need to wait for next VSYNC?
@ 2015-09-02 22:42 Xie, William
  2015-09-06 11:30 ` Zhi Wang
  0 siblings, 1 reply; 5+ messages in thread
From: Xie, William @ 2015-09-02 22:42 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org


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

Hi all,
 Can anyone educate me if water mark update need to wait for next VSYNC?
In other words, if we flip a frame to overlay for the first time,
it will be showed in the next VBlank as water mark update needs to wait for that?

Is this true or a bug?

Thanks
William

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

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: Water mark update need to wait for next VSYNC?
  2015-09-02 22:42 Water mark update need to wait for next VSYNC? Xie, William
@ 2015-09-06 11:30 ` Zhi Wang
  2015-09-06 11:50   ` Ville Syrjälä
  0 siblings, 1 reply; 5+ messages in thread
From: Zhi Wang @ 2015-09-06 11:30 UTC (permalink / raw)
  To: Xie, William, intel-gfx@lists.freedesktop.org

Hi William:
     There is a kind of display register marked as double-buffered. It 
means that HW will *not* latch the value in the register all the time. 
HW will only latch the value on the start of the vertical blank, or the 
time when pipe/plane are enabling.

So you will see some code pieces are waiting for frame count change 
after updating a register.

For WM registers, it should be double-buffered with armed attribute I 
believe. It means after writing the WM registers, you have to write 
another register to let the WM register become into "armed" state. After 
the register is "armed", HW will latch the value on the time point 
mentioned above.

So you should see in some code pieces, they write another register after 
updating the target register, then waits for the frame count change.

i.e update WM register -> update PLANE SURF register -> wait for frame 
count change

于 09/03/15 06:42, Xie, William 写道:
> Hi all,
>
>   Can anyone educate me if water mark update need to wait for next VSYNC?
>
> In other words, if we flip a frame to overlay for the first time,
>
> it will be showed in the next VBlank as water mark update needs to wait
> for that?
>
> Is this true or a bug?
>
> Thanks
>
> William
>
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: Water mark update need to wait for next VSYNC?
  2015-09-06 11:30 ` Zhi Wang
@ 2015-09-06 11:50   ` Ville Syrjälä
  2015-09-06 11:54     ` Zhi Wang
  2015-09-08 15:19     ` Xie, William
  0 siblings, 2 replies; 5+ messages in thread
From: Ville Syrjälä @ 2015-09-06 11:50 UTC (permalink / raw)
  To: Zhi Wang; +Cc: intel-gfx@lists.freedesktop.org

On Sun, Sep 06, 2015 at 07:30:26PM +0800, Zhi Wang wrote:
> Hi William:
>      There is a kind of display register marked as double-buffered. It 
> means that HW will *not* latch the value in the register all the time. 
> HW will only latch the value on the start of the vertical blank, or the 
> time when pipe/plane are enabling.
> 
> So you will see some code pieces are waiting for frame count change 
> after updating a register.
> 
> For WM registers, it should be double-buffered with armed attribute I 
> believe.

Only since SKL. Before that WM registers weren't double buffered.

> It means after writing the WM registers, you have to write 
> another register to let the WM register become into "armed" state. After 
> the register is "armed", HW will latch the value on the time point 
> mentioned above.
> 
> So you should see in some code pieces, they write another register after 
> updating the target register, then waits for the frame count change.
> 
> i.e update WM register -> update PLANE SURF register -> wait for frame 
> count change
> 
> 于 09/03/15 06:42, Xie, William 写道:
> > Hi all,
> >
> >   Can anyone educate me if water mark update need to wait for next VSYNC?
> >
> > In other words, if we flip a frame to overlay for the first time,
> >
> > it will be showed in the next VBlank as water mark update needs to wait
> > for that?
> >
> > Is this true or a bug?
> >
> > Thanks
> >
> > William
> >
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: Water mark update need to wait for next VSYNC?
  2015-09-06 11:50   ` Ville Syrjälä
@ 2015-09-06 11:54     ` Zhi Wang
  2015-09-08 15:19     ` Xie, William
  1 sibling, 0 replies; 5+ messages in thread
From: Zhi Wang @ 2015-09-06 11:54 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx@lists.freedesktop.org

Thanks Ville! Learned from you guys. :)

于 09/06/15 19:50, Ville Syrjälä 写道:
> On Sun, Sep 06, 2015 at 07:30:26PM +0800, Zhi Wang wrote:
>> Hi William:
>>       There is a kind of display register marked as double-buffered. It
>> means that HW will *not* latch the value in the register all the time.
>> HW will only latch the value on the start of the vertical blank, or the
>> time when pipe/plane are enabling.
>>
>> So you will see some code pieces are waiting for frame count change
>> after updating a register.
>>
>> For WM registers, it should be double-buffered with armed attribute I
>> believe.
>
> Only since SKL. Before that WM registers weren't double buffered.
>
>> It means after writing the WM registers, you have to write
>> another register to let the WM register become into "armed" state. After
>> the register is "armed", HW will latch the value on the time point
>> mentioned above.
>>
>> So you should see in some code pieces, they write another register after
>> updating the target register, then waits for the frame count change.
>>
>> i.e update WM register -> update PLANE SURF register -> wait for frame
>> count change
>>
>> 于 09/03/15 06:42, Xie, William 写道:
>>> Hi all,
>>>
>>>    Can anyone educate me if water mark update need to wait for next VSYNC?
>>>
>>> In other words, if we flip a frame to overlay for the first time,
>>>
>>> it will be showed in the next VBlank as water mark update needs to wait
>>> for that?
>>>
>>> Is this true or a bug?
>>>
>>> Thanks
>>>
>>> William
>>>
>>>
>>>
>>> _______________________________________________
>>> Intel-gfx mailing list
>>> Intel-gfx@lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: Water mark update need to wait for next VSYNC?
  2015-09-06 11:50   ` Ville Syrjälä
  2015-09-06 11:54     ` Zhi Wang
@ 2015-09-08 15:19     ` Xie, William
  1 sibling, 0 replies; 5+ messages in thread
From: Xie, William @ 2015-09-08 15:19 UTC (permalink / raw)
  To: ville.syrjala@linux.intel.com, Wang, Zhi A
  Cc: intel-gfx@lists.freedesktop.org

What's the difference if double-buffered with armed attribute?

William

-----Original Message-----
From: Ville Syrjälä [mailto:ville.syrjala@linux.intel.com] 
Sent: Sunday, September 06, 2015 7:50 PM
To: Wang, Zhi A
Cc: Xie, William; intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] Water mark update need to wait for next VSYNC?

On Sun, Sep 06, 2015 at 07:30:26PM +0800, Zhi Wang wrote:
> Hi William:
>      There is a kind of display register marked as double-buffered. It 
> means that HW will *not* latch the value in the register all the time.
> HW will only latch the value on the start of the vertical blank, or 
> the time when pipe/plane are enabling.
> 
> So you will see some code pieces are waiting for frame count change 
> after updating a register.
> 
> For WM registers, it should be double-buffered with armed attribute I 
> believe.

Only since SKL. Before that WM registers weren't double buffered.

> It means after writing the WM registers, you have to write another 
> register to let the WM register become into "armed" state. After the 
> register is "armed", HW will latch the value on the time point 
> mentioned above.
> 
> So you should see in some code pieces, they write another register 
> after updating the target register, then waits for the frame count change.
> 
> i.e update WM register -> update PLANE SURF register -> wait for frame 
> count change
> 
> 于 09/03/15 06:42, Xie, William 写道:
> > Hi all,
> >
> >   Can anyone educate me if water mark update need to wait for next VSYNC?
> >
> > In other words, if we flip a frame to overlay for the first time,
> >
> > it will be showed in the next VBlank as water mark update needs to 
> > wait for that?
> >
> > Is this true or a bug?
> >
> > Thanks
> >
> > William
> >
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2015-09-08 15:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-02 22:42 Water mark update need to wait for next VSYNC? Xie, William
2015-09-06 11:30 ` Zhi Wang
2015-09-06 11:50   ` Ville Syrjälä
2015-09-06 11:54     ` Zhi Wang
2015-09-08 15:19     ` Xie, William

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.