Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/drm/drm_atomic_state_helper.h
26278 views
1
/*
2
* Copyright (C) 2018 Intel Corp.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Software"),
6
* to deal in the Software without restriction, including without limitation
7
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
* and/or sell copies of the Software, and to permit persons to whom the
9
* Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
* OTHER DEALINGS IN THE SOFTWARE.
21
*
22
* Authors:
23
* Rob Clark <[email protected]>
24
* Daniel Vetter <[email protected]>
25
*/
26
27
#include <linux/types.h>
28
29
struct drm_atomic_state;
30
struct drm_bridge;
31
struct drm_bridge_state;
32
struct drm_crtc;
33
struct drm_crtc_state;
34
struct drm_plane;
35
struct drm_plane_state;
36
struct drm_connector;
37
struct drm_connector_state;
38
struct drm_private_obj;
39
struct drm_private_state;
40
struct drm_modeset_acquire_ctx;
41
struct drm_device;
42
43
void __drm_atomic_helper_crtc_state_reset(struct drm_crtc_state *state,
44
struct drm_crtc *crtc);
45
void __drm_atomic_helper_crtc_reset(struct drm_crtc *crtc,
46
struct drm_crtc_state *state);
47
void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc);
48
void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
49
struct drm_crtc_state *state);
50
struct drm_crtc_state *
51
drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc);
52
void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc_state *state);
53
void drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
54
struct drm_crtc_state *state);
55
56
void __drm_atomic_helper_plane_state_reset(struct drm_plane_state *state,
57
struct drm_plane *plane);
58
void __drm_atomic_helper_plane_reset(struct drm_plane *plane,
59
struct drm_plane_state *state);
60
void drm_atomic_helper_plane_reset(struct drm_plane *plane);
61
void __drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane,
62
struct drm_plane_state *state);
63
struct drm_plane_state *
64
drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane);
65
void __drm_atomic_helper_plane_destroy_state(struct drm_plane_state *state);
66
void drm_atomic_helper_plane_destroy_state(struct drm_plane *plane,
67
struct drm_plane_state *state);
68
69
void __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_state,
70
struct drm_connector *connector);
71
void __drm_atomic_helper_connector_reset(struct drm_connector *connector,
72
struct drm_connector_state *conn_state);
73
void drm_atomic_helper_connector_reset(struct drm_connector *connector);
74
void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
75
int drm_atomic_helper_connector_tv_check(struct drm_connector *connector,
76
struct drm_atomic_state *state);
77
void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector *connector);
78
void
79
__drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,
80
struct drm_connector_state *state);
81
struct drm_connector_state *
82
drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector);
83
void
84
__drm_atomic_helper_connector_destroy_state(struct drm_connector_state *state);
85
void drm_atomic_helper_connector_destroy_state(struct drm_connector *connector,
86
struct drm_connector_state *state);
87
void __drm_atomic_helper_private_obj_duplicate_state(struct drm_private_obj *obj,
88
struct drm_private_state *state);
89
90
void __drm_atomic_helper_bridge_duplicate_state(struct drm_bridge *bridge,
91
struct drm_bridge_state *state);
92
struct drm_bridge_state *
93
drm_atomic_helper_bridge_duplicate_state(struct drm_bridge *bridge);
94
void drm_atomic_helper_bridge_destroy_state(struct drm_bridge *bridge,
95
struct drm_bridge_state *state);
96
void __drm_atomic_helper_bridge_reset(struct drm_bridge *bridge,
97
struct drm_bridge_state *state);
98
struct drm_bridge_state *
99
drm_atomic_helper_bridge_reset(struct drm_bridge *bridge);
100
101