mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
drm/amd/display: Clear the CUR_ENABLE register on DCN20 on DPP5
commit 5bab4c8939 upstream.
[Why]
On DCN20 & DCN30, the 6th DPP's & HUBP's are powered on permanently and
cannot be power gated. Thus, when dpp_reset() is invoked for the DPP5,
while it's still powered on, the cached cursor_state
(dpp_base->pos.cur0_ctl.bits.cur0_enable)
and the actual state (CUR0_ENABLE) bit are unsycned. This can cause a
double cursor in full screen with non-native scaling.
[How]
Force disable cursor on DPP5 on plane powerdown for ASICs w/ 6 DPPs/HUBPs.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4673
Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 79b3c037f972dcb13e325a8eabfb8da835764e15)
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ded77c1209
commit
a077ec7056
@@ -604,6 +604,14 @@ void dcn20_dpp_pg_control(
|
|||||||
* DOMAIN11_PGFSM_PWR_STATUS, pwr_status,
|
* DOMAIN11_PGFSM_PWR_STATUS, pwr_status,
|
||||||
* 1, 1000);
|
* 1, 1000);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Force disable cursor on plane powerdown on DPP 5 using dpp_force_disable_cursor */
|
||||||
|
if (!power_on) {
|
||||||
|
struct dpp *dpp5 = hws->ctx->dc->res_pool->dpps[dpp_inst];
|
||||||
|
if (dpp5 && dpp5->funcs->dpp_force_disable_cursor)
|
||||||
|
dpp5->funcs->dpp_force_disable_cursor(dpp5);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BREAK_TO_DEBUGGER();
|
BREAK_TO_DEBUGGER();
|
||||||
|
|||||||
Reference in New Issue
Block a user