mbox series

[v10,0/2] drm/atomic: Ease async flip restrictions

Message ID 20241211-tonyk-async_flip-v10-0-6b1ff04847c2@igalia.com (mailing list archive)
Headers show
Series drm/atomic: Ease async flip restrictions | expand

Message

André Almeida Dec. 11, 2024, 3:25 a.m. UTC
Hi,

The goal of this work is to find a nice way to allow amdgpu to perform
async page flips in the overlay plane as well, not only on the primary
one. Currently, when using the atomic uAPI, this is the only type of
plane allowed to do async flips, and every driver accepts it.

This patchset re-uses the per-plane function atomic_async_check() to
this purpose, so drivers can allow different plane types. There's a
`bool flip` parameter so the atomic_async_check() can do different
decisions if it's a complete page flip or a plane update.

igt test: https://lore.kernel.org/igt-dev/20241211031820.115844-1-andrealmeid@igalia.com/

Changelog
 v9: https://lore.kernel.org/r/20241101-tonyk-async_flip-v9-0-681814efbfbe@igalia.com
 - Add a 'flip' flag to indicate where the atomic_async_check() is being called from.

 v8: https://lore.kernel.org/lkml/20240806135300.114469-1-andrealmeid@igalia.com/
 - Rebased on top of 6.12-rc1 (drm/drm-next)

 v7: https://lore.kernel.org/dri-devel/20240618030024.500532-1-andrealmeid@igalia.com/
 - Complete rewrite

---
André Almeida (2):
      drm/atomic: Let drivers decide which planes to async flip
      drm/amdgpu: Enable async flip on overlay planes

 .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c    | 11 ++++---
 drivers/gpu/drm/drm_atomic_helper.c                |  2 +-
 drivers/gpu/drm/drm_atomic_uapi.c                  | 37 ++++++++++++++++------
 drivers/gpu/drm/loongson/lsdc_plane.c              |  3 +-
 drivers/gpu/drm/mediatek/mtk_plane.c               |  2 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c         |  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c        |  2 +-
 drivers/gpu/drm/tegra/dc.c                         |  3 +-
 drivers/gpu/drm/vc4/vc4_plane.c                    |  2 +-
 include/drm/drm_modeset_helper_vtables.h           |  7 +++-
 10 files changed, 49 insertions(+), 22 deletions(-)
---
base-commit: c40c32cf71b90d85386fcc066c19feb23eb42804
change-id: 20241002-tonyk-async_flip-828cfe9cf3ca

Best regards,

Comments

Dmitry Baryshkov Dec. 11, 2024, 7:35 p.m. UTC | #1
On Wed, Dec 11, 2024 at 12:25:07AM -0300, André Almeida wrote:
> Hi,
> 
> The goal of this work is to find a nice way to allow amdgpu to perform
> async page flips in the overlay plane as well, not only on the primary
> one. Currently, when using the atomic uAPI, this is the only type of
> plane allowed to do async flips, and every driver accepts it.
> 
> This patchset re-uses the per-plane function atomic_async_check() to
> this purpose, so drivers can allow different plane types. There's a
> `bool flip` parameter so the atomic_async_check() can do different
> decisions if it's a complete page flip or a plane update.
> 
> igt test: https://lore.kernel.org/igt-dev/20241211031820.115844-1-andrealmeid@igalia.com/
> 
> Changelog
>  v9: https://lore.kernel.org/r/20241101-tonyk-async_flip-v9-0-681814efbfbe@igalia.com
>  - Add a 'flip' flag to indicate where the atomic_async_check() is being called from.

I think something went wrong. There is no changelog for v10 and also no
tags that you've got for v9.

> 
>  v8: https://lore.kernel.org/lkml/20240806135300.114469-1-andrealmeid@igalia.com/
>  - Rebased on top of 6.12-rc1 (drm/drm-next)
> 
>  v7: https://lore.kernel.org/dri-devel/20240618030024.500532-1-andrealmeid@igalia.com/
>  - Complete rewrite
> 
> ---
> André Almeida (2):
>       drm/atomic: Let drivers decide which planes to async flip
>       drm/amdgpu: Enable async flip on overlay planes
> 
>  .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c    | 11 ++++---
>  drivers/gpu/drm/drm_atomic_helper.c                |  2 +-
>  drivers/gpu/drm/drm_atomic_uapi.c                  | 37 ++++++++++++++++------
>  drivers/gpu/drm/loongson/lsdc_plane.c              |  3 +-
>  drivers/gpu/drm/mediatek/mtk_plane.c               |  2 +-
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c         |  2 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c        |  2 +-
>  drivers/gpu/drm/tegra/dc.c                         |  3 +-
>  drivers/gpu/drm/vc4/vc4_plane.c                    |  2 +-
>  include/drm/drm_modeset_helper_vtables.h           |  7 +++-
>  10 files changed, 49 insertions(+), 22 deletions(-)
> ---
> base-commit: c40c32cf71b90d85386fcc066c19feb23eb42804
> change-id: 20241002-tonyk-async_flip-828cfe9cf3ca
> 
> Best regards,
> -- 
> André Almeida <andrealmeid@igalia.com>
>
André Almeida Dec. 11, 2024, 10:35 p.m. UTC | #2
Hi Dmitry,

Em 11/12/2024 16:35, Dmitry Baryshkov escreveu:
> On Wed, Dec 11, 2024 at 12:25:07AM -0300, André Almeida wrote:
>> Hi,
>>
>> The goal of this work is to find a nice way to allow amdgpu to perform
>> async page flips in the overlay plane as well, not only on the primary
>> one. Currently, when using the atomic uAPI, this is the only type of
>> plane allowed to do async flips, and every driver accepts it.
>>
>> This patchset re-uses the per-plane function atomic_async_check() to
>> this purpose, so drivers can allow different plane types. There's a
>> `bool flip` parameter so the atomic_async_check() can do different
>> decisions if it's a complete page flip or a plane update.
>>
>> igt test: https://lore.kernel.org/igt-dev/20241211031820.115844-1-andrealmeid@igalia.com/
>>
>> Changelog
>>   v9: https://lore.kernel.org/r/20241101-tonyk-async_flip-v9-0-681814efbfbe@igalia.com
>>   - Add a 'flip' flag to indicate where the atomic_async_check() is being called from.
> 
> I think something went wrong. There is no changelog for v10 and also no
> tags that you've got for v9.
> 

I have type the numbers wrongly, this is the changelog for v10, but I 
forgot the tags, I will send a v11 with the correct changelog and tags.

Thanks!