Commit f7511289 authored by Rodrigo Siqueira's avatar Rodrigo Siqueira Committed by Alex Deucher
Browse files

drm/amd/display: Use dc_update_planes_and_stream



[Why & How]
The old dc_commit_updates_for_stream lacks manipulation for many corner
cases where the DC feature requires special attention; as a result, it
starts to show its limitation (e.g., the SubVP feature is not supported
by it, among other cases). To modernize and unify our internal API, this
commit replaces the old dc_commit_updates_for_stream with
dc_update_planes_and_stream, which has more features.

Reviewed-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b8272241
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -2672,10 +2672,12 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
			bundle->surface_updates[m].surface->force_full_update =
				true;
		}
		dc_commit_updates_for_stream(
			dm->dc, bundle->surface_updates,

		dc_update_planes_and_stream(dm->dc,
			bundle->surface_updates,
			dc_state->stream_status->plane_count,
			dc_state->streams[k], &bundle->stream_update, dc_state);
			dc_state->streams[k],
			&bundle->stream_update);
	}

cleanup:
@@ -8159,12 +8161,11 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
				acrtc_state->stream->link->psr_settings.psr_allow_active)
			amdgpu_dm_psr_disable(acrtc_state->stream);

		dc_commit_updates_for_stream(dm->dc,
		dc_update_planes_and_stream(dm->dc,
					    bundle->surface_updates,
					    planes_count,
					    acrtc_state->stream,
						     &bundle->stream_update,
						     dc_state);
					    &bundle->stream_update);

		/**
		 * Enable or disable the interrupts on the backend.
@@ -8694,12 +8695,11 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)


		mutex_lock(&dm->dc_lock);
		dc_commit_updates_for_stream(dm->dc,
		dc_update_planes_and_stream(dm->dc,
					    dummy_updates,
					    status->plane_count,
					    dm_new_crtc_state->stream,
						     &stream_update,
						     dc_state);
					    &stream_update);
		mutex_unlock(&dm->dc_lock);
	}