1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. |
4 | */ |
5 | |
6 | #ifndef _DP_DISPLAY_H_ |
7 | #define _DP_DISPLAY_H_ |
8 | |
9 | #include "dp_panel.h" |
10 | #include <sound/hdmi-codec.h> |
11 | #include "disp/msm_disp_snapshot.h" |
12 | |
13 | #define DP_MAX_PIXEL_CLK_KHZ 675000 |
14 | |
15 | struct msm_dp { |
16 | struct drm_device *drm_dev; |
17 | struct platform_device *pdev; |
18 | struct device *codec_dev; |
19 | struct drm_bridge *bridge; |
20 | struct drm_connector *connector; |
21 | struct drm_bridge *next_bridge; |
22 | bool link_ready; |
23 | bool audio_enabled; |
24 | bool power_on; |
25 | unsigned int connector_type; |
26 | bool is_edp; |
27 | bool internal_hpd; |
28 | |
29 | hdmi_codec_plugged_cb plugged_cb; |
30 | |
31 | bool wide_bus_en; |
32 | |
33 | struct dp_audio *dp_audio; |
34 | bool psr_supported; |
35 | }; |
36 | |
37 | int dp_display_set_plugged_cb(struct msm_dp *dp_display, |
38 | hdmi_codec_plugged_cb fn, struct device *codec_dev); |
39 | int dp_display_get_modes(struct msm_dp *dp_display); |
40 | bool dp_display_check_video_test(struct msm_dp *dp_display); |
41 | int dp_display_get_test_bpp(struct msm_dp *dp_display); |
42 | void dp_display_signal_audio_start(struct msm_dp *dp_display); |
43 | void dp_display_signal_audio_complete(struct msm_dp *dp_display); |
44 | void dp_display_set_psr(struct msm_dp *dp, bool enter); |
45 | void dp_display_debugfs_init(struct msm_dp *dp_display, struct dentry *dentry, bool is_edp); |
46 | |
47 | #endif /* _DP_DISPLAY_H_ */ |
48 | |