Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright (C) 2018 Texas Instruments Incorporated -  http://www.ti.com/
0004  * Author: Benoit Parrot <bparrot@ti.com>
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 /* Used to associate a HW overlay/plane to a plane */
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 /* __OMAPDRM_OVERLAY_H__ */