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 13struct msm_dp { 14 struct drm_device *drm_dev; 15 struct device *codec_dev; 16 struct drm_bridge *bridge; 17 struct drm_connector *connector; 18 struct drm_bridge *next_bridge; 19 bool is_connected; 20 bool audio_enabled; 21 bool power_on; 22 unsigned int connector_type; 23 bool is_edp; 24 bool internal_hpd; 25 26 hdmi_codec_plugged_cb plugged_cb; 27 28 bool wide_bus_en; 29 30 u32 max_dp_lanes; 31 struct dp_audio *dp_audio; 32 bool psr_supported; 33}; 34 35int dp_display_set_plugged_cb(struct msm_dp *dp_display, 36 hdmi_codec_plugged_cb fn, struct device *codec_dev); 37int dp_display_get_modes(struct msm_dp *dp_display); 38int dp_display_request_irq(struct msm_dp *dp_display); 39bool dp_display_check_video_test(struct msm_dp *dp_display); 40int dp_display_get_test_bpp(struct msm_dp *dp_display); 41void dp_display_signal_audio_start(struct msm_dp *dp_display); 42void dp_display_signal_audio_complete(struct msm_dp *dp_display); 43void dp_display_set_psr(struct msm_dp *dp, bool enter); 44 45#endif /* _DP_DISPLAY_H_ */ 46