1fcd70cd3SDaniel Vetter // SPDX-License-Identifier: GPL-2.0 OR MIT
2fcd70cd3SDaniel Vetter 
3fcd70cd3SDaniel Vetter #ifndef __DRM_PROBE_HELPER_H__
4fcd70cd3SDaniel Vetter #define __DRM_PROBE_HELPER_H__
5fcd70cd3SDaniel Vetter 
6fcd70cd3SDaniel Vetter #include <linux/types.h>
7fcd70cd3SDaniel Vetter 
8fcd70cd3SDaniel Vetter struct drm_connector;
9fcd70cd3SDaniel Vetter struct drm_device;
10fcd70cd3SDaniel Vetter struct drm_modeset_acquire_ctx;
11fcd70cd3SDaniel Vetter 
12fcd70cd3SDaniel Vetter int drm_helper_probe_single_connector_modes(struct drm_connector
13fcd70cd3SDaniel Vetter 					    *connector, uint32_t maxX,
14fcd70cd3SDaniel Vetter 					    uint32_t maxY);
15fcd70cd3SDaniel Vetter int drm_helper_probe_detect(struct drm_connector *connector,
16fcd70cd3SDaniel Vetter 			    struct drm_modeset_acquire_ctx *ctx,
17fcd70cd3SDaniel Vetter 			    bool force);
18fcd70cd3SDaniel Vetter void drm_kms_helper_poll_init(struct drm_device *dev);
19fcd70cd3SDaniel Vetter void drm_kms_helper_poll_fini(struct drm_device *dev);
20fcd70cd3SDaniel Vetter bool drm_helper_hpd_irq_event(struct drm_device *dev);
21*0464ed1aSMaxime Ripard bool drm_connector_helper_hpd_irq_event(struct drm_connector *connector);
22fcd70cd3SDaniel Vetter void drm_kms_helper_hotplug_event(struct drm_device *dev);
23fcd70cd3SDaniel Vetter 
24fcd70cd3SDaniel Vetter void drm_kms_helper_poll_disable(struct drm_device *dev);
25fcd70cd3SDaniel Vetter void drm_kms_helper_poll_enable(struct drm_device *dev);
26fcd70cd3SDaniel Vetter bool drm_kms_helper_is_poll_worker(void);
27fcd70cd3SDaniel Vetter 
28fcd70cd3SDaniel Vetter #endif
29