xref: /linux/drivers/gpu/drm/msm/dp/dp_aux.h (revision 260f6f4fda93c8485c8037865c941b42b9cba5d2)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
4  */
5 
6 #ifndef _DP_AUX_H_
7 #define _DP_AUX_H_
8 
9 #include <drm/display/drm_dp_helper.h>
10 
11 int msm_dp_aux_register(struct drm_dp_aux *msm_dp_aux);
12 void msm_dp_aux_unregister(struct drm_dp_aux *msm_dp_aux);
13 irqreturn_t msm_dp_aux_isr(struct drm_dp_aux *msm_dp_aux, u32 isr);
14 void msm_dp_aux_enable_xfers(struct drm_dp_aux *msm_dp_aux, bool enabled);
15 void msm_dp_aux_init(struct drm_dp_aux *msm_dp_aux);
16 void msm_dp_aux_deinit(struct drm_dp_aux *msm_dp_aux);
17 void msm_dp_aux_reconfig(struct drm_dp_aux *msm_dp_aux);
18 
19 void msm_dp_aux_hpd_enable(struct drm_dp_aux *msm_dp_aux);
20 void msm_dp_aux_hpd_disable(struct drm_dp_aux *msm_dp_aux);
21 void msm_dp_aux_hpd_intr_enable(struct drm_dp_aux *msm_dp_aux);
22 void msm_dp_aux_hpd_intr_disable(struct drm_dp_aux *msm_dp_aux);
23 u32 msm_dp_aux_get_hpd_intr_status(struct drm_dp_aux *msm_dp_aux);
24 u32 msm_dp_aux_is_link_connected(struct drm_dp_aux *msm_dp_aux);
25 
26 struct phy;
27 struct drm_dp_aux *msm_dp_aux_get(struct device *dev,
28 			      struct phy *phy,
29 			      bool is_edp,
30 			      void __iomem *aux_base);
31 void msm_dp_aux_put(struct drm_dp_aux *aux);
32 
33 #endif /*__DP_AUX_H_*/
34