1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#ifndef __DRM_CRTC_HELPER_H__
34#define __DRM_CRTC_HELPER_H__
35
36#include <linux/spinlock.h>
37#include <linux/types.h>
38#include <linux/idr.h>
39
40#include <linux/fb.h>
41
42#include <drm/drm_crtc.h>
43#include <drm/drm_modeset_helper_vtables.h>
44
45extern void drm_helper_disable_unused_functions(struct drm_device *dev);
46extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
47extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
48 struct drm_display_mode *mode,
49 int x, int y,
50 struct drm_framebuffer *old_fb);
51extern void drm_helper_crtc_enable_color_mgmt(struct drm_crtc *crtc,
52 int degamma_lut_size,
53 int gamma_lut_size);
54extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc);
55extern bool drm_helper_encoder_in_use(struct drm_encoder *encoder);
56
57extern int drm_helper_connector_dpms(struct drm_connector *connector, int mode);
58
59extern void drm_helper_move_panel_connectors_to_head(struct drm_device *);
60
61extern void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
62 const struct drm_mode_fb_cmd2 *mode_cmd);
63
64extern void drm_helper_resume_force_mode(struct drm_device *dev);
65
66int drm_helper_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
67 struct drm_display_mode *adjusted_mode, int x, int y,
68 struct drm_framebuffer *old_fb);
69int drm_helper_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
70 struct drm_framebuffer *old_fb);
71
72
73extern int drm_helper_probe_single_connector_modes(struct drm_connector
74 *connector, uint32_t maxX,
75 uint32_t maxY);
76extern void drm_kms_helper_poll_init(struct drm_device *dev);
77extern void drm_kms_helper_poll_fini(struct drm_device *dev);
78extern bool drm_helper_hpd_irq_event(struct drm_device *dev);
79extern void drm_kms_helper_hotplug_event(struct drm_device *dev);
80
81extern void drm_kms_helper_poll_disable(struct drm_device *dev);
82extern void drm_kms_helper_poll_enable(struct drm_device *dev);
83extern void drm_kms_helper_poll_enable_locked(struct drm_device *dev);
84
85#endif
86