From 9d75b8c0b999663d85cddda2791bb15b5f4a8f4a Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Wed, 17 May 2017 22:47:20 +0800 Subject: drm/sun4i: add support for Allwinner DE2 mixers Allwinner have a new "Display Engine 2.0" in their new SoCs, which comes with mixers to do graphic processing and feed data to TCON, like the old backends and frontends. Add support for the mixer on Allwinner V3s SoC; it's the simplest one. Currently a lot of functions are still missing -- more investigations are needed to gain enough information for them. Signed-off-by: Icenowy Zheng Signed-off-by: Maxime Ripard --- drivers/gpu/drm/sun4i/sun8i_layer.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.h (limited to 'drivers/gpu/drm/sun4i/sun8i_layer.h') diff --git a/drivers/gpu/drm/sun4i/sun8i_layer.h b/drivers/gpu/drm/sun4i/sun8i_layer.h new file mode 100644 index 000000000000..e5eccd27cff0 --- /dev/null +++ b/drivers/gpu/drm/sun4i/sun8i_layer.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) Icenowy Zheng + * + * Based on sun4i_layer.h, which is: + * Copyright (C) 2015 Free Electrons + * Copyright (C) 2015 NextThing Co + * + * Maxime Ripard + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + */ + +#ifndef _SUN8I_LAYER_H_ +#define _SUN8I_LAYER_H_ + +struct sunxi_engine; + +struct sun8i_layer { + struct drm_plane plane; + struct sun4i_drv *drv; + struct sun8i_mixer *mixer; + int id; +}; + +static inline struct sun8i_layer * +plane_to_sun8i_layer(struct drm_plane *plane) +{ + return container_of(plane, struct sun8i_layer, plane); +} + +struct drm_plane **sun8i_layers_init(struct drm_device *drm, + struct sunxi_engine *engine); +#endif /* _SUN8I_LAYER_H_ */ -- cgit v1.2.3