diff options
Diffstat (limited to 'drivers/gpu/drm/sun4i/sun4i_layer.h')
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_layer.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.h b/drivers/gpu/drm/sun4i/sun4i_layer.h new file mode 100644 index 000000000..5219cae93 --- /dev/null +++ b/drivers/gpu/drm/sun4i/sun4i_layer.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2015 Free Electrons + * Copyright (C) 2015 NextThing Co + * + * Maxime Ripard <maxime.ripard@free-electrons.com> + */ + +#ifndef _SUN4I_LAYER_H_ +#define _SUN4I_LAYER_H_ + +struct sunxi_engine; + +struct sun4i_layer { + struct drm_plane plane; + struct sun4i_drv *drv; + struct sun4i_backend *backend; + int id; +}; + +struct sun4i_layer_state { + struct drm_plane_state state; + unsigned int pipe; + bool uses_frontend; +}; + +static inline struct sun4i_layer * +plane_to_sun4i_layer(struct drm_plane *plane) +{ + return container_of(plane, struct sun4i_layer, plane); +} + +static inline struct sun4i_layer_state * +state_to_sun4i_layer_state(struct drm_plane_state *state) +{ + return container_of(state, struct sun4i_layer_state, state); +} + +struct drm_plane **sun4i_layers_init(struct drm_device *drm, + struct sunxi_engine *engine); + +#endif /* _SUN4I_LAYER_H_ */ |