xref: /linux/drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
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 bpp;
27 	unsigned int planes;
28 	unsigned int hsub;
29 };
30 
31 const struct rzg2l_du_format_info *rzg2l_du_format_info(u32 fourcc);
32 
33 int rzg2l_du_modeset_init(struct rzg2l_du_device *rcdu);
34 
35 int rzg2l_du_dumb_create(struct drm_file *file, struct drm_device *dev,
36 			 struct drm_mode_create_dumb *args);
37 
38 struct drm_gem_object *
39 rzg2l_du_gem_prime_import_sg_table(struct drm_device *dev,
40 				   struct dma_buf_attachment *attach,
41 				   struct sg_table *sgt);
42 
43 #endif /* __RZG2L_DU_KMS_H__ */
44