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_connector *connector; 20 struct drm_bridge *next_bridge; 21 bool link_ready; 22 bool audio_enabled; 23 bool power_on; 24 unsigned int connector_type; 25 bool is_edp; 26 bool internal_hpd; 27 28 hdmi_codec_plugged_cb plugged_cb; 29 30 struct msm_dp_audio *msm_dp_audio; 31 bool psr_supported; 32 }; 33 34 int msm_dp_display_set_plugged_cb(struct msm_dp *msm_dp_display, 35 hdmi_codec_plugged_cb fn, struct device *codec_dev); 36 int msm_dp_display_get_modes(struct msm_dp *msm_dp_display); 37 bool msm_dp_display_check_video_test(struct msm_dp *msm_dp_display); 38 int msm_dp_display_get_test_bpp(struct msm_dp *msm_dp_display); 39 void msm_dp_display_signal_audio_start(struct msm_dp *msm_dp_display); 40 void msm_dp_display_signal_audio_complete(struct msm_dp *msm_dp_display); 41 void msm_dp_display_set_psr(struct msm_dp *dp, bool enter); 42 void msm_dp_display_debugfs_init(struct msm_dp *msm_dp_display, struct dentry *dentry, bool is_edp); 43 44 #endif /* _DP_DISPLAY_H_ */ 45