mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-26 10:57:38 +08:00
Commit7f87928439("drm/simple-kms: Switch to atomic_create_state") replaced drm_simple_kms_plane_reset() with drm_simple_kms_plane_create_state(), removing the only user of the reset_plane hook. However, the hook itself was left behind in struct drm_simple_display_pipe_funcs. Remove it. Fixes:7f87928439("drm/simple-kms: Switch to atomic_create_state") Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patch.msgid.link/20260908-drm-no-more-plane-reset-v4-1-a31b3fcfc989@kernel.org Signed-off-by: Maxime Ripard <mripard@kernel.org>
79 lines
2.9 KiB
C
79 lines
2.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2016 Noralf Trønnes
|
|
*/
|
|
|
|
/*
|
|
* Simple KMS helpers are deprected in favor of regular atomic helpers. Do not
|
|
* use the min new code.
|
|
*/
|
|
|
|
#ifndef __LINUX_DRM_SIMPLE_KMS_HELPER_H
|
|
#define __LINUX_DRM_SIMPLE_KMS_HELPER_H
|
|
|
|
#include <drm/drm_crtc.h>
|
|
#include <drm/drm_encoder.h>
|
|
#include <drm/drm_plane.h>
|
|
|
|
struct drm_simple_display_pipe;
|
|
|
|
struct drm_simple_display_pipe_funcs {
|
|
enum drm_mode_status (*mode_valid)(struct drm_simple_display_pipe *pipe,
|
|
const struct drm_display_mode *mode);
|
|
void (*enable)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_crtc_state *crtc_state,
|
|
struct drm_plane_state *plane_state);
|
|
void (*disable)(struct drm_simple_display_pipe *pipe);
|
|
int (*check)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *plane_state,
|
|
struct drm_crtc_state *crtc_state);
|
|
void (*update)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *old_plane_state);
|
|
int (*prepare_fb)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *plane_state);
|
|
void (*cleanup_fb)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *plane_state);
|
|
int (*begin_fb_access)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *new_plane_state);
|
|
void (*end_fb_access)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *plane_state);
|
|
int (*enable_vblank)(struct drm_simple_display_pipe *pipe);
|
|
void (*disable_vblank)(struct drm_simple_display_pipe *pipe);
|
|
struct drm_crtc_state * (*duplicate_crtc_state)(struct drm_simple_display_pipe *pipe);
|
|
void (*destroy_crtc_state)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_crtc_state *crtc_state);
|
|
struct drm_plane_state * (*create_plane_state)(struct drm_simple_display_pipe *pipe);
|
|
struct drm_plane_state * (*duplicate_plane_state)(struct drm_simple_display_pipe *pipe);
|
|
void (*destroy_plane_state)(struct drm_simple_display_pipe *pipe,
|
|
struct drm_plane_state *plane_state);
|
|
};
|
|
|
|
struct drm_simple_display_pipe {
|
|
struct drm_crtc crtc;
|
|
struct drm_plane plane;
|
|
struct drm_encoder encoder;
|
|
struct drm_connector *connector;
|
|
|
|
const struct drm_simple_display_pipe_funcs *funcs;
|
|
};
|
|
|
|
int drm_simple_display_pipe_attach_bridge(struct drm_simple_display_pipe *pipe,
|
|
struct drm_bridge *bridge);
|
|
|
|
int drm_simple_display_pipe_init(struct drm_device *dev,
|
|
struct drm_simple_display_pipe *pipe,
|
|
const struct drm_simple_display_pipe_funcs *funcs,
|
|
const uint32_t *formats, unsigned int format_count,
|
|
const uint64_t *format_modifiers,
|
|
struct drm_connector *connector);
|
|
|
|
void *__drmm_simple_encoder_alloc(struct drm_device *dev, size_t size,
|
|
size_t offset, int encoder_type);
|
|
|
|
#define drmm_simple_encoder_alloc(dev, type, member, encoder_type) \
|
|
((type *)__drmm_simple_encoder_alloc(dev, sizeof(type), \
|
|
offsetof(type, member), \
|
|
encoder_type))
|
|
|
|
#endif /* __LINUX_DRM_SIMPLE_KMS_HELPER_H */
|