drm/amd/display: Decouple HUBP_UPDATE_PLANE_ADDR from pipe_ctx

[Why]
Every HWSS Block Level Sequence operation should have flat parameter list
and an explicit instance pointer. Global state should not be accessed at
execute time.

HUBP_UPDATE_PLANE_ADDR does not adhere. It stashes pipe_ctx in its params.
Pipe context is mutated during execution.

[How]
- Adjust HUBP_UPDATE_PLANE_ADDR params to hubp_program_surface_flip_and_addr
  parameter list.
- Add a build-phase hwss vtable entry - prepare_plane_addr_update that does
  parameter preparation and all global state mutation.
- Execute hubp_program_surface_flip_and_addr with precalculated parameters
  during execution phase.

Reviewed-by: Rafal Ostrowski <rafal.ostrowski@amd.com>
Signed-off-by: Tomasz Siemek <tomasz.siemek@amd.com>
Signed-off-by: Chenyu Chen <chen-yu.chen@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Tomasz Siemek 2026-09-02 20:40:41 +02:00 • committed by Alex Deucher
commit 20d78472ee
22 changed files with 105 additions and 26 deletions