mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
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: Charlene Liu <charlene.liu@amd.com> Reviewed-by: Aric Cyr <aric.cyr@amd.com> Reviewed-by: Swapnil Patel <swapnil.patel@amd.com> Signed-off-by: Tomasz Siemek <Tomasz.Siemek@amd.com> Signed-off-by: Tom Chung <chiahsuan.chung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
13d0724f0f
commit
c9b4fa034c
|
|
@ -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,7 +152,8 @@ const struct dc_plane_status *dc_plane_get_status(
|
|||
if (pipe_ctx->plane_state != plane_state)
|
||||
continue;
|
||||
|
||||
dc->hwss.update_pending_status(pipe_ctx);
|
||||
if (flags.bits.address)
|
||||
dc->hwss.update_pending_status(pipe_ctx);
|
||||
}
|
||||
|
||||
return plane_status;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user