diff options
Diffstat (limited to 'drivers/gpu/drm/udl/udl_modeset.c')
| -rw-r--r-- | drivers/gpu/drm/udl/udl_modeset.c | 19 | 
1 files changed, 17 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c index 40876bcdd79a..7702359c90c2 100644 --- a/drivers/gpu/drm/udl/udl_modeset.c +++ b/drivers/gpu/drm/udl/udl_modeset.c @@ -21,7 +21,6 @@  #include <drm/drm_gem_framebuffer_helper.h>  #include <drm/drm_gem_shmem_helper.h>  #include <drm/drm_modeset_helper_vtables.h> -#include <drm/drm_plane_helper.h>  #include <drm/drm_probe_helper.h>  #include <drm/drm_vblank.h> @@ -261,6 +260,22 @@ static const uint64_t udl_primary_plane_fmtmods[] = {  	DRM_FORMAT_MOD_INVALID  }; +static int udl_primary_plane_helper_atomic_check(struct drm_plane *plane, +						 struct drm_atomic_state *state) +{ +	struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); +	struct drm_crtc *new_crtc = new_plane_state->crtc; +	struct drm_crtc_state *new_crtc_state = NULL; + +	if (new_crtc) +		new_crtc_state = drm_atomic_get_new_crtc_state(state, new_crtc); + +	return drm_atomic_helper_check_plane_state(new_plane_state, new_crtc_state, +						   DRM_PLANE_NO_SCALING, +						   DRM_PLANE_NO_SCALING, +						   false, false); +} +  static void udl_primary_plane_helper_atomic_update(struct drm_plane *plane,  						   struct drm_atomic_state *state)  { @@ -296,7 +311,7 @@ out_drm_gem_fb_end_cpu_access:  static const struct drm_plane_helper_funcs udl_primary_plane_helper_funcs = {  	DRM_GEM_SHADOW_PLANE_HELPER_FUNCS, -	.atomic_check = drm_plane_helper_atomic_check, +	.atomic_check = udl_primary_plane_helper_atomic_check,  	.atomic_update = udl_primary_plane_helper_atomic_update,  }; | 
