Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.14 132 lines 3.9 kB view raw
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6#ifndef __INTEL_DP_TUNNEL_H__ 7#define __INTEL_DP_TUNNEL_H__ 8 9#include <linux/errno.h> 10#include <linux/types.h> 11 12struct drm_connector_state; 13struct drm_modeset_acquire_ctx; 14struct intel_atomic_state; 15struct intel_connector; 16struct intel_crtc; 17struct intel_crtc_state; 18struct intel_display; 19struct intel_dp; 20struct intel_encoder; 21struct intel_link_bw_limits; 22 23#if IS_ENABLED(CONFIG_DRM_I915_DP_TUNNEL) && defined(I915) 24 25int intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx); 26void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp); 27void intel_dp_tunnel_destroy(struct intel_dp *intel_dp); 28void intel_dp_tunnel_resume(struct intel_dp *intel_dp, 29 const struct intel_crtc_state *crtc_state, 30 bool dpcd_updated); 31void intel_dp_tunnel_suspend(struct intel_dp *intel_dp); 32 33bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp); 34 35void 36intel_dp_tunnel_atomic_cleanup_inherited_state(struct intel_atomic_state *state); 37 38int intel_dp_tunnel_atomic_compute_stream_bw(struct intel_atomic_state *state, 39 struct intel_dp *intel_dp, 40 const struct intel_connector *connector, 41 struct intel_crtc_state *crtc_state); 42void intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state, 43 struct intel_crtc_state *crtc_state); 44 45int intel_dp_tunnel_atomic_add_state_for_crtc(struct intel_atomic_state *state, 46 struct intel_crtc *crtc); 47int intel_dp_tunnel_atomic_check_link(struct intel_atomic_state *state, 48 struct intel_link_bw_limits *limits); 49int intel_dp_tunnel_atomic_check_state(struct intel_atomic_state *state, 50 struct intel_dp *intel_dp, 51 struct intel_connector *connector); 52 53void intel_dp_tunnel_atomic_alloc_bw(struct intel_atomic_state *state); 54 55int intel_dp_tunnel_mgr_init(struct intel_display *display); 56void intel_dp_tunnel_mgr_cleanup(struct intel_display *display); 57 58#else 59 60static inline int 61intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx) 62{ 63 return -EOPNOTSUPP; 64} 65 66static inline void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp) {} 67static inline void intel_dp_tunnel_destroy(struct intel_dp *intel_dp) {} 68static inline void intel_dp_tunnel_resume(struct intel_dp *intel_dp, 69 const struct intel_crtc_state *crtc_state, 70 bool dpcd_updated) {} 71static inline void intel_dp_tunnel_suspend(struct intel_dp *intel_dp) {} 72 73static inline bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp) 74{ 75 return false; 76} 77 78static inline void 79intel_dp_tunnel_atomic_cleanup_inherited_state(struct intel_atomic_state *state) {} 80 81static inline int 82intel_dp_tunnel_atomic_compute_stream_bw(struct intel_atomic_state *state, 83 struct intel_dp *intel_dp, 84 const struct intel_connector *connector, 85 struct intel_crtc_state *crtc_state) 86{ 87 return 0; 88} 89 90static inline void 91intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state, 92 struct intel_crtc_state *crtc_state) {} 93 94static inline int 95intel_dp_tunnel_atomic_add_state_for_crtc(struct intel_atomic_state *state, 96 struct intel_crtc *crtc) 97{ 98 return 0; 99} 100 101static inline int 102intel_dp_tunnel_atomic_check_link(struct intel_atomic_state *state, 103 struct intel_link_bw_limits *limits) 104{ 105 return 0; 106} 107 108static inline int 109intel_dp_tunnel_atomic_check_state(struct intel_atomic_state *state, 110 struct intel_dp *intel_dp, 111 struct intel_connector *connector) 112{ 113 return 0; 114} 115 116static inline int 117intel_dp_tunnel_atomic_alloc_bw(struct intel_atomic_state *state) 118{ 119 return 0; 120} 121 122static inline int 123intel_dp_tunnel_mgr_init(struct intel_display *display) 124{ 125 return 0; 126} 127 128static inline void intel_dp_tunnel_mgr_cleanup(struct intel_display *display) {} 129 130#endif /* CONFIG_DRM_I915_DP_TUNNEL */ 131 132#endif /* __INTEL_DP_TUNNEL_H__ */