0001
0002
0003
0004
0005
0006
0007 #ifndef __OMAPDRM_OVERLAY_H__
0008 #define __OMAPDRM_OVERLAY_H__
0009
0010 #include <linux/types.h>
0011
0012 enum drm_plane_type;
0013
0014 struct drm_device;
0015 struct drm_mode_object;
0016 struct drm_plane;
0017
0018
0019 struct omap_hw_overlay {
0020 unsigned int idx;
0021
0022 const char *name;
0023 enum omap_plane_id id;
0024
0025 enum omap_overlay_caps caps;
0026 };
0027
0028 int omap_hwoverlays_init(struct omap_drm_private *priv);
0029 void omap_hwoverlays_destroy(struct omap_drm_private *priv);
0030 int omap_overlay_assign(struct drm_atomic_state *s, struct drm_plane *plane,
0031 u32 caps, u32 fourcc, struct omap_hw_overlay **overlay,
0032 struct omap_hw_overlay **r_overlay);
0033 void omap_overlay_release(struct drm_atomic_state *s, struct omap_hw_overlay *overlay);
0034 void omap_overlay_update_state(struct omap_drm_private *priv, struct omap_hw_overlay *overlay);
0035 #endif