2020-08-27 14:16:55 -07:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
/*
|
|
|
|
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _DP_AUX_H_
|
|
|
|
#define _DP_AUX_H_
|
|
|
|
|
2022-04-21 09:31:02 +02:00
|
|
|
#include <drm/display/drm_dp_helper.h>
|
2020-08-27 14:16:55 -07:00
|
|
|
|
2024-10-29 22:28:24 +02:00
|
|
|
int msm_dp_aux_register(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_unregister(struct drm_dp_aux *msm_dp_aux);
|
2025-05-18 14:21:43 +03:00
|
|
|
irqreturn_t msm_dp_aux_isr(struct drm_dp_aux *msm_dp_aux, u32 isr);
|
2024-10-29 22:28:24 +02:00
|
|
|
void msm_dp_aux_enable_xfers(struct drm_dp_aux *msm_dp_aux, bool enabled);
|
|
|
|
void msm_dp_aux_init(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_deinit(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_reconfig(struct drm_dp_aux *msm_dp_aux);
|
2020-08-27 14:16:55 -07:00
|
|
|
|
2025-05-18 14:21:42 +03:00
|
|
|
void msm_dp_aux_hpd_enable(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_hpd_disable(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_hpd_intr_enable(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
void msm_dp_aux_hpd_intr_disable(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
u32 msm_dp_aux_get_hpd_intr_status(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
u32 msm_dp_aux_is_link_connected(struct drm_dp_aux *msm_dp_aux);
|
|
|
|
|
2024-01-26 20:26:34 +02:00
|
|
|
struct phy;
|
2025-05-18 14:21:44 +03:00
|
|
|
struct drm_dp_aux *msm_dp_aux_get(struct device *dev,
|
2024-01-26 20:26:29 +02:00
|
|
|
struct phy *phy,
|
2025-05-18 14:21:44 +03:00
|
|
|
bool is_edp,
|
|
|
|
void __iomem *aux_base);
|
2024-10-29 22:28:24 +02:00
|
|
|
void msm_dp_aux_put(struct drm_dp_aux *aux);
|
2020-08-27 14:16:55 -07:00
|
|
|
|
|
|
|
#endif /*__DP_AUX_H_*/
|