Vblank interrupt fires as soon as the last line of active region is scanned out.
VSync interrupt fires at the vsync.
VUpdate interrupt fires HW is ready to scan out a new frame, this include latch 
on double buffer registers, starting memory request etc.

We use VUpdate to accommodate free sync, as in free sync, blank region is 
variable and a frame can be terminate as soon as new surface address is written 
to register.  If we use vblank interrupt will be fired too early and might not 
stretch frame time properly.

Dal/dc does not manage any interrupt as dc is architected to behave more like a 
helper.  Dal/amdgpu_dm is the glue code and does interrupt registration and 
handling of interrupt.  I think us DAL guys might not have the full 
understanding of DRM vblank machinery.  Is there some document we can go read 
up on to make sure all our assumption is correct?  From our perspective it 
seems some of the DRM vblank machinery (or the way we implement them) is 
redundant as our HW can do things that we queue off a work item to do 
automatically if we configure the HW correctly.

-----Original Message-----
From: Wentland, Harry 
Sent: Wednesday, January 11, 2017 9:51 AM
To: Michel Dänzer <mic...@daenzer.net>; Andy Furniss <adf.li...@gmail.com>; 
Nayan Deshmukh <nayan26deshm...@gmail.com>
Cc: ML mesa-dev <mesa-dev@lists.freedesktop.org>; Cheng, Tony 
<tony.ch...@amd.com>
Subject: Re: [Mesa-dev] [PATCH 1/3] vl/dri3: use external texture as back 
buffers(v4)

On 2017-01-11 12:50 AM, Michel Dänzer wrote:
> On 10/01/17 09:07 PM, Andy Furniss wrote:
>> Andy Furniss wrote:
>>
>>> Though recent testing shows this is not true with DAL/DC on 3.7 - 
>>> todo test DC on new drm-next branch.
>>
>> todo done, DC for some reason on both amd-staging-4.7 and 
>> amd-staging-drm-next is "slower" = the tear region is 2 to 3 times 
>> larger than non DC kernel with powerplay auto. With high it is 
>> smaller but still present.
>
> This particular issue is because DC uses the GPU's VUPDATE interrupt 
> instead of the VBLANK interrupt to drive the DRM vblank machinery. The 
> result is that userspace is only notified of a vertical blank period 
> when it's already over, so it doesn't get a chance to do anything 
> inside the vertical blank period.
>
>

Adding Tony for comment on why DC behaves the way it does.

Harry
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to