xref: /linux/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * RZ/G2L Display Unit Mode Setting
4  *
5  * Copyright (C) 2023 Renesas Electronics Corporation
6  *
7  * Based on rcar_du_kms.h
8  */
9 
10 #ifndef __RZG2L_DU_KMS_H__
11 #define __RZG2L_DU_KMS_H__
12 
13 #include <linux/types.h>
14 
15 struct dma_buf_attachment;
16 struct drm_file;
17 struct drm_device;
18 struct drm_gem_object;
19 struct drm_mode_create_dumb;
20 struct rzg2l_du_device;
21 struct sg_table;
22 
23 struct rzg2l_du_format_info {
24 	u32 fourcc;
25 	u32 v4l2;
26 	unsigned int planes;
27 	unsigned int hsub;
28 };
29 
30 const struct rzg2l_du_format_info *rzg2l_du_format_info(u32 fourcc);
31 
32 int rzg2l_du_modeset_init(struct rzg2l_du_device *rcdu);
33 
34 int rzg2l_du_dumb_create(struct drm_file *file, struct drm_device *dev,
35 			 struct drm_mode_create_dumb *args);
36 
37 struct drm_gem_object *
38 rzg2l_du_gem_prime_import_sg_table(struct drm_device *dev,
39 				   struct dma_buf_attachment *attach,
40 				   struct sg_table *sgt);
41 
42 #endif /* __RZG2L_DU_KMS_H__ */
43