[PATCH v2 00/12] Update DC commit sequence

Harry Wentland harry.wentland at amd.com
Tue Oct 18 19:14:31 UTC 2022



On 2022-10-18 08:28, Rodrigo Siqueira wrote:
> Year after year, DC adds new features and expands its support to
> components already available for multiple users. As a result of this
> constant growth, we start to see some issues associated with the current
> commit state, which is a little bit simplistic for DC needs and lacks
> robustness. It is time to expand the current commit state to represent
> the DC organization better and make it more robust.
> 
> This patchset evolves the function dc_commit_state to a new function
> named dc_commit_streams by adding a step-by-step change. Current,
> amdgpu_dm tries to commit a validation state directly into update_planes
> and commit_streams. However, we want to avoid committing the state
> directly into DC; instead, we only want to pass streams/plane pointers
> into DC and let it manage the commit state entirely. This behavior is
> more future-proof because it keeps the state manipulation inside DC,
> which can benefit some specific features that might want to play with
> the context state.
> 
> This patchset is organized in the following manner:
> 
> 1. It starts with some adjustments in a generic function to address some
> edge cases and a function rework to enable the transition for the new
> commit sequence.
> 2. It adds one commit that duplicates dc_commit_state into a new
> function named dc_commit_streams and a code patch change in case of
> ASICs based on DCN32x or superior.
> 3. It added a series of commit that expand the dc_commit_streams to
> handing multiple scenarios.
> 4. Finally, the last part of this series adds patches required to make
> SubVP work as expected on DC32x and above
> 
> Thanks
> Siqueira
> 

I left a couple comments that we should follow up on but in order to
unblock SubVP I'm okay to take this in its current form (i.e. for Navi 3x
only). Please follow up on my other questions as part of the work to
switch all ASICs to the new sequence.

Thanks, also for splitting this into smaller chunks. If we see any
fallout it lets us bisect the problem a lot better.

Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

> Aurabindo Pillai (1):
>   drm/amd/display: Move dc_state copy in commit_tail after
>     dc_commit_state
> 
> Rodrigo Siqueira (11):
>   drm/amd/display: Check if link state is valid
>   drm/amd/display: Rework context change check
>   drm/amd/display: Enable new commit sequence only for DCN32x
>   drm/amd/display: Copy DC context in the commit streams
>   drm/amd/display: Include surface of unaffected streams
>   drm/amd/display: Handle virtual hardware detect
>   drm/amd/display: Add function for validate and update new stream
>   drm/amd/display: Handle seamless boot stream
>   drm/amd/display: Update OTG instance in the commit stream
>   drm/amd/display: Avoid ABM when ODM combine is enabled for eDP
>   drm/amd/display: Use update plane and stream routine for DCN32x
> 
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  17 +-
>  drivers/gpu/drm/amd/display/dc/core/dc.c      | 122 ++++++++-
>  .../gpu/drm/amd/display/dc/core/dc_resource.c | 234 +++++++++++++++++-
>  drivers/gpu/drm/amd/display/dc/dc.h           |  36 ++-
>  drivers/gpu/drm/amd/display/dc/dc_stream.h    |   4 +
>  5 files changed, 384 insertions(+), 29 deletions(-)
> 



More information about the amd-gfx mailing list