xref: /linux/drivers/gpu/drm/verisilicon/vs_drm.h (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
4  */
5 
6 #ifndef _VS_DRM_H_
7 #define _VS_DRM_H_
8 
9 #include <linux/platform_device.h>
10 #include <linux/types.h>
11 
12 #include <drm/drm_device.h>
13 
14 struct vs_dc;
15 
16 struct vs_drm_dev {
17 	struct drm_device base;
18 
19 	struct vs_dc *dc;
20 	struct vs_crtc *crtcs[VSDC_MAX_OUTPUTS];
21 };
22 
23 int vs_drm_initialize(struct vs_dc *dc, struct platform_device *pdev);
24 void vs_drm_finalize(struct vs_dc *dc);
25 void vs_drm_shutdown_handler(struct vs_dc *dc);
26 void vs_drm_handle_irq(struct vs_dc *dc, u32 irqs);
27 
28 #endif /* _VS_DRM_H_ */
29