43 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Copyright (C) 2015 Free Electrons4 * Copyright (C) 2015 NextThing Co5 *6 * Maxime Ripard <maxime.ripard@free-electrons.com>7 */8 9#ifndef _SUN4I_LAYER_H_10#define _SUN4I_LAYER_H_11 12struct sunxi_engine;13 14struct sun4i_layer {15 struct drm_plane plane;16 struct sun4i_drv *drv;17 struct sun4i_backend *backend;18 int id;19};20 21struct sun4i_layer_state {22 struct drm_plane_state state;23 unsigned int pipe;24 bool uses_frontend;25};26 27static inline struct sun4i_layer *28plane_to_sun4i_layer(struct drm_plane *plane)29{30 return container_of(plane, struct sun4i_layer, plane);31}32 33static inline struct sun4i_layer_state *34state_to_sun4i_layer_state(struct drm_plane_state *state)35{36 return container_of(state, struct sun4i_layer_state, state);37}38 39struct drm_plane **sun4i_layers_init(struct drm_device *drm,40 struct sunxi_engine *engine);41 42#endif /* _SUN4I_LAYER_H_ */43