From: Tony Qi <[email protected]> This reverts commit 6624a33b3807 ("Request DMUB HW cursor offload).
[WHY] This commit causes the following failures on DCN42: igt@kms_plane_cursor@viewport igt@kms_plane_cursor@overlay Reviewed-by: Alex Hung <[email protected]> Signed-off-by: Tony Qi <[email protected]> Signed-off-by: George Zhang <[email protected]> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 ---------- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 9 +-------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index ca795cda8084..623ef81a0231 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -606,13 +606,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) init_data.flags.enable_mipi_converter_optimization = true; - /* - * Request HW cursor offload so DMUB programs the cursor; cursor - * updates then avoid the DMUB inbox0 HW lock during mclk switches. - * dc_dmub_srv_cursor_offload_init() self-gates on FW capability. - */ - init_data.flags.enable_cursor_offload = true; - init_data.dcn_reg_offsets = adev->reg_offset[DCE_HWIP][0]; init_data.nbio_reg_offsets = adev->reg_offset[NBIO_HWIP][0]; init_data.clk_reg_offsets = adev->reg_offset[CLK_HWIP][0]; @@ -730,9 +723,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) dc_hardware_init(adev->dm.dc); - /* Enable cursor offload if the DMUB firmware supports it. */ - dc_dmub_srv_cursor_offload_init(adev->dm.dc); - /* GOP/vBIOS may leave an OPTC enabled for a display present at power-on * but no longer driven (e.g. an external DP unplugged at boot). Such a * dangling pipe keeps DCN out of idle and blocks s0i3. Power it down diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c index 37248ecc3c08..d9af53f720f7 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c +++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c @@ -1250,16 +1250,9 @@ void dc_dmub_srv_subvp_save_surf_addr(const struct dc_dmub_srv *dc_dmub_srv, con void dc_dmub_srv_cursor_offload_init(struct dc *dc) { struct dmub_rb_cmd_cursor_offload_init *init; - struct dc_dmub_srv *dc_dmub_srv; + struct dc_dmub_srv *dc_dmub_srv = dc->ctx->dmub_srv; union dmub_rb_cmd cmd; - if (!dc || !dc->ctx) - return; - - dc_dmub_srv = dc->ctx->dmub_srv; - if (!dc_dmub_srv || !dc_dmub_srv->dmub) - return; - if (!dc->config.enable_cursor_offload) return; -- 2.55.0
