/* * Copyright (C) 2014 Traphandler * Copyright (C) 2014 Free Electrons * Copyright (C) 2014 Atmel * * Author: Jean-Jacques Hiblot <jjhiblot@traphandler.com> * Author: Boris BREZILLON <boris.brezillon@free-electrons.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef DRM_ATMEL_HLCDC_H #define DRM_ATMEL_HLCDC_H #include <linux/clk.h> #include <linux/irqdomain.h> #include <linux/pwm.h> #include <drm/drm_atomic.h> #include <drm/drm_atomic_helper.h> #include <drm/drm_crtc.h> #include <drm/drm_crtc_helper.h> #include <drm/drm_fb_cma_helper.h> #include <drm/drm_gem_cma_helper.h> #include <drm/drm_panel.h> #include <drm/drm_plane_helper.h> #include <drm/drmP.h> #include "atmel_hlcdc_layer.h" #define ATMEL_HLCDC_MAX_LAYERS 5 /** * Atmel HLCDC Display Controller description structure. * * This structure describe the HLCDC IP capabilities and depends on the * HLCDC IP version (or Atmel SoC family). * * @min_width: minimum width supported by the Display Controller * @min_height: minimum height supported by the Display Controller * @max_width: maximum width supported by the Display Controller * @max_height: maximum height supported by the Display Controller * @max_spw: maximum vertical/horizontal pulse width * @max_vpw: maximum vertical back/front porch width * @max_hpw: maximum horizontal back/front porch width * @conflicting_output_formats: true if RGBXXX output formats conflict with * each other. * @layers: a layer description table describing available layers * @nlayers: layer description table size */ struct atmel_hlcdc_dc_desc { int min_width; int min_height; int max_width; int max_height; int max_spw; int max_vpw; int max_hpw; bool conflicting_output_formats; const struct atmel_hlcdc_layer_desc *layers; int nlayers; }; /** * Atmel HLCDC Plane properties. * * This structure stores plane property definitions. * * @alpha: alpha blending (or transparency) property * @rotation: rotation property */ struct atmel_hlcdc_plane_properties { struct drm_property *alpha; }; /** * Atmel HLCDC Plane. * * @base: base DRM plane structure * @layer: HLCDC layer structure * @properties: pointer to the property definitions structure * @rotation: current rotation status */ struct atmel_hlcdc_plane { struct drm_plane base; struct atmel_hlcdc_layer layer; struct atmel_hlcdc_plane_properties *properties; };
static inline struct atmel_hlcdc_plane * drm_plane_to_atmel_hlcdc_plane(struct drm_plane *p) { return container_of(p, struct atmel_hlcdc_plane, base); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Boris Brezillon | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Boris Brezillon | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Boris Brezillon | 334 | 95.16% | 7 | 87.50% |
Sylvain Rochet | 17 | 4.84% | 1 | 12.50% |
Total | 351 | 100.00% | 8 | 100.00% |