Commit c9b4fa03 authored by Tomasz Siemek's avatar Tomasz Siemek Committed by Alex Deucher
Browse files

drm/amd/display: Extend dc_plane_get_status with flags



[WHY]
dc_plane_get_status may be used for reading other plane properties
in the future.

[HOW]
Provide API for choosing plane properties to read.

Reviewed-by: default avatarCharlene Liu <charlene.liu@amd.com>
Reviewed-by: default avatarAric Cyr <aric.cyr@amd.com>
Reviewed-by: default avatarSwapnil Patel <swapnil.patel@amd.com>
Signed-off-by: default avatarTomasz Siemek <Tomasz.Siemek@amd.com>
Signed-off-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 13d0724f
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -109,7 +109,8 @@ struct dc_plane_state *dc_create_plane_state(const struct dc *dc)
 *****************************************************************************
 */
const struct dc_plane_status *dc_plane_get_status(
		const struct dc_plane_state *plane_state)
		const struct dc_plane_state *plane_state,
		union dc_plane_status_update_flags flags)
{
	const struct dc_plane_status *plane_status;
	struct dc  *dc;
@@ -136,7 +137,7 @@ const struct dc_plane_status *dc_plane_get_status(
		if (pipe_ctx->plane_state != plane_state)
			continue;

		if (pipe_ctx->plane_state)
		if (pipe_ctx->plane_state && flags.bits.address)
			pipe_ctx->plane_state->status.is_flip_pending = false;

		break;
@@ -151,6 +152,7 @@ const struct dc_plane_status *dc_plane_get_status(
		if (pipe_ctx->plane_state != plane_state)
			continue;

		if (flags.bits.address)
			dc->hwss.update_pending_status(pipe_ctx);
	}

+9 −1
Original line number Diff line number Diff line
@@ -28,9 +28,17 @@

#include "dc_hw_types.h"

union dc_plane_status_update_flags {
	struct {
		uint32_t address : 1;
	} bits;
	uint32_t raw;
};

struct dc_plane_state *dc_create_plane_state(const struct dc *dc);
const struct dc_plane_status *dc_plane_get_status(
		const struct dc_plane_state *plane_state);
		const struct dc_plane_state *plane_state,
		union dc_plane_status_update_flags flags);
void dc_plane_state_retain(struct dc_plane_state *plane_state);
void dc_plane_state_release(struct dc_plane_state *plane_state);