mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
The KMS framework uses two slightly different definitions for the state concept. For a given object (plane, CRTC, encoder, etc., so drm_$OBJECT_state), the state is the entire state of that object. However, at the device level, drm_atomic_state refers to a state update for a limited number of objects. Thus, drm_atomic_state isn't the entire device state, but only the full state of some objects in that device. This has been an endless source of confusion and thus bugs. We can rename the drm_atomic_state structure to drm_atomic_commit to make it less confusing. This patch was created using: rg -l drm_atomic_state | \ xargs sed -i 's/drm_atomic_state/drm_atomic_commit/g; s/drm_atomic_commit_helper/drm_atomic_state_helper/g' mv drivers/gpu/drm/tests/drm_atomic_state_test.c drivers/gpu/drm/tests/drm_atomic_commit_test.c Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com> Link: https://patch.msgid.link/20260427-drm-drm-atomic-update-v4-1-c0e713bfdf25@kernel.org
55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_ATOMIC_H__
|
|
#define __INTEL_ATOMIC_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct drm_atomic_commit;
|
|
struct drm_connector;
|
|
struct drm_connector_state;
|
|
struct drm_crtc;
|
|
struct drm_crtc_state;
|
|
struct drm_device;
|
|
struct drm_property;
|
|
struct intel_atomic_state;
|
|
struct intel_connector;
|
|
struct intel_crtc;
|
|
struct intel_crtc_state;
|
|
|
|
int intel_digital_connector_atomic_get_property(struct drm_connector *connector,
|
|
const struct drm_connector_state *state,
|
|
struct drm_property *property,
|
|
u64 *val);
|
|
int intel_digital_connector_atomic_set_property(struct drm_connector *connector,
|
|
struct drm_connector_state *state,
|
|
struct drm_property *property,
|
|
u64 val);
|
|
int intel_digital_connector_atomic_check(struct drm_connector *conn,
|
|
struct drm_atomic_commit *state);
|
|
struct drm_connector_state *
|
|
intel_digital_connector_duplicate_state(struct drm_connector *connector);
|
|
bool intel_connector_needs_modeset(struct intel_atomic_state *state,
|
|
struct drm_connector *connector);
|
|
bool intel_any_crtc_needs_modeset(struct intel_atomic_state *state);
|
|
struct intel_digital_connector_state *
|
|
intel_atomic_get_digital_connector_state(struct intel_atomic_state *state,
|
|
struct intel_connector *connector);
|
|
|
|
struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc);
|
|
void intel_crtc_destroy_state(struct drm_crtc *crtc,
|
|
struct drm_crtc_state *state);
|
|
void intel_crtc_free_hw_state(struct intel_crtc_state *crtc_state);
|
|
struct drm_atomic_commit *intel_atomic_state_alloc(struct drm_device *dev);
|
|
void intel_atomic_state_free(struct drm_atomic_commit *state);
|
|
void intel_atomic_state_clear(struct drm_atomic_commit *state);
|
|
|
|
struct intel_crtc_state *
|
|
intel_atomic_get_crtc_state(struct drm_atomic_commit *state,
|
|
struct intel_crtc *crtc);
|
|
|
|
#endif /* __INTEL_ATOMIC_H__ */
|