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#include <drm/drm_modeset_helper.h>
45
46void drm_helper_disable_unused_functions(struct drm_device *dev);
47int drm_crtc_helper_set_config(struct drm_mode_set *set,
48 struct drm_modeset_acquire_ctx *ctx);
49bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
50 struct drm_display_mode *mode,
51 int x, int y,
52 struct drm_framebuffer *old_fb);
53bool drm_helper_crtc_in_use(struct drm_crtc *crtc);
54bool drm_helper_encoder_in_use(struct drm_encoder *encoder);
55
56int drm_helper_connector_dpms(struct drm_connector *connector, int mode);
57
58void drm_helper_resume_force_mode(struct drm_device *dev);
59
60int drm_helper_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
61 struct drm_display_mode *adjusted_mode, int x, int y,
62 struct drm_framebuffer *old_fb);
63int drm_helper_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
64 struct drm_framebuffer *old_fb);
65
66
67int drm_helper_probe_single_connector_modes(struct drm_connector
68 *connector, uint32_t maxX,
69 uint32_t maxY);
70int drm_helper_probe_detect(struct drm_connector *connector,
71 struct drm_modeset_acquire_ctx *ctx,
72 bool force);
73void drm_kms_helper_poll_init(struct drm_device *dev);
74void drm_kms_helper_poll_fini(struct drm_device *dev);
75bool drm_helper_hpd_irq_event(struct drm_device *dev);
76void drm_kms_helper_hotplug_event(struct drm_device *dev);
77
78void drm_kms_helper_poll_disable(struct drm_device *dev);
79void drm_kms_helper_poll_enable(struct drm_device *dev);
80
81#endif
82