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 6216b9bbaSThomas Zimmermann #include <drm/drm_modes.h> 7fcd70cd3SDaniel Vetter 8fcd70cd3SDaniel Vetter struct drm_connector; 9216b9bbaSThomas Zimmermann struct drm_crtc; 10fcd70cd3SDaniel Vetter struct drm_device; 11fcd70cd3SDaniel Vetter struct drm_modeset_acquire_ctx; 12fcd70cd3SDaniel Vetter 13fcd70cd3SDaniel Vetter int drm_helper_probe_single_connector_modes(struct drm_connector 14fcd70cd3SDaniel Vetter *connector, uint32_t maxX, 15fcd70cd3SDaniel Vetter uint32_t maxY); 16fcd70cd3SDaniel Vetter int drm_helper_probe_detect(struct drm_connector *connector, 17fcd70cd3SDaniel Vetter struct drm_modeset_acquire_ctx *ctx, 18fcd70cd3SDaniel Vetter bool force); 19fcd70cd3SDaniel Vetter void drm_kms_helper_poll_init(struct drm_device *dev); 20fcd70cd3SDaniel Vetter void drm_kms_helper_poll_fini(struct drm_device *dev); 21fcd70cd3SDaniel Vetter bool drm_helper_hpd_irq_event(struct drm_device *dev); 220464ed1aSMaxime Ripard bool drm_connector_helper_hpd_irq_event(struct drm_connector *connector); 23fcd70cd3SDaniel Vetter void drm_kms_helper_hotplug_event(struct drm_device *dev); 24710074bbSSimon Ser void drm_kms_helper_connector_hotplug_event(struct drm_connector *connector); 25fcd70cd3SDaniel Vetter 26fcd70cd3SDaniel Vetter void drm_kms_helper_poll_disable(struct drm_device *dev); 27fcd70cd3SDaniel Vetter void drm_kms_helper_poll_enable(struct drm_device *dev); 28*a94e7ccfSImre Deak void drm_kms_helper_poll_reschedule(struct drm_device *dev); 29fcd70cd3SDaniel Vetter bool drm_kms_helper_is_poll_worker(void); 30fcd70cd3SDaniel Vetter 31216b9bbaSThomas Zimmermann enum drm_mode_status drm_crtc_helper_mode_valid_fixed(struct drm_crtc *crtc, 32216b9bbaSThomas Zimmermann const struct drm_display_mode *mode, 33216b9bbaSThomas Zimmermann const struct drm_display_mode *fixed_mode); 34216b9bbaSThomas Zimmermann 3516f14564SThomas Zimmermann int drm_connector_helper_get_modes_from_ddc(struct drm_connector *connector); 36d25654b3SThomas Zimmermann int drm_connector_helper_get_modes_fixed(struct drm_connector *connector, 37d25654b3SThomas Zimmermann const struct drm_display_mode *fixed_mode); 38964893d3SJani Nikula int drm_connector_helper_get_modes(struct drm_connector *connector); 391e4a91dbSNoralf Trønnes int drm_connector_helper_tv_get_modes(struct drm_connector *connector); 4016f14564SThomas Zimmermann 41fcd70cd3SDaniel Vetter #endif 42