1
0
Fork 0

drm/amd/display: Implement plane atomic_check.

Use per surface validation hook.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
hifive-unleashed-5.1
Andrey Grodzovsky 2017-07-26 15:52:28 -04:00 committed by Alex Deucher
parent 690b5e3960
commit cbd194881e
1 changed files with 17 additions and 0 deletions

View File

@ -3141,9 +3141,26 @@ int dm_create_validation_set_for_connector(struct drm_connector *connector,
return MODE_OK;
}
int dm_plane_atomic_check(struct drm_plane *plane,
struct drm_plane_state *state)
{
struct amdgpu_device *adev = plane->dev->dev_private;
struct dc *dc = adev->dm.dc;
struct dm_plane_state *dm_plane_state = to_dm_plane_state(state);
if (!dm_plane_state->surface)
return true;
if (dc_validate_surface(dc, dm_plane_state->surface))
return 0;
return -EINVAL;
}
static const struct drm_plane_helper_funcs dm_plane_helper_funcs = {
.prepare_fb = dm_plane_helper_prepare_fb,
.cleanup_fb = dm_plane_helper_cleanup_fb,
.atomic_check = dm_plane_atomic_check,
};
/*