forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/gpu/drm/armada/armada_plane.h
....@@ -1,6 +1,24 @@
11 #ifndef ARMADA_PLANE_H
22 #define ARMADA_PLANE_H
33
4
+struct armada_plane_state {
5
+ struct drm_plane_state base;
6
+ u32 src_hw;
7
+ u32 dst_yx;
8
+ u32 dst_hw;
9
+ u32 addrs[2][3];
10
+ u16 pitches[3];
11
+ bool interlace;
12
+};
13
+
14
+#define to_armada_plane_state(st) \
15
+ container_of(st, struct armada_plane_state, base)
16
+#define armada_src_hw(state) to_armada_plane_state(state)->src_hw
17
+#define armada_dst_yx(state) to_armada_plane_state(state)->dst_yx
18
+#define armada_dst_hw(state) to_armada_plane_state(state)->dst_hw
19
+#define armada_addr(state, f, p) to_armada_plane_state(state)->addrs[f][p]
20
+#define armada_pitch(state, n) to_armada_plane_state(state)->pitches[n]
21
+
422 void armada_drm_plane_calc(struct drm_plane_state *state, u32 addrs[2][3],
523 u16 pitches[3], bool interlaced);
624 int armada_drm_plane_prepare_fb(struct drm_plane *plane,
....@@ -9,6 +27,11 @@
927 struct drm_plane_state *old_state);
1028 int armada_drm_plane_atomic_check(struct drm_plane *plane,
1129 struct drm_plane_state *state);
30
+void armada_plane_reset(struct drm_plane *plane);
31
+struct drm_plane_state *armada_plane_duplicate_state(struct drm_plane *plane);
32
+void armada_plane_destroy_state(struct drm_plane *plane,
33
+ struct drm_plane_state *state);
34
+
1235 int armada_drm_primary_plane_init(struct drm_device *drm,
1336 struct drm_plane *primary);
1437