mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-21 04:53:46 -04:00
drm/i915/dp: Add DP tunnel atomic state and check BW limit
Add the atomic state during a modeset required to enable the DP tunnel BW allocation mode on links where such a tunnel was detected. This state applies to an already enabled output, the state added for a newly enabled output will be computed and added/cleared to/from the atomic state in a follow-up patch. v2: - s/old_crtc_state/crtc_state in intel_crtc_duplicate_state(). - Move intel_dp_tunnel_atomic_cleanup_inherited_state() to a follow-up patch adding the corresponding state. (Ville) - Move intel_dp_tunnel_atomic_clear_stream_bw() to a follow-up patch adding the corresponding state. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240220211841.448846-14-imre.deak@intel.com
This commit is contained in:
@@ -260,6 +260,10 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
|
||||
if (crtc_state->post_csc_lut)
|
||||
drm_property_blob_get(crtc_state->post_csc_lut);
|
||||
|
||||
if (crtc_state->dp_tunnel_ref.tunnel)
|
||||
drm_dp_tunnel_ref_get(crtc_state->dp_tunnel_ref.tunnel,
|
||||
&crtc_state->dp_tunnel_ref);
|
||||
|
||||
crtc_state->update_pipe = false;
|
||||
crtc_state->update_m_n = false;
|
||||
crtc_state->update_lrr = false;
|
||||
@@ -311,6 +315,8 @@ intel_crtc_destroy_state(struct drm_crtc *crtc,
|
||||
|
||||
__drm_atomic_helper_crtc_destroy_state(&crtc_state->uapi);
|
||||
intel_crtc_free_hw_state(crtc_state);
|
||||
if (crtc_state->dp_tunnel_ref.tunnel)
|
||||
drm_dp_tunnel_ref_put(&crtc_state->dp_tunnel_ref);
|
||||
kfree(crtc_state);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user