1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. */ #ifndef _DP_DISPLAY_H_ #define _DP_DISPLAY_H_ #include "dp_panel.h" #include "disp/msm_disp_snapshot.h" #define DP_MAX_PIXEL_CLK_KHZ 675000 struct msm_dp { struct drm_device *drm_dev; struct platform_device *pdev; struct drm_connector *connector; struct drm_bridge *next_bridge; struct drm_bridge *bridge; bool audio_enabled; bool power_on; unsigned int connector_type; bool is_edp; struct msm_dp_audio *msm_dp_audio; bool psr_supported; }; int msm_dp_display_get_modes(struct msm_dp *msm_dp_display); bool msm_dp_display_check_video_test(struct msm_dp *msm_dp_display); int msm_dp_display_get_test_bpp(struct msm_dp *msm_dp_display); void msm_dp_display_signal_audio_start(struct msm_dp *msm_dp_display); void msm_dp_display_signal_audio_complete(struct msm_dp *msm_dp_display); void msm_dp_display_set_psr(struct msm_dp *dp, bool enter); void msm_dp_display_debugfs_init(struct msm_dp *msm_dp_display, struct dentry *dentry, bool is_edp); void msm_dp_display_atomic_post_disable(struct msm_dp *dp_display); void msm_dp_display_atomic_disable(struct msm_dp *dp_display); void msm_dp_display_atomic_pre_enable(struct msm_dp *dp_display, struct drm_atomic_commit *state); void msm_dp_display_atomic_enable(struct msm_dp *dp_display, struct drm_atomic_commit *state); enum drm_mode_status msm_dp_display_mode_valid(struct msm_dp *dp, const struct drm_display_info *info, const struct drm_display_mode *mode); #endif /* _DP_DISPLAY_H_ */