mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
c67b06f194
Add a helper to reschedule drm_mode_config::output_poll_work after
polling has been enabled for a connector (and needing a reschedule,
since previously polling was disabled for all connectors and hence
output_poll_work was not running).
This is needed by the next patch fixing HPD polling on i915.
CC: stable@vger.kernel.org # 6.4+
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230822113015.41224-1-imre.deak@intel.com
(cherry picked from commit fe2352fd64
)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
42 lines
1.6 KiB
C
42 lines
1.6 KiB
C
// SPDX-License-Identifier: GPL-2.0 OR MIT
|
|
|
|
#ifndef __DRM_PROBE_HELPER_H__
|
|
#define __DRM_PROBE_HELPER_H__
|
|
|
|
#include <drm/drm_modes.h>
|
|
|
|
struct drm_connector;
|
|
struct drm_crtc;
|
|
struct drm_device;
|
|
struct drm_modeset_acquire_ctx;
|
|
|
|
int drm_helper_probe_single_connector_modes(struct drm_connector
|
|
*connector, uint32_t maxX,
|
|
uint32_t maxY);
|
|
int drm_helper_probe_detect(struct drm_connector *connector,
|
|
struct drm_modeset_acquire_ctx *ctx,
|
|
bool force);
|
|
void drm_kms_helper_poll_init(struct drm_device *dev);
|
|
void drm_kms_helper_poll_fini(struct drm_device *dev);
|
|
bool drm_helper_hpd_irq_event(struct drm_device *dev);
|
|
bool drm_connector_helper_hpd_irq_event(struct drm_connector *connector);
|
|
void drm_kms_helper_hotplug_event(struct drm_device *dev);
|
|
void drm_kms_helper_connector_hotplug_event(struct drm_connector *connector);
|
|
|
|
void drm_kms_helper_poll_disable(struct drm_device *dev);
|
|
void drm_kms_helper_poll_enable(struct drm_device *dev);
|
|
void drm_kms_helper_poll_reschedule(struct drm_device *dev);
|
|
bool drm_kms_helper_is_poll_worker(void);
|
|
|
|
enum drm_mode_status drm_crtc_helper_mode_valid_fixed(struct drm_crtc *crtc,
|
|
const struct drm_display_mode *mode,
|
|
const struct drm_display_mode *fixed_mode);
|
|
|
|
int drm_connector_helper_get_modes_from_ddc(struct drm_connector *connector);
|
|
int drm_connector_helper_get_modes_fixed(struct drm_connector *connector,
|
|
const struct drm_display_mode *fixed_mode);
|
|
int drm_connector_helper_get_modes(struct drm_connector *connector);
|
|
int drm_connector_helper_tv_get_modes(struct drm_connector *connector);
|
|
|
|
#endif
|