2019-04-29 15:50:11 +03:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Copyright © 2019 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __INTEL_HOTPLUG_H__
|
|
|
|
#define __INTEL_HOTPLUG_H__
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
2025-03-20 16:45:59 +02:00
|
|
|
enum port;
|
2019-04-29 15:50:11 +03:00
|
|
|
struct intel_connector;
|
2020-06-04 21:45:00 +03:00
|
|
|
struct intel_digital_port;
|
2025-03-20 16:45:59 +02:00
|
|
|
struct intel_display;
|
2019-04-29 15:50:11 +03:00
|
|
|
struct intel_encoder;
|
|
|
|
|
2025-03-20 16:45:59 +02:00
|
|
|
void intel_hpd_poll_enable(struct intel_display *display);
|
|
|
|
void intel_hpd_poll_disable(struct intel_display *display);
|
|
|
|
void intel_hpd_poll_fini(struct intel_display *display);
|
2019-07-11 17:53:42 -07:00
|
|
|
enum intel_hotplug_state intel_encoder_hotplug(struct intel_encoder *encoder,
|
2020-03-30 12:54:24 +03:00
|
|
|
struct intel_connector *connector);
|
2025-03-20 16:45:59 +02:00
|
|
|
void intel_hpd_irq_handler(struct intel_display *display,
|
2019-04-29 15:50:11 +03:00
|
|
|
u32 pin_mask, u32 long_mask);
|
2020-06-04 21:45:00 +03:00
|
|
|
void intel_hpd_trigger_irq(struct intel_digital_port *dig_port);
|
2025-03-20 16:45:59 +02:00
|
|
|
void intel_hpd_init(struct intel_display *display);
|
|
|
|
void intel_hpd_init_early(struct intel_display *display);
|
|
|
|
void intel_hpd_cancel_work(struct intel_display *display);
|
2025-02-12 18:36:35 +02:00
|
|
|
enum hpd_pin intel_hpd_pin_default(enum port port);
|
2025-03-05 13:48:19 +02:00
|
|
|
void intel_hpd_block(struct intel_encoder *encoder);
|
|
|
|
void intel_hpd_unblock(struct intel_encoder *encoder);
|
2025-03-04 17:29:17 +02:00
|
|
|
void intel_hpd_clear_and_unblock(struct intel_encoder *encoder);
|
2025-03-20 16:45:59 +02:00
|
|
|
void intel_hpd_debugfs_register(struct intel_display *display);
|
2019-04-29 15:50:11 +03:00
|
|
|
|
2025-03-20 16:45:59 +02:00
|
|
|
void intel_hpd_enable_detection_work(struct intel_display *display);
|
|
|
|
void intel_hpd_disable_detection_work(struct intel_display *display);
|
|
|
|
bool intel_hpd_schedule_detection(struct intel_display *display);
|
2024-01-04 10:30:04 +02:00
|
|
|
|
2019-04-29 15:50:11 +03:00
|
|
|
#endif /* __INTEL_HOTPLUG_H__ */
|