Lines Matching refs:overlay

14  * overlay funcs
24 * Find a free overlay with the required caps and supported fourcc
62 * Assign a new overlay to a plane with the required caps and supported fourcc
63 * If a plane need a new overlay, the previous one should have been released
69 u32 caps, u32 fourcc, struct omap_hw_overlay **overlay,
82 *overlay = ovl;
89 *overlay = NULL;
108 * Release an overlay from a plane if the plane gets not visible or the plane
109 * need a new overlay if overlay caps changes.
113 void omap_overlay_release(struct drm_atomic_state *s, struct omap_hw_overlay *overlay)
119 if (!overlay)
122 if (WARN_ON(!overlay_map[overlay->idx]))
125 DBG("%s: release from plane %s", overlay->name, overlay_map[overlay->idx]->name);
127 overlay_map[overlay->idx] = NULL;
131 * Update an overlay state that was attached to a plane before the current atomic state.
133 * where an overlay association to a plane could have changed between the old and current
137 struct omap_hw_overlay *overlay)
142 /* Check if this overlay is not used anymore, then disable it */
143 if (!overlay_map[overlay->idx]) {
144 DBG("%s: disabled", overlay->name);
146 /* disable the overlay */
147 dispc_ovl_enable(priv->dispc, overlay->id, false);
151 static void omap_overlay_destroy(struct omap_hw_overlay *overlay)
153 kfree(overlay);
159 struct omap_hw_overlay *overlay;
161 overlay = kzalloc(sizeof(*overlay), GFP_KERNEL);
162 if (!overlay)
165 overlay->name = overlay_id_to_name[overlay_id];
166 overlay->id = overlay_id;
167 overlay->caps = caps;
169 return overlay;
183 struct omap_hw_overlay *overlay;
186 overlay = omap_overlay_init(hw_plane_ids[i], caps);
187 if (IS_ERR(overlay)) {
188 ret = PTR_ERR(overlay);
189 dev_err(priv->dev, "failed to construct overlay for %s (%d)\n",
194 overlay->idx = priv->num_ovls;
195 priv->overlays[priv->num_ovls++] = overlay;