1 // SPDX-License-Identifier: GPL-2.0 OR MIT 2 3 #ifndef __DRM_PROBE_HELPER_H__ 4 #define __DRM_PROBE_HELPER_H__ 5 6 #include <drm/drm_modes.h> 7 8 struct drm_connector; 9 struct drm_crtc; 10 struct drm_device; 11 struct drm_modeset_acquire_ctx; 12 13 int drm_helper_probe_single_connector_modes(struct drm_connector 14 *connector, uint32_t maxX, 15 uint32_t maxY); 16 int drm_helper_probe_detect(struct drm_connector *connector, 17 struct drm_modeset_acquire_ctx *ctx, 18 bool force); 19 20 int drmm_kms_helper_poll_init(struct drm_device *dev); 21 void drm_kms_helper_poll_init(struct drm_device *dev); 22 void drm_kms_helper_poll_fini(struct drm_device *dev); 23 bool drm_helper_hpd_irq_event(struct drm_device *dev); 24 bool drm_connector_helper_hpd_irq_event(struct drm_connector *connector); 25 void drm_kms_helper_hotplug_event(struct drm_device *dev); 26 void drm_kms_helper_connector_hotplug_event(struct drm_connector *connector); 27 28 void drm_kms_helper_poll_disable(struct drm_device *dev); 29 void drm_kms_helper_poll_enable(struct drm_device *dev); 30 void drm_kms_helper_poll_reschedule(struct drm_device *dev); 31 bool drm_kms_helper_is_poll_worker(void); 32 33 enum drm_mode_status drm_crtc_helper_mode_valid_fixed(struct drm_crtc *crtc, 34 const struct drm_display_mode *mode, 35 const struct drm_display_mode *fixed_mode); 36 37 int drm_connector_helper_get_modes_fixed(struct drm_connector *connector, 38 const struct drm_display_mode *fixed_mode); 39 int drm_connector_helper_get_modes(struct drm_connector *connector); 40 int drm_connector_helper_tv_get_modes(struct drm_connector *connector); 41 42 int drm_connector_helper_detect_from_ddc(struct drm_connector *connector, 43 struct drm_modeset_acquire_ctx *ctx, 44 bool force); 45 46 #endif 47