mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
drm/plane-helper: Move drm_plane_helper_atomic_check() into udl
The udl driver is the only caller of drm_plane_helper_atomic_check(). Move the function into the driver. No functional changes. v2: * fix documenation (Sui) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Sui Jingfeng <suijingfeng@loongson.cn> Link: https://patchwork.freedesktop.org/patch/msgid/20231204090852.1650-2-tzimmermann@suse.de
This commit is contained in:
parent
94f8f319cb
commit
a0fce84cb1
@ -439,11 +439,8 @@ EXPORT_SYMBOL(drm_crtc_helper_set_mode);
|
|||||||
* @state: atomic state object
|
* @state: atomic state object
|
||||||
*
|
*
|
||||||
* Provides a default CRTC-state check handler for CRTCs that only have
|
* Provides a default CRTC-state check handler for CRTCs that only have
|
||||||
* one primary plane attached to it.
|
* one primary plane attached to it. This is often the case for the CRTC
|
||||||
*
|
* of simple framebuffers.
|
||||||
* This is often the case for the CRTC of simple framebuffers. See also
|
|
||||||
* drm_plane_helper_atomic_check() for the respective plane-state check
|
|
||||||
* helper function.
|
|
||||||
*
|
*
|
||||||
* RETURNS:
|
* RETURNS:
|
||||||
* Zero on success, or an errno code otherwise.
|
* Zero on success, or an errno code otherwise.
|
||||||
|
@ -279,35 +279,3 @@ void drm_plane_helper_destroy(struct drm_plane *plane)
|
|||||||
kfree(plane);
|
kfree(plane);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_plane_helper_destroy);
|
EXPORT_SYMBOL(drm_plane_helper_destroy);
|
||||||
|
|
||||||
/**
|
|
||||||
* drm_plane_helper_atomic_check() - Helper to check plane atomic-state
|
|
||||||
* @plane: plane to check
|
|
||||||
* @state: atomic state object
|
|
||||||
*
|
|
||||||
* Provides a default plane-state check handler for planes whose atomic-state
|
|
||||||
* scale and positioning are not expected to change since the plane is always
|
|
||||||
* a fullscreen scanout buffer.
|
|
||||||
*
|
|
||||||
* This is often the case for the primary plane of simple framebuffers. See
|
|
||||||
* also drm_crtc_helper_atomic_check() for the respective CRTC-state check
|
|
||||||
* helper function.
|
|
||||||
*
|
|
||||||
* RETURNS:
|
|
||||||
* Zero on success, or an errno code otherwise.
|
|
||||||
*/
|
|
||||||
int drm_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);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(drm_plane_helper_atomic_check);
|
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include <drm/drm_gem_framebuffer_helper.h>
|
#include <drm/drm_gem_framebuffer_helper.h>
|
||||||
#include <drm/drm_gem_shmem_helper.h>
|
#include <drm/drm_gem_shmem_helper.h>
|
||||||
#include <drm/drm_modeset_helper_vtables.h>
|
#include <drm/drm_modeset_helper_vtables.h>
|
||||||
#include <drm/drm_plane_helper.h>
|
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
#include <drm/drm_vblank.h>
|
#include <drm/drm_vblank.h>
|
||||||
|
|
||||||
@ -261,6 +260,22 @@ static const uint64_t udl_primary_plane_fmtmods[] = {
|
|||||||
DRM_FORMAT_MOD_INVALID
|
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,
|
static void udl_primary_plane_helper_atomic_update(struct drm_plane *plane,
|
||||||
struct drm_atomic_state *state)
|
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 = {
|
static const struct drm_plane_helper_funcs udl_primary_plane_helper_funcs = {
|
||||||
DRM_GEM_SHADOW_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,
|
.atomic_update = udl_primary_plane_helper_atomic_update,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
struct drm_atomic_state;
|
|
||||||
struct drm_crtc;
|
struct drm_crtc;
|
||||||
struct drm_framebuffer;
|
struct drm_framebuffer;
|
||||||
struct drm_modeset_acquire_ctx;
|
struct drm_modeset_acquire_ctx;
|
||||||
@ -42,7 +41,6 @@ int drm_plane_helper_update_primary(struct drm_plane *plane, struct drm_crtc *cr
|
|||||||
int drm_plane_helper_disable_primary(struct drm_plane *plane,
|
int drm_plane_helper_disable_primary(struct drm_plane *plane,
|
||||||
struct drm_modeset_acquire_ctx *ctx);
|
struct drm_modeset_acquire_ctx *ctx);
|
||||||
void drm_plane_helper_destroy(struct drm_plane *plane);
|
void drm_plane_helper_destroy(struct drm_plane *plane);
|
||||||
int drm_plane_helper_atomic_check(struct drm_plane *plane, struct drm_atomic_state *state);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DRM_PLANE_NON_ATOMIC_FUNCS - Default plane functions for non-atomic drivers
|
* DRM_PLANE_NON_ATOMIC_FUNCS - Default plane functions for non-atomic drivers
|
||||||
|
Loading…
Reference in New Issue
Block a user