Merge tag 'v4.6-rc3' into drm-next
[cascardo/linux.git] / drivers / gpu / drm / rcar-du / rcar_du_plane.h
index 9732bff..b18b7b2 100644 (file)
@@ -28,6 +28,12 @@ struct rcar_du_group;
 #define RCAR_DU_NUM_KMS_PLANES         9
 #define RCAR_DU_NUM_HW_PLANES          8
 
+enum rcar_du_plane_source {
+       RCAR_DU_PLANE_MEMORY,
+       RCAR_DU_PLANE_VSPD0,
+       RCAR_DU_PLANE_VSPD1,
+};
+
 struct rcar_du_plane {
        struct drm_plane plane;
        struct rcar_du_group *group;
@@ -52,6 +58,7 @@ struct rcar_du_plane_state {
 
        const struct rcar_du_format_info *format;
        int hwindex;
+       enum rcar_du_plane_source source;
 
        unsigned int alpha;
        unsigned int colorkey;
@@ -64,8 +71,20 @@ to_rcar_plane_state(struct drm_plane_state *state)
        return container_of(state, struct rcar_du_plane_state, state);
 }
 
+int rcar_du_atomic_check_planes(struct drm_device *dev,
+                               struct drm_atomic_state *state);
+
 int rcar_du_planes_init(struct rcar_du_group *rgrp);
 
-void rcar_du_plane_setup(struct rcar_du_plane *plane);
+void __rcar_du_plane_setup(struct rcar_du_group *rgrp,
+                          const struct rcar_du_plane_state *state);
+
+static inline void rcar_du_plane_setup(struct rcar_du_plane *plane)
+{
+       struct rcar_du_plane_state *state =
+               to_rcar_plane_state(plane->plane.state);
+
+       return __rcar_du_plane_setup(plane->group, state);
+}
 
 #endif /* __RCAR_DU_PLANE_H__ */