Commit b255ce43 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/amdgpu: don't change mode in amdgpu_dm_connector_mode_valid()



Make amdgpu_dm_connector_mode_valid() duplicate the mode during the
test rather than modifying the passed mode. This is a preparation to
converting the mode_valid() callback of drm_connector to take a const
struct drm_display_mode argument.

Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
Reviewed-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241214-drm-connector-mode-valid-const-v2-2-4f9498a4c822@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 7a5cd45f
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -7420,6 +7420,7 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec
{
	int result = MODE_ERROR;
	struct dc_sink *dc_sink;
	struct drm_display_mode *test_mode;
	/* TODO: Unhardcode stream count */
	struct dc_stream_state *stream;
	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
@@ -7444,11 +7445,16 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec
		goto fail;
	}

	drm_mode_set_crtcinfo(mode, 0);
	test_mode = drm_mode_duplicate(connector->dev, mode);
	if (!test_mode)
		goto fail;

	drm_mode_set_crtcinfo(test_mode, 0);

	stream = create_validate_stream_for_sink(aconnector, mode,
	stream = create_validate_stream_for_sink(aconnector, test_mode,
						 to_dm_connector_state(connector->state),
						 NULL);
	drm_mode_destroy(connector->dev, test_mode);
	if (stream) {
		dc_stream_release(stream);
		result = MODE_OK;