diff options
Diffstat (limited to 'drivers/gpu/drm/arm/malidp_drv.h')
-rw-r--r-- | drivers/gpu/drm/arm/malidp_drv.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/gpu/drm/arm/malidp_drv.h b/drivers/gpu/drm/arm/malidp_drv.h new file mode 100644 index 000000000000..95558fde214b --- /dev/null +++ b/drivers/gpu/drm/arm/malidp_drv.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * (C) COPYRIGHT 2016 ARM Limited. All rights reserved. | ||
3 | * Author: Liviu Dudau <Liviu.Dudau@arm.com> | ||
4 | * | ||
5 | * This program is free software and is provided to you under the terms of the | ||
6 | * GNU General Public License version 2 as published by the Free Software | ||
7 | * Foundation, and any use by you of this program is subject to the terms | ||
8 | * of such GNU licence. | ||
9 | * | ||
10 | * ARM Mali DP500/DP550/DP650 KMS/DRM driver structures | ||
11 | */ | ||
12 | |||
13 | #ifndef __MALIDP_DRV_H__ | ||
14 | #define __MALIDP_DRV_H__ | ||
15 | |||
16 | #include <linux/mutex.h> | ||
17 | #include <linux/wait.h> | ||
18 | #include "malidp_hw.h" | ||
19 | |||
20 | struct malidp_drm { | ||
21 | struct malidp_hw_device *dev; | ||
22 | struct drm_fbdev_cma *fbdev; | ||
23 | struct list_head event_list; | ||
24 | struct drm_crtc crtc; | ||
25 | wait_queue_head_t wq; | ||
26 | atomic_t config_valid; | ||
27 | }; | ||
28 | |||
29 | #define crtc_to_malidp_device(x) container_of(x, struct malidp_drm, crtc) | ||
30 | |||
31 | struct malidp_plane { | ||
32 | struct drm_plane base; | ||
33 | struct malidp_hw_device *hwdev; | ||
34 | const struct malidp_layer *layer; | ||
35 | }; | ||
36 | |||
37 | struct malidp_plane_state { | ||
38 | struct drm_plane_state base; | ||
39 | |||
40 | /* size of the required rotation memory if plane is rotated */ | ||
41 | u32 rotmem_size; | ||
42 | }; | ||
43 | |||
44 | #define to_malidp_plane(x) container_of(x, struct malidp_plane, base) | ||
45 | #define to_malidp_plane_state(x) container_of(x, struct malidp_plane_state, base) | ||
46 | |||
47 | int malidp_de_planes_init(struct drm_device *drm); | ||
48 | void malidp_de_planes_destroy(struct drm_device *drm); | ||
49 | int malidp_crtc_init(struct drm_device *drm); | ||
50 | |||
51 | /* often used combination of rotational bits */ | ||
52 | #define MALIDP_ROTATED_MASK (BIT(DRM_ROTATE_90) | BIT(DRM_ROTATE_270)) | ||
53 | |||
54 | #endif /* __MALIDP_DRV_H__ */ | ||