diff options
author | Aric Cyr <Aric.Cyr@amd.com> | 2025-01-09 23:03:48 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2025-01-24 17:56:22 +0300 |
commit | 01130f5260e5868fb6b15ab8c00dbc894139f48e (patch) | |
tree | 58e65b35b1bb2373c66d2a9a1e22b72af30a49f1 /drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | |
parent | 335acfb64eb88eb638e2adc8ba5bfa530f2dd20d (diff) | |
download | linux-01130f5260e5868fb6b15ab8c00dbc894139f48e.tar.xz |
drm/amd/display: Add hubp cache reset when powergating
[Why]
When HUBP is power gated, the SW state can get out of sync with the
hardware state causing cursor to not be programmed correctly.
[How]
Similar to DPP, add a HUBP reset function which is called wherever
HUBP is initialized or powergated. This function will clear the cursor
position and attribute cache allowing for proper programming when the
HUBP is brought back up.
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: Sung Lee <sung.lee@amd.com>
Signed-off-by: Aric Cyr <Aric.Cyr@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h index 2a530a4a39f7..b610beb075d5 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h @@ -163,6 +163,8 @@ struct hubp_funcs { void (*dcc_control)(struct hubp *hubp, bool enable, enum hubp_ind_block_size blk_size); + void (*hubp_reset)(struct hubp *hubp); + void (*mem_program_viewport)( struct hubp *hubp, const struct rect *viewport, |