brintos

brintos / linux-shallow public Read only

0
0
Text · 3.8 KiB · a0c00b7 Raw
133 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2023 Intel Corporation4 */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 defined(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 35void36intel_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#else59 60static inline int61intel_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 void79intel_dp_tunnel_atomic_cleanup_inherited_state(struct intel_atomic_state *state) {}80 81static inline int82intel_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 void91intel_dp_tunnel_atomic_clear_stream_bw(struct intel_atomic_state *state,92				       struct intel_crtc_state *crtc_state) {}93 94static inline int95intel_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 int102intel_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 int109intel_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 int117intel_dp_tunnel_atomic_alloc_bw(struct intel_atomic_state *state)118{119	return 0;120}121 122static inline int123intel_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__ */133